diff -Nru gnome-games-app-3.26.2/aclocal.m4 gnome-games-app-3.28.0/aclocal.m4 --- gnome-games-app-3.26.2/aclocal.m4 2017-11-07 18:59:08.000000000 +0000 +++ gnome-games-app-3.28.0/aclocal.m4 2018-03-12 14:56:35.000000000 +0000 @@ -20,6 +20,9 @@ If you have problems, you may need to regenerate the build system entirely. To do so, use the procedure documented by the package, typically 'autoreconf'.])]) +# Increment this whenever this file is changed. +#serial 1 + dnl GLIB_GSETTINGS dnl Defines GSETTINGS_SCHEMAS_INSTALL which controls whether dnl the schema should be compiled diff -Nru gnome-games-app-3.26.2/configure gnome-games-app-3.28.0/configure --- gnome-games-app-3.26.2/configure 2017-11-07 18:59:09.000000000 +0000 +++ gnome-games-app-3.28.0/configure 2018-03-12 14:56:36.000000000 +0000 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.69 for gnome-games 3.26.2. +# Generated by GNU Autoconf 2.69 for gnome-games 3.28.0. # # # Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc. @@ -615,8 +615,8 @@ # Identity of this package. PACKAGE_NAME='gnome-games' PACKAGE_TARNAME='gnome-games' -PACKAGE_VERSION='3.26.2' -PACKAGE_STRING='gnome-games 3.26.2' +PACKAGE_VERSION='3.28.0' +PACKAGE_STRING='gnome-games 3.28.0' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -660,14 +660,6 @@ am__EXEEXT_TRUE LTLIBOBJS LIBOBJS -ENABLE_UDEV_FALSE -ENABLE_UDEV_TRUE -UDEV_LIBS -UDEV_CFLAGS -ENABLE_GAMEPADS_FALSE -ENABLE_GAMEPADS_TRUE -GAMEPADS_LIBS -GAMEPADS_CFLAGS GNOME_GAMES_LIBS GNOME_GAMES_CFLAGS ENABLE_WII_PLUGIN_FALSE @@ -753,6 +745,8 @@ build_cpu build LIBTOOL +RETRO_GTK_MIN_VERSION +MANETTE_MIN_VERSION GLIB_MIN_VERSION GSETTINGS_RULES GLIB_COMPILE_SCHEMAS @@ -936,11 +930,7 @@ WII_PLUGIN_CFLAGS WII_PLUGIN_LIBS GNOME_GAMES_CFLAGS -GNOME_GAMES_LIBS -GAMEPADS_CFLAGS -GAMEPADS_LIBS -UDEV_CFLAGS -UDEV_LIBS' +GNOME_GAMES_LIBS' # Initialize some variables set by options. @@ -1481,7 +1471,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures gnome-games 3.26.2 to adapt to many kinds of systems. +\`configure' configures gnome-games 3.28.0 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1551,7 +1541,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of gnome-games 3.26.2:";; + short | recursive ) echo "Configuration of gnome-games 3.28.0:";; esac cat <<\_ACEOF @@ -1659,12 +1649,6 @@ C compiler flags for GNOME_GAMES, overriding pkg-config GNOME_GAMES_LIBS linker flags for GNOME_GAMES, overriding pkg-config - GAMEPADS_CFLAGS - C compiler flags for GAMEPADS, overriding pkg-config - GAMEPADS_LIBS - linker flags for GAMEPADS, overriding pkg-config - UDEV_CFLAGS C compiler flags for UDEV, overriding pkg-config - UDEV_LIBS linker flags for UDEV, overriding pkg-config Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. @@ -1732,7 +1716,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -gnome-games configure 3.26.2 +gnome-games configure 3.28.0 generated by GNU Autoconf 2.69 Copyright (C) 2012 Free Software Foundation, Inc. @@ -2010,7 +1994,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by gnome-games $as_me 3.26.2, which was +It was created by gnome-games $as_me 3.28.0, which was generated by GNU Autoconf 2.69. Invocation command line was $ $0 $@ @@ -2817,7 +2801,7 @@ # Define the identity of the package. PACKAGE='gnome-games' - VERSION='3.26.2' + VERSION='3.28.0' cat >>confdefs.h <<_ACEOF @@ -4901,6 +4885,10 @@ GLIB_MIN_VERSION=2.38.0 +MANETTE_MIN_VERSION=0.2.0 +RETRO_GTK_MIN_VERSION=0.13.2 + + case `pwd` in @@ -12989,7 +12977,7 @@ gio-unix-2.0 glib-2.0 >= \$GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 tracker-sparql-2.0 \""; } >&5 ($PKG_CONFIG --exists --print-errors " @@ -12997,7 +12985,7 @@ gio-unix-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 tracker-sparql-2.0 ") 2>&5 ac_status=$? @@ -13008,7 +12996,7 @@ gio-unix-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 tracker-sparql-2.0 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -13027,7 +13015,7 @@ gio-unix-2.0 glib-2.0 >= \$GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 tracker-sparql-2.0 \""; } >&5 ($PKG_CONFIG --exists --print-errors " @@ -13035,7 +13023,7 @@ gio-unix-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 tracker-sparql-2.0 ") 2>&5 ac_status=$? @@ -13046,7 +13034,7 @@ gio-unix-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 tracker-sparql-2.0 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -13074,7 +13062,7 @@ gio-unix-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 tracker-sparql-2.0 " 2>&1` else @@ -13083,7 +13071,7 @@ gio-unix-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 tracker-sparql-2.0 " 2>&1` fi @@ -13128,13 +13116,13 @@ gio-2.0 glib-2.0 >= \$GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 \""; } >&5 ($PKG_CONFIG --exists --print-errors " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 ") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 @@ -13143,7 +13131,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else @@ -13160,13 +13148,13 @@ gio-2.0 glib-2.0 >= \$GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 \""; } >&5 ($PKG_CONFIG --exists --print-errors " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 ") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 @@ -13175,7 +13163,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else @@ -13201,14 +13189,14 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>&1` else DREAMCAST_PLUGIN_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>&1` fi # Put the nasty error message in config.log where it belongs @@ -13252,13 +13240,13 @@ gio-2.0 glib-2.0 >= \$GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 \""; } >&5 ($PKG_CONFIG --exists --print-errors " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 ") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 @@ -13267,7 +13255,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else @@ -13284,13 +13272,13 @@ gio-2.0 glib-2.0 >= \$GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 \""; } >&5 ($PKG_CONFIG --exists --print-errors " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 ") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 @@ -13299,7 +13287,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else @@ -13325,14 +13313,14 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>&1` else GAME_CUBE_PLUGIN_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>&1` fi # Put the nasty error message in config.log where it belongs @@ -13376,13 +13364,13 @@ gio-2.0 glib-2.0 >= \$GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 \""; } >&5 ($PKG_CONFIG --exists --print-errors " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 ") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 @@ -13391,7 +13379,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else @@ -13408,13 +13396,13 @@ gio-2.0 glib-2.0 >= \$GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 \""; } >&5 ($PKG_CONFIG --exists --print-errors " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 ") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 @@ -13423,7 +13411,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else @@ -13449,14 +13437,14 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>&1` else LIBRETRO_PLUGIN_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>&1` fi # Put the nasty error message in config.log where it belongs @@ -13501,14 +13489,14 @@ glib-2.0 >= \$GLIB_MIN_VERSION gtk+-3.0 libarchive - retro-gtk-0.12 + retro-gtk-0.14 \""; } >&5 ($PKG_CONFIG --exists --print-errors " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 libarchive - retro-gtk-0.12 + retro-gtk-0.14 ") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 @@ -13518,7 +13506,7 @@ glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 libarchive - retro-gtk-0.12 + retro-gtk-0.14 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else @@ -13536,14 +13524,14 @@ glib-2.0 >= \$GLIB_MIN_VERSION gtk+-3.0 libarchive - retro-gtk-0.12 + retro-gtk-0.14 \""; } >&5 ($PKG_CONFIG --exists --print-errors " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 libarchive - retro-gtk-0.12 + retro-gtk-0.14 ") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 @@ -13553,7 +13541,7 @@ glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 libarchive - retro-gtk-0.12 + retro-gtk-0.14 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else @@ -13580,7 +13568,7 @@ glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 libarchive - retro-gtk-0.12 + retro-gtk-0.14 " 2>&1` else LOVE_PLUGIN_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " @@ -13588,7 +13576,7 @@ glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 libarchive - retro-gtk-0.12 + retro-gtk-0.14 " 2>&1` fi # Put the nasty error message in config.log where it belongs @@ -13632,13 +13620,13 @@ gio-2.0 glib-2.0 >= \$GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 \""; } >&5 ($PKG_CONFIG --exists --print-errors " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 ") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 @@ -13647,7 +13635,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else @@ -13664,13 +13652,13 @@ gio-2.0 glib-2.0 >= \$GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 \""; } >&5 ($PKG_CONFIG --exists --print-errors " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 ") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 @@ -13679,7 +13667,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else @@ -13705,14 +13693,14 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>&1` else MAME_PLUGIN_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>&1` fi # Put the nasty error message in config.log where it belongs @@ -13756,13 +13744,13 @@ gio-2.0 glib-2.0 >= \$GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 \""; } >&5 ($PKG_CONFIG --exists --print-errors " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 ") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 @@ -13771,7 +13759,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else @@ -13788,13 +13776,13 @@ gio-2.0 glib-2.0 >= \$GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 \""; } >&5 ($PKG_CONFIG --exists --print-errors " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 ") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 @@ -13803,7 +13791,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else @@ -13829,14 +13817,14 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>&1` else NINTENDO_DS_PLUGIN_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>&1` fi # Put the nasty error message in config.log where it belongs @@ -13880,14 +13868,14 @@ gio-2.0 glib-2.0 >= \$GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 tracker-sparql-2.0 \""; } >&5 ($PKG_CONFIG --exists --print-errors " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 tracker-sparql-2.0 ") 2>&5 ac_status=$? @@ -13897,7 +13885,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 tracker-sparql-2.0 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -13915,14 +13903,14 @@ gio-2.0 glib-2.0 >= \$GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 tracker-sparql-2.0 \""; } >&5 ($PKG_CONFIG --exists --print-errors " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 tracker-sparql-2.0 ") 2>&5 ac_status=$? @@ -13932,7 +13920,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 tracker-sparql-2.0 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -13959,7 +13947,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 tracker-sparql-2.0 " 2>&1` else @@ -13967,7 +13955,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 tracker-sparql-2.0 " 2>&1` fi @@ -14012,13 +14000,13 @@ gio-2.0 glib-2.0 >= \$GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 \""; } >&5 ($PKG_CONFIG --exists --print-errors " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 ") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 @@ -14027,7 +14015,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else @@ -14044,13 +14032,13 @@ gio-2.0 glib-2.0 >= \$GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 \""; } >&5 ($PKG_CONFIG --exists --print-errors " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 ") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 @@ -14059,7 +14047,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else @@ -14085,14 +14073,14 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>&1` else SEGA_CD_PLUGIN_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>&1` fi # Put the nasty error message in config.log where it belongs @@ -14136,13 +14124,13 @@ gio-2.0 glib-2.0 >= \$GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 \""; } >&5 ($PKG_CONFIG --exists --print-errors " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 ") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 @@ -14151,7 +14139,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else @@ -14168,13 +14156,13 @@ gio-2.0 glib-2.0 >= \$GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 \""; } >&5 ($PKG_CONFIG --exists --print-errors " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 ") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 @@ -14183,7 +14171,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else @@ -14209,14 +14197,14 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>&1` else SEGA_SATURN_PLUGIN_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>&1` fi # Put the nasty error message in config.log where it belongs @@ -14260,14 +14248,14 @@ gio-2.0 glib-2.0 >= \$GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 tracker-sparql-2.0 \""; } >&5 ($PKG_CONFIG --exists --print-errors " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 tracker-sparql-2.0 ") 2>&5 ac_status=$? @@ -14277,7 +14265,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 tracker-sparql-2.0 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -14295,14 +14283,14 @@ gio-2.0 glib-2.0 >= \$GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 tracker-sparql-2.0 \""; } >&5 ($PKG_CONFIG --exists --print-errors " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 tracker-sparql-2.0 ") 2>&5 ac_status=$? @@ -14312,7 +14300,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 tracker-sparql-2.0 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes @@ -14339,7 +14327,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 tracker-sparql-2.0 " 2>&1` else @@ -14347,7 +14335,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 tracker-sparql-2.0 " 2>&1` fi @@ -14392,13 +14380,13 @@ gio-2.0 glib-2.0 >= \$GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 \""; } >&5 ($PKG_CONFIG --exists --print-errors " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 ") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 @@ -14407,7 +14395,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else @@ -14424,13 +14412,13 @@ gio-2.0 glib-2.0 >= \$GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 \""; } >&5 ($PKG_CONFIG --exists --print-errors " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 ") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 @@ -14439,7 +14427,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else @@ -14465,14 +14453,14 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>&1` else TURBOGRAFX_CD_PLUGIN_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>&1` fi # Put the nasty error message in config.log where it belongs @@ -14516,13 +14504,13 @@ gio-2.0 glib-2.0 >= \$GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 \""; } >&5 ($PKG_CONFIG --exists --print-errors " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 ") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 @@ -14531,7 +14519,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else @@ -14548,13 +14536,13 @@ gio-2.0 glib-2.0 >= \$GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 \""; } >&5 ($PKG_CONFIG --exists --print-errors " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 ") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 @@ -14563,7 +14551,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else @@ -14589,14 +14577,14 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>&1` else WII_PLUGIN_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 " 2>&1` fi # Put the nasty error message in config.log where it belongs @@ -14642,10 +14630,11 @@ glib-2.0 >= \$GLIB_MIN_VERSION grilo-0.3 gtk+-3.0 + manette-0.2 >= \$MANETTE_MIN_VERSION librsvg-2.0 libsoup-2.4 libxml-2.0 - retro-gtk-0.12 + retro-gtk-0.14 >= \$RETRO_GTK_MIN_VERSION sqlite3 tracker-sparql-2.0 \""; } >&5 @@ -14654,10 +14643,11 @@ glib-2.0 >= $GLIB_MIN_VERSION grilo-0.3 gtk+-3.0 + manette-0.2 >= $MANETTE_MIN_VERSION librsvg-2.0 libsoup-2.4 libxml-2.0 - retro-gtk-0.12 + retro-gtk-0.14 >= $RETRO_GTK_MIN_VERSION sqlite3 tracker-sparql-2.0 ") 2>&5 @@ -14669,10 +14659,11 @@ glib-2.0 >= $GLIB_MIN_VERSION grilo-0.3 gtk+-3.0 + manette-0.2 >= $MANETTE_MIN_VERSION librsvg-2.0 libsoup-2.4 libxml-2.0 - retro-gtk-0.12 + retro-gtk-0.14 >= $RETRO_GTK_MIN_VERSION sqlite3 tracker-sparql-2.0 " 2>/dev/null` @@ -14692,10 +14683,11 @@ glib-2.0 >= \$GLIB_MIN_VERSION grilo-0.3 gtk+-3.0 + manette-0.2 >= \$MANETTE_MIN_VERSION librsvg-2.0 libsoup-2.4 libxml-2.0 - retro-gtk-0.12 + retro-gtk-0.14 >= \$RETRO_GTK_MIN_VERSION sqlite3 tracker-sparql-2.0 \""; } >&5 @@ -14704,10 +14696,11 @@ glib-2.0 >= $GLIB_MIN_VERSION grilo-0.3 gtk+-3.0 + manette-0.2 >= $MANETTE_MIN_VERSION librsvg-2.0 libsoup-2.4 libxml-2.0 - retro-gtk-0.12 + retro-gtk-0.14 >= $RETRO_GTK_MIN_VERSION sqlite3 tracker-sparql-2.0 ") 2>&5 @@ -14719,10 +14712,11 @@ glib-2.0 >= $GLIB_MIN_VERSION grilo-0.3 gtk+-3.0 + manette-0.2 >= $MANETTE_MIN_VERSION librsvg-2.0 libsoup-2.4 libxml-2.0 - retro-gtk-0.12 + retro-gtk-0.14 >= $RETRO_GTK_MIN_VERSION sqlite3 tracker-sparql-2.0 " 2>/dev/null` @@ -14751,10 +14745,11 @@ glib-2.0 >= $GLIB_MIN_VERSION grilo-0.3 gtk+-3.0 + manette-0.2 >= $MANETTE_MIN_VERSION librsvg-2.0 libsoup-2.4 libxml-2.0 - retro-gtk-0.12 + retro-gtk-0.14 >= $RETRO_GTK_MIN_VERSION sqlite3 tracker-sparql-2.0 " 2>&1` @@ -14764,10 +14759,11 @@ glib-2.0 >= $GLIB_MIN_VERSION grilo-0.3 gtk+-3.0 + manette-0.2 >= $MANETTE_MIN_VERSION librsvg-2.0 libsoup-2.4 libxml-2.0 - retro-gtk-0.12 + retro-gtk-0.14 >= $RETRO_GTK_MIN_VERSION sqlite3 tracker-sparql-2.0 " 2>&1` @@ -14780,10 +14776,11 @@ glib-2.0 >= $GLIB_MIN_VERSION grilo-0.3 gtk+-3.0 + manette-0.2 >= $MANETTE_MIN_VERSION librsvg-2.0 libsoup-2.4 libxml-2.0 - retro-gtk-0.12 + retro-gtk-0.14 >= $RETRO_GTK_MIN_VERSION sqlite3 tracker-sparql-2.0 ) were not met: @@ -14819,201 +14816,6 @@ fi - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GAMEPADS" >&5 -$as_echo_n "checking for GAMEPADS... " >&6; } - -if test -n "$GAMEPADS_CFLAGS"; then - pkg_cv_GAMEPADS_CFLAGS="$GAMEPADS_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" - libevdev -\""; } >&5 - ($PKG_CONFIG --exists --print-errors " - libevdev -") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_GAMEPADS_CFLAGS=`$PKG_CONFIG --cflags " - libevdev -" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$GAMEPADS_LIBS"; then - pkg_cv_GAMEPADS_LIBS="$GAMEPADS_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" - libevdev -\""; } >&5 - ($PKG_CONFIG --exists --print-errors " - libevdev -") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_GAMEPADS_LIBS=`$PKG_CONFIG --libs " - libevdev -" 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - GAMEPADS_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs " - libevdev -" 2>&1` - else - GAMEPADS_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " - libevdev -" 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$GAMEPADS_PKG_ERRORS" >&5 - - enable_gamepads=no -elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - enable_gamepads=no -else - GAMEPADS_CFLAGS=$pkg_cv_GAMEPADS_CFLAGS - GAMEPADS_LIBS=$pkg_cv_GAMEPADS_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - enable_gamepads=yes -fi - if test x$enable_gamepads != xno; then - ENABLE_GAMEPADS_TRUE= - ENABLE_GAMEPADS_FALSE='#' -else - ENABLE_GAMEPADS_TRUE='#' - ENABLE_GAMEPADS_FALSE= -fi - - -enable_udev=no -if test x$enable_gamepads = xyes ; then - -pkg_failed=no -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for UDEV" >&5 -$as_echo_n "checking for UDEV... " >&6; } - -if test -n "$UDEV_CFLAGS"; then - pkg_cv_UDEV_CFLAGS="$UDEV_CFLAGS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" - gudev-1.0 - \""; } >&5 - ($PKG_CONFIG --exists --print-errors " - gudev-1.0 - ") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_UDEV_CFLAGS=`$PKG_CONFIG --cflags " - gudev-1.0 - " 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi -if test -n "$UDEV_LIBS"; then - pkg_cv_UDEV_LIBS="$UDEV_LIBS" - elif test -n "$PKG_CONFIG"; then - if test -n "$PKG_CONFIG" && \ - { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \" - gudev-1.0 - \""; } >&5 - ($PKG_CONFIG --exists --print-errors " - gudev-1.0 - ") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then - pkg_cv_UDEV_LIBS=`$PKG_CONFIG --libs " - gudev-1.0 - " 2>/dev/null` - test "x$?" != "x0" && pkg_failed=yes -else - pkg_failed=yes -fi - else - pkg_failed=untried -fi - - - -if test $pkg_failed = yes; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - -if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then - _pkg_short_errors_supported=yes -else - _pkg_short_errors_supported=no -fi - if test $_pkg_short_errors_supported = yes; then - UDEV_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs " - gudev-1.0 - " 2>&1` - else - UDEV_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs " - gudev-1.0 - " 2>&1` - fi - # Put the nasty error message in config.log where it belongs - echo "$UDEV_PKG_ERRORS" >&5 - - enable_udev=no -elif test $pkg_failed = untried; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } - enable_udev=no -else - UDEV_CFLAGS=$pkg_cv_UDEV_CFLAGS - UDEV_LIBS=$pkg_cv_UDEV_LIBS - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } - enable_udev=yes -fi -fi - if test x$enable_udev = xyes; then - ENABLE_UDEV_TRUE= - ENABLE_UDEV_FALSE='#' -else - ENABLE_UDEV_TRUE='#' - ENABLE_UDEV_FALSE= -fi - - ac_config_files="$ac_config_files Makefile data/Makefile data/icons/Makefile plugins/Makefile po/Makefile.in src/Makefile" @@ -15234,14 +15036,6 @@ as_fn_error $? "conditional \"ENABLE_WII_PLUGIN\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi -if test -z "${ENABLE_GAMEPADS_TRUE}" && test -z "${ENABLE_GAMEPADS_FALSE}"; then - as_fn_error $? "conditional \"ENABLE_GAMEPADS\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi -if test -z "${ENABLE_UDEV_TRUE}" && test -z "${ENABLE_UDEV_FALSE}"; then - as_fn_error $? "conditional \"ENABLE_UDEV\" was never defined. -Usually this means the macro was only invoked conditionally." "$LINENO" 5 -fi : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 @@ -15607,7 +15401,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by gnome-games $as_me 3.26.2, which was +This file was extended by gnome-games $as_me 3.28.0, which was generated by GNU Autoconf 2.69. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -15664,7 +15458,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -gnome-games config.status 3.26.2 +gnome-games config.status 3.28.0 configured by $0, generated by GNU Autoconf 2.69, with options \\"\$ac_cs_config\\" diff -Nru gnome-games-app-3.26.2/configure.ac gnome-games-app-3.28.0/configure.ac --- gnome-games-app-3.26.2/configure.ac 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/configure.ac 2018-03-12 14:10:38.000000000 +0000 @@ -1,4 +1,4 @@ -AC_INIT([gnome-games], [3.26.2]) +AC_INIT([gnome-games], [3.28.0]) AM_INIT_AUTOMAKE([foreign subdir-objects tar-ustar no-dist-gzip dist-xz]) # i18 support @@ -17,7 +17,11 @@ GLIB_GSETTINGS GLIB_MIN_VERSION=2.38.0 +MANETTE_MIN_VERSION=0.2.0 +RETRO_GTK_MIN_VERSION=0.13.2 AC_SUBST(GLIB_MIN_VERSION) +AC_SUBST(MANETTE_MIN_VERSION) +AC_SUBST(RETRO_GTK_MIN_VERSION) LT_INIT @@ -41,27 +45,15 @@ glib-2.0 >= $GLIB_MIN_VERSION grilo-0.3 gtk+-3.0 + manette-0.2 >= $MANETTE_MIN_VERSION librsvg-2.0 libsoup-2.4 libxml-2.0 - retro-gtk-0.12 + retro-gtk-0.14 >= $RETRO_GTK_MIN_VERSION sqlite3 tracker-sparql-2.0 ]) -PKG_CHECK_MODULES(GAMEPADS, [ - libevdev -], [enable_gamepads=yes], [enable_gamepads=no]) -AM_CONDITIONAL([ENABLE_GAMEPADS], [test x$enable_gamepads != xno]) - -enable_udev=no -if test x$enable_gamepads = xyes ; then - PKG_CHECK_MODULES(UDEV, [ - gudev-1.0 - ], [enable_udev=yes], [enable_udev=no]) -fi -AM_CONDITIONAL([ENABLE_UDEV], [test x$enable_udev = xyes]) - AC_CONFIG_FILES([ Makefile data/Makefile diff -Nru gnome-games-app-3.26.2/data/gamepads/gamecontrollerdb.txt gnome-games-app-3.28.0/data/gamepads/gamecontrollerdb.txt --- gnome-games-app-3.26.2/data/gamepads/gamecontrollerdb.txt 2017-03-22 12:34:17.000000000 +0000 +++ gnome-games-app-3.28.0/data/gamepads/gamecontrollerdb.txt 1970-01-01 00:00:00.000000000 +0000 @@ -1,132 +0,0 @@ -# Source: https://github.com/gabomdq/SDL_GameControllerDB - -# Windows - DINPUT -8f0e1200000000000000504944564944,Acme,platform:Windows,x:b2,a:b0,b:b1,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b5,rightshoulder:b6,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a2, -341a3608000000000000504944564944,Afterglow PS3 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, -ffff0000000000000000504944564944,GameStop Gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Windows, -6d0416c2000000000000504944564944,Generic DirectInput Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, -0d0f6e00000000000000504944564944,HORIPAD 4,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Windows, -6d0419c2000000000000504944564944,Logitech F710 Gamepad,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Windows, -88880803000000000000504944564944,PS3 Controller,a:b2,b:b1,back:b8,dpdown:h0.8,dpleft:h0.4,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b9,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:b7,rightx:a3,righty:a4,start:b11,x:b0,y:b3,platform:Windows, -4c056802000000000000504944564944,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Windows, -25090500000000000000504944564944,PS3 DualShock,a:b2,b:b1,back:b9,dpdown:h0.8,dpleft:h0.4,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b6,leftstick:b10,lefttrigger:b4,leftx:a0,lefty:a1,rightshoulder:b7,rightstick:b11,righttrigger:b5,rightx:a2,righty:a3,start:b8,x:b0,y:b3,platform:Windows, -4c05c405000000000000504944564944,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Windows, -6d0418c2000000000000504944564944,Logitech RumblePad 2 USB,platform:Windows,x:b0,a:b1,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3, -36280100000000000000504944564944,OUYA Controller,platform:Windows,a:b0,b:b3,y:b2,x:b1,start:b14,guide:b15,leftstick:b6,rightstick:b7,leftshoulder:b4,rightshoulder:b5,dpup:b8,dpleft:b10,dpdown:b9,dpright:b11,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:b12,righttrigger:b13, -4f0400b3000000000000504944564944,Thrustmaster Firestorm Dual Power,a:b0,b:b2,y:b3,x:b1,start:b10,guide:b8,back:b9,leftstick:b11,rightstick:b12,leftshoulder:b4,rightshoulder:b6,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b5,righttrigger:b7,platform:Windows, -00f00300000000000000504944564944,RetroUSB.com RetroPad,a:b1,b:b5,x:b0,y:b4,back:b2,start:b3,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,platform:Windows, -00f0f100000000000000504944564944,RetroUSB.com Super RetroPort,a:b1,b:b5,x:b0,y:b4,back:b2,start:b3,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,platform:Windows, -28040140000000000000504944564944,GamePad Pro USB,platform:Windows,a:b1,b:b2,x:b0,y:b3,back:b8,start:b9,leftshoulder:b4,rightshoulder:b5,leftx:a0,lefty:a1,lefttrigger:b6,righttrigger:b7, -ff113133000000000000504944564944,SVEN X-PAD,platform:Windows,a:b2,b:b3,y:b1,x:b0,start:b5,back:b4,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a4,lefttrigger:b8,righttrigger:b9, -8f0e0300000000000000504944564944,Piranha xtreme,platform:Windows,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b4,rightshoulder:b7,righttrigger:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a2, -8f0e0d31000000000000504944564944,Multilaser JS071 USB,platform:Windows,a:b1,b:b2,y:b3,x:b0,start:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7, -10080300000000000000504944564944,PS2 USB,platform:Windows,a:b2,b:b1,y:b0,x:b3,start:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a4,righty:a2,lefttrigger:b4,righttrigger:b5, -79000600000000000000504944564944,G-Shark GS-GP702,a:b2,b:b1,x:b3,y:b0,back:b8,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a4,lefttrigger:b6,righttrigger:b7,platform:Windows, -4b12014d000000000000504944564944,NYKO AIRFLO,a:b0,b:b1,x:b2,y:b3,back:b8,guide:b10,start:b9,leftstick:a0,rightstick:a2,leftshoulder:a3,rightshoulder:b5,dpup:h0.1,dpdown:h0.0,dpleft:h0.8,dpright:h0.2,leftx:h0.6,lefty:h0.12,rightx:h0.9,righty:h0.4,lefttrigger:b6,righttrigger:b7,platform:Windows, -d6206dca000000000000504944564944,PowerA Pro Ex,a:b1,b:b2,x:b0,y:b3,back:b8,guide:b12,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.0,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Windows, -a3060cff000000000000504944564944,Saitek P2500,a:b2,b:b3,y:b1,x:b0,start:b4,guide:b10,back:b5,leftstick:b8,rightstick:b9,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,platform:Windows, -4f0415b3000000000000504944564944,Thrustmaster Dual Analog 3.2,platform:Windows,x:b1,a:b0,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b5,rightshoulder:b6,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3, -6f0e1e01000000000000504944564944,Rock Candy Gamepad for PS3,platform:Windows,a:b1,b:b2,x:b0,y:b3,back:b8,start:b9,guide:b12,leftshoulder:b4,rightshoulder:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2, -83056020000000000000504944564944,iBuffalo USB 2-axis 8-button Gamepad,a:b1,b:b0,y:b2,x:b3,start:b7,back:b6,leftshoulder:b4,rightshoulder:b5,leftx:a0,lefty:a1,platform:Windows, -10080100000000000000504944564944,PS1 USB,platform:Windows,a:b2,b:b1,x:b3,y:b0,back:b8,start:b9,leftshoulder:b6,rightshoulder:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a2,lefttrigger:b4,righttrigger:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2, -49190204000000000000504944564944,Ipega PG-9023,a:b0,b:b1,x:b3,y:b4,back:b10,start:b11,leftstick:b13,rightstick:b14,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:b8,righttrigger:b9,platform:Windows, -4f0423b3000000000000504944564944,Dual Trigger 3-in-1,a:b1,b:b2,x:b0,y:b3,back:b8,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:b6,righttrigger:b7,platform:Windows, -0d0f4900000000000000504944564944,Hatsune Miku Sho Controller,a:b1,b:b2,x:b0,y:b3,back:b8,guide:b12,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Windows, -79004318000000000000504944564944,Mayflash GameCube Controller Adapter,platform:Windows,a:b1,b:b2,x:b0,y:b3,back:b0,start:b9,guide:b0,leftshoulder:b4,rightshoulder:b7,leftstick:b0,rightstick:b0,leftx:a0,lefty:a1,rightx:a5,righty:a2,lefttrigger:a3,righttrigger:a4,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2, -79000018000000000000504944564944,Mayflash WiiU Pro Game Controller Adapter (DInput),a:b1,b:b2,x:b0,y:b3,back:b8,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Windows, -2509e803000000000000504944564944,Mayflash Wii Classic Controller,a:b1,b:b0,x:b3,y:b2,back:b8,guide:b10,start:b9,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:b11,dpdown:b13,dpleft:b12,dpright:b14,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Windows, -300f1001000000000000504944564944,Saitek P480 Rumble Pad,a:b2,b:b3,x:b0,y:b1,back:b8,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b6,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a2,lefttrigger:b5,righttrigger:b7,platform:Windows, - -# OS X -0500000047532047616d657061640000,GameStop Gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Mac OS X, -6d0400000000000016c2000000000000,Logitech F310 Gamepad (DInput),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, -6d0400000000000018c2000000000000,Logitech F510 Gamepad (DInput),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, -6d040000000000001fc2000000000000,Logitech F710 Gamepad (XInput),a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X, -6d0400000000000019c2000000000000,Logitech Wireless Gamepad (DInput),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Mac OS X, -4c050000000000006802000000000000,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Mac OS X, -4c05000000000000c405000000000000,PS4 Controller,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Mac OS X, -5e040000000000008e02000000000000,X360 Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X, -891600000000000000fd000000000000,Razer Onza Tournament,a:b0,b:b1,y:b3,x:b2,start:b8,guide:b10,back:b9,leftstick:b6,rightstick:b7,leftshoulder:b4,rightshoulder:b5,dpup:b11,dpleft:b13,dpdown:b12,dpright:b14,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,platform:Mac OS X, -4f0400000000000000b3000000000000,Thrustmaster Firestorm Dual Power,a:b0,b:b2,y:b3,x:b1,start:b10,guide:b8,back:b9,leftstick:b11,rightstick:,leftshoulder:b4,rightshoulder:b6,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b5,righttrigger:b7,platform:Mac OS X, -8f0e0000000000000300000000000000,Piranha xtreme,platform:Mac OS X,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b4,rightshoulder:b7,righttrigger:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a2, -0d0f0000000000004d00000000000000,HORI Gem Pad 3,platform:Mac OS X,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7, -79000000000000000600000000000000,G-Shark GP-702,a:b2,b:b1,x:b3,y:b0,back:b8,start:b9,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:b6,righttrigger:b7,platform:Mac OS X, -4f0400000000000015b3000000000000,Thrustmaster Dual Analog 3.2,platform:Mac OS X,x:b1,a:b0,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b5,rightshoulder:b6,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3, -AD1B00000000000001F9000000000000,Gamestop BB-070 X360 Controller,a:b0,b:b1,back:b9,dpdown:b12,dpleft:b13,dpright:b14,dpup:b11,guide:b10,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,start:b8,x:b2,y:b3,platform:Mac OS X, -050000005769696d6f74652028303000,Wii Remote,a:b4,b:b5,y:b9,x:b10,start:b6,guide:b8,back:b7,dpup:b2,dpleft:b0,dpdown:b3,dpright:b1,leftx:a0,lefty:a1,lefttrigger:b12,righttrigger:,leftshoulder:b11,platform:Mac OS X, -83050000000000006020000000000000,iBuffalo USB 2-axis 8-button Gamepad,a:b1,b:b0,x:b3,y:b2,back:b6,start:b7,leftshoulder:b4,rightshoulder:b5,leftx:a0,lefty:a1,platform:Mac OS X, -5e04000000000000dd02000000000000,Xbox One Wired Controller,platform:Mac OS X,x:b2,a:b0,b:b1,y:b3,back:b9,guide:b10,start:b8,dpleft:b13,dpdown:b12,dpright:b14,dpup:b11,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b6,rightstick:b7,leftx:a0,lefty:a1,rightx:a3,righty:a4, -050000005769696d6f74652028313800,Wii U Pro Controller,a:b16,b:b15,x:b18,y:b17,back:b7,guide:b8,start:b6,leftstick:b23,rightstick:b24,leftshoulder:b19,rightshoulder:b20,dpup:b11,dpdown:b12,dpleft:b13,dpright:b14,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b21,righttrigger:b22,platform:Mac OS X, -79000000000000000018000000000000,Mayflash WiiU Pro Game Controller Adapter (DInput),a:b4,b:b8,x:b0,y:b12,back:b32,start:b36,leftstick:b40,rightstick:b44,leftshoulder:b16,rightshoulder:b20,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftx:a0,lefty:a4,rightx:a8,righty:a12,lefttrigger:b24,righttrigger:b28,platform:Mac OS X, -2509000000000000e803000000000000,Mayflash Wii Classic Controller,a:b1,b:b0,x:b3,y:b2,back:b8,guide:b10,start:b9,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:b11,dpdown:b13,dpleft:b12,dpright:b14,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Mac OS X, -351200000000000021ab000000000000,SFC30 Joystick,a:b1,b:b0,x:b4,y:b3,back:b10,start:b11,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,platform:Mac OS X, - -# Linux -0500000047532047616d657061640000,GameStop Gamepad,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,platform:Linux, -03000000ba2200002010000001010000,Jess Technology USB Game Controller,a:b2,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b4,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,righttrigger:b7,rightx:a3,righty:a2,start:b9,x:b3,y:b0,platform:Linux, -030000006d04000019c2000010010000,Logitech Cordless RumblePad 2,a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, -030000006d0400001dc2000014400000,Logitech F310 Gamepad (XInput),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, -030000006d0400001ec2000020200000,Logitech F510 Gamepad (XInput),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, -030000006d04000019c2000011010000,Logitech F710 Gamepad (DInput),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b0,y:b3,platform:Linux, -030000006d0400001fc2000005030000,Logitech F710 Gamepad (XInput),a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, -030000004c0500006802000011010000,PS3 Controller,a:b14,b:b13,back:b0,dpdown:b6,dpleft:b7,dpright:b5,dpup:b4,guide:b16,leftshoulder:b10,leftstick:b1,lefttrigger:b8,leftx:a0,lefty:a1,rightshoulder:b11,rightstick:b2,righttrigger:b9,rightx:a2,righty:a3,start:b3,x:b15,y:b12,platform:Linux, -030000004c050000c405000011010000,Sony DualShock 4,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:b6,righttrigger:b7,platform:Linux, -030000006f0e00003001000001010000,EA Sports PS3 Controller,platform:Linux,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7, -03000000de280000ff11000001000000,Valve Streaming Gamepad,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, -030000005e0400008e02000014010000,X360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, -030000005e0400008e02000010010000,X360 Controller,a:b0,b:b1,back:b6,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, -030000005e0400001907000000010000,X360 Wireless Controller,a:b0,b:b1,back:b6,dpdown:b14,dpleft:b11,dpright:b12,dpup:b13,guide:b8,leftshoulder:b4,leftstick:b9,lefttrigger:a2,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b10,righttrigger:a5,rightx:a3,righty:a4,start:b7,x:b2,y:b3,platform:Linux, -03000000100800000100000010010000,Twin USB PS2 Adapter,a:b2,b:b1,y:b0,x:b3,start:b9,guide:,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a2,lefttrigger:b4,righttrigger:b5,platform:Linux, -03000000a306000023f6000011010000,Saitek Cyborg V.1 Game Pad,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a4,lefttrigger:b6,righttrigger:b7,platform:Linux, -030000004f04000020b3000010010000,Thrustmaster 2 in 1 DT,a:b0,b:b2,y:b3,x:b1,start:b9,guide:,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b6,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b5,righttrigger:b7,platform:Linux, -030000004f04000023b3000000010000,Thrustmaster Dual Trigger 3-in-1,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a5, -030000008f0e00000300000010010000,GreenAsia Inc. USB Joystick ,platform:Linux,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b6,lefttrigger:b4,rightshoulder:b7,righttrigger:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a2, -030000008f0e00001200000010010000,GreenAsia Inc. USB Joystick ,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b5,rightshoulder:b6,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a2, -030000005e0400009102000007010000,X360 Wireless Controller,a:b0,b:b1,y:b3,x:b2,start:b7,guide:b8,back:b6,leftstick:b9,rightstick:b10,leftshoulder:b4,rightshoulder:b5,dpup:b13,dpleft:b11,dpdown:b14,dpright:b12,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,platform:Linux, -030000006d04000016c2000010010000,Logitech Logitech Dual Action,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3, -03000000260900008888000000010000,GameCube {WiseGroup USB box},a:b0,b:b2,y:b3,x:b1,start:b7,leftshoulder:,rightshoulder:b6,dpup:h0.1,dpleft:h0.8,rightstick:,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5,platform:Linux, -030000006d04000011c2000010010000,Logitech WingMan Cordless RumblePad,a:b0,b:b1,y:b4,x:b3,start:b8,guide:b5,back:b2,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:b9,righttrigger:b10,platform:Linux, -030000006d04000018c2000010010000,Logitech Logitech RumblePad 2 USB,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3, -05000000d6200000ad0d000001000000,Moga Pro,platform:Linux,a:b0,b:b1,y:b3,x:b2,start:b6,leftstick:b7,rightstick:b8,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a5,righttrigger:a4, -030000004f04000009d0000000010000,Thrustmaster Run N Drive Wireless PS3,platform:Linux,a:b1,b:b2,x:b0,y:b3,start:b9,guide:b12,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7, -030000004f04000008d0000000010000,Thrustmaster Run N Drive Wireless,platform:Linux,a:b1,b:b2,x:b0,y:b3,start:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a5,lefttrigger:b6,righttrigger:b7, -0300000000f000000300000000010000,RetroUSB.com RetroPad,a:b1,b:b5,x:b0,y:b4,back:b2,start:b3,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,platform:Linux, -0300000000f00000f100000000010000,RetroUSB.com Super RetroPort,a:b1,b:b5,x:b0,y:b4,back:b2,start:b3,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1,platform:Linux, -030000006f0e00001f01000000010000,Generic X-Box pad,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4, -03000000280400000140000000010000,Gravis GamePad Pro USB ,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,start:b9,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftx:a0,lefty:a1, -030000005e0400008902000021010000,Microsoft X-Box pad v2 (US),platform:Linux,x:b3,a:b0,b:b1,y:b4,back:b6,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b5,lefttrigger:a2,rightshoulder:b2,righttrigger:a5,leftstick:b8,rightstick:b9,leftx:a0,lefty:a1,rightx:a3,righty:a4, -030000006f0e00001e01000011010000,Rock Candy Gamepad for PS3,platform:Linux,a:b1,b:b2,x:b0,y:b3,back:b8,start:b9,guide:b12,leftshoulder:b4,rightshoulder:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2, -03000000250900000500000000010000,Sony PS2 pad with SmartJoy adapter,platform:Linux,a:b2,b:b1,y:b0,x:b3,start:b8,back:b9,leftstick:b10,rightstick:b11,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b4,righttrigger:b5, -030000008916000000fd000024010000,Razer Onza Tournament,a:b0,b:b1,y:b3,x:b2,start:b7,guide:b8,back:b6,leftstick:b9,rightstick:b10,leftshoulder:b4,rightshoulder:b5,dpup:b13,dpleft:b11,dpdown:b14,dpright:b12,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,platform:Linux, -030000004f04000000b3000010010000,Thrustmaster Firestorm Dual Power,a:b0,b:b2,y:b3,x:b1,start:b10,guide:b8,back:b9,leftstick:b11,rightstick:b12,leftshoulder:b4,rightshoulder:b6,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b5,righttrigger:b7,platform:Linux, -03000000ad1b000001f5000033050000,Hori Pad EX Turbo 2,a:b0,b:b1,y:b3,x:b2,start:b7,guide:b8,back:b6,leftstick:b9,rightstick:b10,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,platform:Linux, -050000004c050000c405000000010000,PS4 Controller (Bluetooth),a:b1,b:b2,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:b12,leftshoulder:b4,leftstick:b10,lefttrigger:a3,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:a4,rightx:a2,righty:a5,start:b9,x:b0,y:b3,platform:Linux, -060000004c0500006802000000010000,PS3 Controller (Bluetooth),a:b14,b:b13,y:b12,x:b15,start:b3,guide:b16,back:b0,leftstick:b1,rightstick:b2,leftshoulder:b10,rightshoulder:b11,dpup:b4,dpleft:b7,dpdown:b6,dpright:b5,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b8,righttrigger:b9,platform:Linux, -050000004c0500006802000000010000,PS3 Controller (Bluetooth),a:b14,b:b13,y:b12,x:b15,start:b3,guide:b16,back:b0,leftstick:b1,rightstick:b2,leftshoulder:b10,rightshoulder:b11,dpup:b4,dpleft:b7,dpdown:b6,dpright:b5,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b8,righttrigger:b9,platform:Linux, -03000000790000000600000010010000,DragonRise Inc. Generic USB Joystick ,platform:Linux,x:b3,a:b2,b:b1,y:b0,back:b8,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a4, -03000000666600000488000000010000,Super Joy Box 5 Pro,platform:Linux,a:b2,b:b1,x:b3,y:b0,back:b9,start:b8,leftshoulder:b6,rightshoulder:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b4,righttrigger:b5,dpup:b12,dpleft:b15,dpdown:b14,dpright:b13, -05000000362800000100000002010000,OUYA Game Controller,a:b0,b:b3,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,guide:b14,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,platform:Linux,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,x:b1,y:b2, -05000000362800000100000003010000,OUYA Game Controller,a:b0,b:b3,dpdown:b9,dpleft:b10,dpright:b11,dpup:b8,guide:b14,leftshoulder:b4,leftstick:b6,lefttrigger:a2,leftx:a0,lefty:a1,platform:Linux,rightshoulder:b5,rightstick:b7,righttrigger:a5,rightx:a3,righty:a4,x:b1,y:b2, -030000008916000001fd000024010000,Razer Onza Classic Edition,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:b11,dpdown:b14,dpright:b12,dpup:b13,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4, -030000005e040000d102000001010000,Microsoft X-Box One pad,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4, -030000005e040000dd02000003020000,Microsoft X-Box One pad v2,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,platform:Linux, -03000000790000001100000010010000,RetroLink Saturn Classic Controller,platform:Linux,x:b3,a:b0,b:b1,y:b4,back:b5,guide:b2,start:b8,leftshoulder:b6,rightshoulder:b7,leftx:a0,lefty:a1, -050000007e0500003003000001000000,Nintendo Wii U Pro Controller,platform:Linux,a:b0,b:b1,x:b3,y:b2,back:b8,start:b9,guide:b10,leftshoulder:b4,rightshoulder:b5,leftstick:b11,rightstick:b12,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,dpup:b13,dpleft:b15,dpdown:b14,dpright:b16, -030000005e0400008e02000004010000,Microsoft X-Box 360 pad,platform:Linux,a:b0,b:b1,x:b2,y:b3,back:b6,start:b7,guide:b8,leftshoulder:b4,rightshoulder:b5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:a2,righttrigger:a5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2, -030000000d0f00002200000011010000,HORI CO. LTD. REAL ARCADE Pro.V3,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,guide:b12,start:b9,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1, -030000000d0f00001000000011010000,HORI CO. LTD. FIGHTING STICK 3,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,guide:b12,start:b9,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7 -03000000f0250000c183000010010000,Goodbetterbest Ltd USB Controller,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,guide:b12,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3, -0000000058626f782047616d65706100,Xbox Gamepad (userspace driver),platform:Linux,a:b0,b:b1,x:b2,y:b3,start:b7,back:b6,guide:b8,dpup:h0.1,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,leftshoulder:b4,rightshoulder:b5,lefttrigger:a5,righttrigger:a4,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a2,righty:a3, -03000000ff1100003133000010010000,PC Game Controller,a:b2,b:b1,y:b0,x:b3,start:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7,platform:Linux, -030000005e0400008e02000020200000,SpeedLink XEOX Pro Analog Gamepad pad,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4, -030000006f0e00001304000000010000,Generic X-Box pad,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:a0,rightstick:a3,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4, -03000000a306000018f5000010010000,Saitek PLC Saitek P3200 Rumble Pad,platform:Linux,x:b0,a:b1,b:b2,y:b3,back:b8,start:b9,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b6,rightshoulder:b5,righttrigger:b7,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a3,righty:a4, -03000000830500006020000010010000,iBuffalo USB 2-axis 8-button Gamepad,a:b1,b:b0,x:b3,y:b2,back:b6,start:b7,leftshoulder:b4,rightshoulder:b5,leftx:a0,lefty:a1,platform:Linux, -03000000c9110000f055000011010000,HJC Game GAMEPAD,leftx:a0,lefty:a1,dpdown:h0.4,rightstick:b11,rightshoulder:b5,rightx:a2,start:b9,righty:a3,dpleft:h0.8,lefttrigger:b6,x:b2,dpup:h0.1,back:b8,leftstick:b10,leftshoulder:b4,y:b3,a:b0,dpright:h0.2,righttrigger:b7,b:b1,platform:Linux, -03000000a30600000c04000011010000,Saitek P2900 Wireless Pad,a:b1,b:b2,y:b3,x:b0,start:b12,guide:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b6,rightshoulder:b7,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a2,lefttrigger:b4,righttrigger:b5,platform:Linux, -03000000341a000005f7000010010000,GameCube {HuiJia USB box},a:b1,b:b2,y:b3,x:b0,start:b9,guide:,back:,leftstick:,rightstick:,leftshoulder:,dpleft:b15,dpdown:b14,dpright:b13,leftx:a0,lefty:a1,rightx:a5,righty:a2,lefttrigger:a3,righttrigger:a4,rightshoulder:b7,dpup:b12,platform:Linux, -030000006e0500000320000010010000,JC-U3613M - DirectInput Mode,platform:Linux,x:b0,a:b2,b:b3,y:b1,back:b10,guide:b12,start:b11,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b8,rightstick:b9,leftx:a0,lefty:a1,rightx:a2,righty:a3, -030000006f0e00004601000001010000,Rock Candy Wired Controller for Xbox One,platform:Linux,a:b0,b:b1,x:b2,y:b3,leftshoulder:b4,rightshoulder:b5,back:b6,start:b7,guide:b8,leftstick:b9,rightstick:b10,lefttrigger:a2,righttrigger:a5,leftx:a0,lefty:a1,rightx:a3,righty:a4, -03000000380700001647000010040000,Mad Catz Wired Xbox 360 Controller,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.0,dpdown:h0.4,dpright:h0.0,dpright:h0.2,dpup:h0.0,dpup:h0.1,leftshoulder:h0.0,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4, -030000006f0e00003901000020060000,Afterglow Wired Controller for Xbox One,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4,platform:Linux, -030000004f04000015b3000010010000,Thrustmaster Dual Analog 4,platform:Linux,a:b0,b:b2,x:b1,y:b3,start:b9,back:b8,leftstick:b10,rightstick:b11,leftshoulder:b4,rightshoulder:b6,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b5,righttrigger:b7, diff -Nru gnome-games-app-3.26.2/data/icons/Makefile.in gnome-games-app-3.28.0/data/icons/Makefile.in --- gnome-games-app-3.26.2/data/icons/Makefile.in 2017-11-07 18:59:09.000000000 +0000 +++ gnome-games-app-3.28.0/data/icons/Makefile.in 2018-03-12 14:56:36.000000000 +0000 @@ -212,8 +212,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -253,6 +251,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -279,6 +278,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -291,8 +291,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ diff -Nru gnome-games-app-3.26.2/data/Makefile.am gnome-games-app-3.28.0/data/Makefile.am --- gnome-games-app-3.26.2/data/Makefile.am 2017-09-21 12:48:06.000000000 +0000 +++ gnome-games-app-3.28.0/data/Makefile.am 2018-01-30 09:48:30.000000000 +0000 @@ -1,6 +1,6 @@ SUBDIRS = icons -appdatadir = $(datadir)/appdata +appdatadir = $(datadir)/metainfo appdata_in_files = org.gnome.Games.appdata.xml.in appdata_DATA = $(appdata_in_files:.appdata.xml.in=.appdata.xml) @INTLTOOL_XML_RULE@ @@ -21,7 +21,6 @@ appdata/games-search.png \ appdata/resume-game.png \ appdata/retro-ingame.png \ - gamepads/gamecontrollerdb.txt \ gamepads/standard-gamepad.svg \ gtk/menus.ui \ gtk-style.css \ diff -Nru gnome-games-app-3.26.2/data/Makefile.in gnome-games-app-3.28.0/data/Makefile.in --- gnome-games-app-3.26.2/data/Makefile.in 2017-11-07 18:59:09.000000000 +0000 +++ gnome-games-app-3.28.0/data/Makefile.in 2018-03-12 14:56:36.000000000 +0000 @@ -251,8 +251,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -292,6 +290,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -318,6 +317,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -330,8 +330,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ @@ -394,7 +392,7 @@ top_builddir = @top_builddir@ top_srcdir = @top_srcdir@ SUBDIRS = icons -appdatadir = $(datadir)/appdata +appdatadir = $(datadir)/metainfo appdata_in_files = org.gnome.Games.appdata.xml.in appdata_DATA = $(appdata_in_files:.appdata.xml.in=.appdata.xml) desktopdir = $(datadir)/applications @@ -409,7 +407,6 @@ appdata/games-search.png \ appdata/resume-game.png \ appdata/retro-ingame.png \ - gamepads/gamecontrollerdb.txt \ gamepads/standard-gamepad.svg \ gtk/menus.ui \ gtk-style.css \ diff -Nru gnome-games-app-3.26.2/data/org.gnome.Games.gresource.xml gnome-games-app-3.28.0/data/org.gnome.Games.gresource.xml --- gnome-games-app-3.26.2/data/org.gnome.Games.gresource.xml 2017-09-21 12:48:06.000000000 +0000 +++ gnome-games-app-3.28.0/data/org.gnome.Games.gresource.xml 2018-01-30 09:48:30.000000000 +0000 @@ -2,7 +2,6 @@ gtk-style.css - gamepads/gamecontrollerdb.txt gamepads/standard-gamepad.svg gtk/menus.ui ui/application-window.ui diff -Nru gnome-games-app-3.26.2/data/org.gnome.Games.gschema.xml gnome-games-app-3.28.0/data/org.gnome.Games.gschema.xml --- gnome-games-app-3.26.2/data/org.gnome.Games.gschema.xml 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/data/org.gnome.Games.gschema.xml 2018-01-30 09:48:30.000000000 +0000 @@ -2,8 +2,9 @@ + - + false Fullscreen @@ -12,7 +13,7 @@ 'smooth' Video filter - Filter for the game video output. Allowed values are: “smooth” (blurry pixels), “sharp” (blocky pixels). + Filter for the game video output. Allowed values are: “smooth” (blurry pixels), “sharp” (blocky pixels), “crt” (CRT emulation). true diff -Nru gnome-games-app-3.26.2/data/ui/application-window.ui gnome-games-app-3.28.0/data/ui/application-window.ui --- gnome-games-app-3.26.2/data/ui/application-window.ui 2017-06-16 05:40:52.000000000 +0000 +++ gnome-games-app-3.28.0/data/ui/application-window.ui 2018-02-10 08:12:24.000000000 +0000 @@ -9,6 +9,7 @@ False + diff -Nru gnome-games-app-3.26.2/data/ui/collection-icon-view.ui gnome-games-app-3.28.0/data/ui/collection-icon-view.ui --- gnome-games-app-3.26.2/data/ui/collection-icon-view.ui 2017-06-16 05:40:52.000000000 +0000 +++ gnome-games-app-3.28.0/data/ui/collection-icon-view.ui 2018-01-30 09:48:30.000000000 +0000 @@ -28,15 +28,15 @@ True True - fill + center start 28 28 21 21 True - 42 - 21 + 14 + 14 none diff -Nru gnome-games-app-3.26.2/data/ui/empty-collection.ui gnome-games-app-3.28.0/data/ui/empty-collection.ui --- gnome-games-app-3.26.2/data/ui/empty-collection.ui 2017-05-07 18:45:03.000000000 +0000 +++ gnome-games-app-3.28.0/data/ui/empty-collection.ui 2018-03-12 14:10:38.000000000 +0000 @@ -58,6 +58,7 @@ Install games or add directories containing games to your search sources. left true + true False diff -Nru gnome-games-app-3.26.2/debian/changelog gnome-games-app-3.28.0/debian/changelog --- gnome-games-app-3.26.2/debian/changelog 2017-11-08 03:14:32.000000000 +0000 +++ gnome-games-app-3.28.0/debian/changelog 2018-03-21 12:31:22.000000000 +0000 @@ -1,3 +1,13 @@ +gnome-games-app (3.28.0-1) unstable; urgency=medium + + * New upstream release + * Update Vcs fields for migration to https://salsa.debian.org/ + * Update Build-Depends per configure.ac: + - Add libmanette-0.2-dev and libretro-gtk-0.14-dev + - Drop libevdev-dev, libgudev-1.0-dev, and libretro-gtk-0.12-dev + + -- Jeremy Bicha Wed, 21 Mar 2018 08:31:22 -0400 + gnome-games-app (3.26.2-1) unstable; urgency=medium * New upstream translations release diff -Nru gnome-games-app-3.26.2/debian/control gnome-games-app-3.28.0/debian/control --- gnome-games-app-3.26.2/debian/control 2017-11-08 03:14:32.000000000 +0000 +++ gnome-games-app-3.28.0/debian/control 2018-03-21 12:31:22.000000000 +0000 @@ -1,5 +1,5 @@ # This file is autogenerated. DO NOT EDIT! -# +# # Modifications should be made to debian/control.in instead. # This file is regenerated automatically in the clean target. Source: gnome-games-app @@ -10,11 +10,10 @@ Build-Depends: debhelper (>= 10), gnome-pkg-tools, intltool, - libevdev-dev, libgrilo-0.3-dev, libgtk-3-dev, - libgudev-1.0-dev, - libretro-gtk-0.12-dev, + libmanette-0.2-dev, + libretro-gtk-0.14-dev, librsvg2-dev, libsoup2.4-dev, libsqlite3-dev, @@ -24,8 +23,8 @@ pkg-config (>= 0.22), valac, Standards-Version: 4.1.1 -Vcs-Git: https://anonscm.debian.org/git/pkg-gnome/gnome-games.git -Vcs-Browser: https://anonscm.debian.org/git/pkg-gnome/gnome-games.git +Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-games +Vcs-Git: https://salsa.debian.org/gnome-team/gnome-games.git Homepage: https://wiki.gnome.org/Apps/Games Package: gnome-games-app diff -Nru gnome-games-app-3.26.2/debian/control.in gnome-games-app-3.28.0/debian/control.in --- gnome-games-app-3.26.2/debian/control.in 2017-11-08 03:14:32.000000000 +0000 +++ gnome-games-app-3.28.0/debian/control.in 2018-03-21 12:31:22.000000000 +0000 @@ -6,11 +6,10 @@ Build-Depends: debhelper (>= 10), gnome-pkg-tools, intltool, - libevdev-dev, libgrilo-0.3-dev, libgtk-3-dev, - libgudev-1.0-dev, - libretro-gtk-0.12-dev, + libmanette-0.2-dev, + libretro-gtk-0.14-dev, librsvg2-dev, libsoup2.4-dev, libsqlite3-dev, @@ -20,8 +19,8 @@ pkg-config (>= 0.22), valac, Standards-Version: 4.1.1 -Vcs-Git: https://anonscm.debian.org/git/pkg-gnome/gnome-games.git -Vcs-Browser: https://anonscm.debian.org/git/pkg-gnome/gnome-games.git +Vcs-Browser: https://salsa.debian.org/gnome-team/gnome-games +Vcs-Git: https://salsa.debian.org/gnome-team/gnome-games.git Homepage: https://wiki.gnome.org/Apps/Games Package: gnome-games-app diff -Nru gnome-games-app-3.26.2/debian/gbp.conf gnome-games-app-3.28.0/debian/gbp.conf --- gnome-games-app-3.26.2/debian/gbp.conf 2017-11-08 03:14:32.000000000 +0000 +++ gnome-games-app-3.28.0/debian/gbp.conf 2018-03-21 12:31:22.000000000 +0000 @@ -1,6 +1,5 @@ [DEFAULT] pristine-tar = True -compression = xz -debian-branch = debian/unstable -upstream-branch = upstream/latest -patch-numbers = False +debian-branch=debian/master +upstream-branch=upstream/latest +upstream-vcs-tag = %(version)s diff -Nru gnome-games-app-3.26.2/debian/rules gnome-games-app-3.28.0/debian/rules --- gnome-games-app-3.26.2/debian/rules 2017-11-08 03:14:32.000000000 +0000 +++ gnome-games-app-3.28.0/debian/rules 2018-03-21 12:31:22.000000000 +0000 @@ -2,7 +2,7 @@ -include /usr/share/gnome-pkg-tools/1/rules/gnome-get-source.mk export DEB_BUILD_MAINT_OPTIONS = hardening=+all -export DEB_LDFLAGS_MAINT_APPEND = -Wl,-O1 -Wl,--as-needed +export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed %: dh $@ --with gnome diff -Nru gnome-games-app-3.26.2/Makefile.in gnome-games-app-3.28.0/Makefile.in --- gnome-games-app-3.26.2/Makefile.in 2017-11-07 18:59:09.000000000 +0000 +++ gnome-games-app-3.28.0/Makefile.in 2018-03-12 14:56:36.000000000 +0000 @@ -242,8 +242,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -283,6 +281,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -309,6 +308,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -321,8 +321,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ diff -Nru gnome-games-app-3.26.2/NEWS gnome-games-app-3.28.0/NEWS --- gnome-games-app-3.26.2/NEWS 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/NEWS 2018-03-12 14:10:38.000000000 +0000 @@ -1,28 +1,81 @@ ============== -Version 3.26.2 +Version 3.28.0 ============== +* Libretro backend: + - Add a CRT video filter. + - Add gamepad rumble support. + - Skip core descriptors with no matching module file. + +* UI: + - Make the collection icon view more compact. + - Exit games with Alt+Left/Right (depending on language) or mouse back button. + - Wrap text of the empty collection pane to allow the window to be smaller. + +* Flatpak: Fix accessing files outside the sandbox. + +* Maintainers: The project moved to GNOME's GitLab. + +* Replace libmanetteBump retro-gtk to 0.14. + * Translation updates: Brazilian Portuguese + Croatian + Czech + French German Hungarian + Indonesian + Italian + Norwegian bokmål + Polish Spanish + Swedish -================ -Version 3.26.1.1 -================ +============== +Version 3.27.2 +============== + +* Replace the custom game controller support by libmanette. The gamepad + configuration storage changed accordingly and previously configured gamepads + have to be configured again. +* Set the Retro.CoreView as the default controllers for the Retro.Core. +* Dependencies: + - Bump retro-gtk to 0.13.2. + - Add libmanette 0.1.2 dependency. + - Drop explicit dependencies on gudev and libevdev, they are indirectly needed + by libmanette. +* Translation updates: + Spanish + +============== +Version 3.27.1 +============== + +* Adapt to API changes in retro-gtk 0.13.1. + +* Properly define the log domains of the plugins. + +* Fix the gettext domain of the gschema. + +* Bump retro-gtk to 0.14. + +* Bugs fixed: + 783036 Many plugins shouldn't use the GamesDesktop log domain + 787729 Add translation context to "Reset" string * Translation updates: Brazilian Portuguese Croatian Czech + German + Hungarian Indonesian Italian Polish Spanish Swedish - ============== Version 3.26.0 ============== diff -Nru gnome-games-app-3.26.2/plugins/desktop/configure.ac gnome-games-app-3.28.0/plugins/desktop/configure.ac --- gnome-games-app-3.26.2/plugins/desktop/configure.ac 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/desktop/configure.ac 2018-01-30 09:48:30.000000000 +0000 @@ -3,7 +3,7 @@ gio-unix-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 tracker-sparql-2.0 ], [enable_desktop_plugin=yes], [enable_desktop_plugin=no]) diff -Nru gnome-games-app-3.26.2/plugins/desktop/data/Makefile.in gnome-games-app-3.28.0/plugins/desktop/data/Makefile.in --- gnome-games-app-3.26.2/plugins/desktop/data/Makefile.in 2017-11-07 18:59:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/desktop/data/Makefile.in 2018-03-12 14:56:37.000000000 +0000 @@ -192,8 +192,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -233,6 +231,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -259,6 +258,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -271,8 +271,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ diff -Nru gnome-games-app-3.26.2/plugins/desktop/Makefile.in gnome-games-app-3.28.0/plugins/desktop/Makefile.in --- gnome-games-app-3.26.2/plugins/desktop/Makefile.in 2017-11-07 18:59:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/desktop/Makefile.in 2018-03-12 14:56:37.000000000 +0000 @@ -221,8 +221,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -262,6 +260,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -288,6 +287,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -300,8 +300,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ diff -Nru gnome-games-app-3.26.2/plugins/desktop/src/desktop-error.c gnome-games-app-3.28.0/plugins/desktop/src/desktop-error.c --- gnome-games-app-3.26.2/plugins/desktop/src/desktop-error.c 2017-11-07 18:57:30.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/desktop/src/desktop-error.c 2018-02-06 22:53:26.000000000 +0000 @@ -1,4 +1,4 @@ -/* desktop-error.c generated by valac 0.38.2, the Vala compiler +/* desktop-error.c generated by valac 0.36.9, the Vala compiler * generated from desktop-error.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/plugins/desktop/src/desktop-icon.c gnome-games-app-3.28.0/plugins/desktop/src/desktop-icon.c --- gnome-games-app-3.26.2/plugins/desktop/src/desktop-icon.c 2017-11-07 18:57:30.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/desktop/src/desktop-icon.c 2018-02-06 22:53:26.000000000 +0000 @@ -1,4 +1,4 @@ -/* desktop-icon.c generated by valac 0.38.2, the Vala compiler +/* desktop-icon.c generated by valac 0.36.9, the Vala compiler * generated from desktop-icon.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -20,11 +20,6 @@ typedef struct _GamesDesktopIcon GamesDesktopIcon; typedef struct _GamesDesktopIconClass GamesDesktopIconClass; typedef struct _GamesDesktopIconPrivate GamesDesktopIconPrivate; -enum { - GAMES_DESKTOP_ICON_DUMMY_PROPERTY, - GAMES_DESKTOP_ICON_LAST_PROPERTY -}; -static GParamSpec* games_desktop_icon_properties[GAMES_DESKTOP_ICON_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) struct _GamesDesktopIcon { @@ -47,6 +42,9 @@ GType games_desktop_icon_get_type (void) G_GNUC_CONST; #define GAMES_DESKTOP_ICON_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_DESKTOP_ICON, GamesDesktopIconPrivate)) +enum { + GAMES_DESKTOP_ICON_0_PROPERTY +}; GamesDesktopIcon* games_desktop_icon_new (GDesktopAppInfo* app_info); GamesDesktopIcon* games_desktop_icon_construct (GType object_type, GDesktopAppInfo* app_info); static GIcon* games_desktop_icon_real_get_icon (GamesIcon* base); diff -Nru gnome-games-app-3.26.2/plugins/desktop/src/desktop-plugin.c gnome-games-app-3.28.0/plugins/desktop/src/desktop-plugin.c --- gnome-games-app-3.26.2/plugins/desktop/src/desktop-plugin.c 2017-11-07 18:57:30.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/desktop/src/desktop-plugin.c 2018-02-06 22:53:26.000000000 +0000 @@ -1,4 +1,4 @@ -/* desktop-plugin.c generated by valac 0.38.2, the Vala compiler +/* desktop-plugin.c generated by valac 0.36.9, the Vala compiler * generated from desktop-plugin.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -24,11 +24,6 @@ typedef struct _GamesDesktopPlugin GamesDesktopPlugin; typedef struct _GamesDesktopPluginClass GamesDesktopPluginClass; typedef struct _GamesDesktopPluginPrivate GamesDesktopPluginPrivate; -enum { - GAMES_DESKTOP_PLUGIN_DUMMY_PROPERTY, - GAMES_DESKTOP_PLUGIN_LAST_PROPERTY -}; -static GParamSpec* games_desktop_plugin_properties[GAMES_DESKTOP_PLUGIN_LAST_PROPERTY]; #define GAMES_TYPE_DESKTOP_TRACKER_URI_QUERY (games_desktop_tracker_uri_query_get_type ()) #define GAMES_DESKTOP_TRACKER_URI_QUERY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_DESKTOP_TRACKER_URI_QUERY, GamesDesktopTrackerUriQuery)) @@ -99,6 +94,9 @@ static GType games_desktop_plugin_type_id = 0; GType games_desktop_plugin_get_type (void) G_GNUC_CONST; +enum { + GAMES_DESKTOP_PLUGIN_0_PROPERTY +}; #define GAMES_DESKTOP_PLUGIN_MIME_TYPE "application/x-desktop" static gchar** games_desktop_plugin_real_get_mime_types (GamesPlugin* base, int* result_length1); static GamesUriSource** games_desktop_plugin_real_get_uri_sources (GamesPlugin* base, int* result_length1); diff -Nru gnome-games-app-3.26.2/plugins/desktop/src/desktop-title.c gnome-games-app-3.28.0/plugins/desktop/src/desktop-title.c --- gnome-games-app-3.26.2/plugins/desktop/src/desktop-title.c 2017-11-07 18:57:30.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/desktop/src/desktop-title.c 2018-02-06 22:53:26.000000000 +0000 @@ -1,4 +1,4 @@ -/* desktop-title.c generated by valac 0.38.2, the Vala compiler +/* desktop-title.c generated by valac 0.36.9, the Vala compiler * generated from desktop-title.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -22,11 +22,6 @@ typedef struct _GamesDesktopTitle GamesDesktopTitle; typedef struct _GamesDesktopTitleClass GamesDesktopTitleClass; typedef struct _GamesDesktopTitlePrivate GamesDesktopTitlePrivate; -enum { - GAMES_DESKTOP_TITLE_DUMMY_PROPERTY, - GAMES_DESKTOP_TITLE_LAST_PROPERTY -}; -static GParamSpec* games_desktop_title_properties[GAMES_DESKTOP_TITLE_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) struct _GamesDesktopTitle { @@ -49,6 +44,9 @@ GType games_desktop_title_get_type (void) G_GNUC_CONST; #define GAMES_DESKTOP_TITLE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_DESKTOP_TITLE, GamesDesktopTitlePrivate)) +enum { + GAMES_DESKTOP_TITLE_0_PROPERTY +}; GamesDesktopTitle* games_desktop_title_new (GDesktopAppInfo* app_info); GamesDesktopTitle* games_desktop_title_construct (GType object_type, GDesktopAppInfo* app_info); static gchar* games_desktop_title_real_get_title (GamesTitle* base, GError** error); diff -Nru gnome-games-app-3.26.2/plugins/desktop/src/desktop-tracker-uri-query.c gnome-games-app-3.28.0/plugins/desktop/src/desktop-tracker-uri-query.c --- gnome-games-app-3.26.2/plugins/desktop/src/desktop-tracker-uri-query.c 2017-11-07 18:57:30.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/desktop/src/desktop-tracker-uri-query.c 2018-02-06 22:53:26.000000000 +0000 @@ -1,4 +1,4 @@ -/* desktop-tracker-uri-query.c generated by valac 0.38.2, the Vala compiler +/* desktop-tracker-uri-query.c generated by valac 0.36.9, the Vala compiler * generated from desktop-tracker-uri-query.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -20,11 +20,6 @@ typedef struct _GamesDesktopTrackerUriQuery GamesDesktopTrackerUriQuery; typedef struct _GamesDesktopTrackerUriQueryClass GamesDesktopTrackerUriQueryClass; typedef struct _GamesDesktopTrackerUriQueryPrivate GamesDesktopTrackerUriQueryPrivate; -enum { - GAMES_DESKTOP_TRACKER_URI_QUERY_DUMMY_PROPERTY, - GAMES_DESKTOP_TRACKER_URI_QUERY_LAST_PROPERTY -}; -static GParamSpec* games_desktop_tracker_uri_query_properties[GAMES_DESKTOP_TRACKER_URI_QUERY_LAST_PROPERTY]; struct _GamesDesktopTrackerUriQuery { GObject parent_instance; @@ -41,6 +36,9 @@ static GType games_desktop_tracker_uri_query_type_id = 0; GType games_desktop_tracker_uri_query_get_type (void) G_GNUC_CONST; +enum { + GAMES_DESKTOP_TRACKER_URI_QUERY_0_PROPERTY +}; static gchar* games_desktop_tracker_uri_query_real_get_query (GamesTrackerUriQuery* base); GamesDesktopTrackerUriQuery* games_desktop_tracker_uri_query_new (void); GamesDesktopTrackerUriQuery* games_desktop_tracker_uri_query_construct (GType object_type); diff -Nru gnome-games-app-3.26.2/plugins/desktop/src/Makefile.am gnome-games-app-3.28.0/plugins/desktop/src/Makefile.am --- gnome-games-app-3.26.2/plugins/desktop/src/Makefile.am 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/desktop/src/Makefile.am 2018-01-30 09:48:30.000000000 +0000 @@ -48,6 +48,7 @@ libgames_desktop_plugin_la_CFLAGS = \ $(DESKTOP_PLUGIN_CFLAGS) \ $(GNOME_GAMES_CFLAGS) \ + -DRETRO_GTK_USE_UNSTABLE_API \ -DG_LOG_DOMAIN=\"GamesDesktop\" \ -DLOCALEDIR=\"$(localedir)\" \ $(NULL) diff -Nru gnome-games-app-3.26.2/plugins/desktop/src/Makefile.in gnome-games-app-3.28.0/plugins/desktop/src/Makefile.in --- gnome-games-app-3.26.2/plugins/desktop/src/Makefile.in 2017-11-07 18:59:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/desktop/src/Makefile.in 2018-03-12 14:56:37.000000000 +0000 @@ -261,8 +261,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -302,6 +300,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -328,6 +327,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -340,8 +340,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ @@ -442,6 +440,7 @@ libgames_desktop_plugin_la_CFLAGS = \ $(DESKTOP_PLUGIN_CFLAGS) \ $(GNOME_GAMES_CFLAGS) \ + -DRETRO_GTK_USE_UNSTABLE_API \ -DG_LOG_DOMAIN=\"GamesDesktop\" \ -DLOCALEDIR=\"$(localedir)\" \ $(NULL) diff -Nru gnome-games-app-3.26.2/plugins/dreamcast/configure.ac gnome-games-app-3.28.0/plugins/dreamcast/configure.ac --- gnome-games-app-3.26.2/plugins/dreamcast/configure.ac 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/dreamcast/configure.ac 2018-01-30 09:48:30.000000000 +0000 @@ -2,7 +2,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 ], [enable_dreamcast_plugin=yes], [enable_dreamcast_plugin=no]) AM_CONDITIONAL(ENABLE_DREAMCAST_PLUGIN, test x$enable_dreamcast_plugin != xno) diff -Nru gnome-games-app-3.26.2/plugins/dreamcast/data/Makefile.in gnome-games-app-3.28.0/plugins/dreamcast/data/Makefile.in --- gnome-games-app-3.26.2/plugins/dreamcast/data/Makefile.in 2017-11-07 18:59:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/dreamcast/data/Makefile.in 2018-03-12 14:56:37.000000000 +0000 @@ -192,8 +192,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -233,6 +231,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -259,6 +258,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -271,8 +271,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ diff -Nru gnome-games-app-3.26.2/plugins/dreamcast/Makefile.in gnome-games-app-3.28.0/plugins/dreamcast/Makefile.in --- gnome-games-app-3.26.2/plugins/dreamcast/Makefile.in 2017-11-07 18:59:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/dreamcast/Makefile.in 2018-03-12 14:56:37.000000000 +0000 @@ -221,8 +221,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -262,6 +260,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -288,6 +287,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -300,8 +300,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ diff -Nru gnome-games-app-3.26.2/plugins/dreamcast/src/dreamcast-header.c gnome-games-app-3.28.0/plugins/dreamcast/src/dreamcast-header.c --- gnome-games-app-3.26.2/plugins/dreamcast/src/dreamcast-header.c 2017-11-07 18:57:32.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/dreamcast/src/dreamcast-header.c 2018-02-06 22:53:28.000000000 +0000 @@ -1,4 +1,4 @@ -/* dreamcast-header.c generated by valac 0.38.2, the Vala compiler +/* dreamcast-header.c generated by valac 0.36.9, the Vala compiler * generated from dreamcast-header.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -22,11 +22,6 @@ typedef struct _GamesDreamcastHeader GamesDreamcastHeader; typedef struct _GamesDreamcastHeaderClass GamesDreamcastHeaderClass; typedef struct _GamesDreamcastHeaderPrivate GamesDreamcastHeaderPrivate; -enum { - GAMES_DREAMCAST_HEADER_DUMMY_PROPERTY, - GAMES_DREAMCAST_HEADER_LAST_PROPERTY -}; -static GParamSpec* games_dreamcast_header_properties[GAMES_DREAMCAST_HEADER_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_free0(var) ((var == NULL) ? NULL : (var = (g_free (var), NULL))) @@ -54,6 +49,9 @@ GType games_dreamcast_header_get_type (void) G_GNUC_CONST; #define GAMES_DREAMCAST_HEADER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_DREAMCAST_HEADER, GamesDreamcastHeaderPrivate)) +enum { + GAMES_DREAMCAST_HEADER_0_PROPERTY +}; #define GAMES_DREAMCAST_HEADER_HEADER_SIZE ((gsize) 0x100) #define GAMES_DREAMCAST_HEADER_MAGIC_OFFSET ((gsize) 0x0) #define GAMES_DREAMCAST_HEADER_MAGIC_VALUE "SEGA SEGAKATANA" diff -Nru gnome-games-app-3.26.2/plugins/dreamcast/src/dreamcast-plugin.c gnome-games-app-3.28.0/plugins/dreamcast/src/dreamcast-plugin.c --- gnome-games-app-3.26.2/plugins/dreamcast/src/dreamcast-plugin.c 2017-11-07 18:57:32.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/dreamcast/src/dreamcast-plugin.c 2018-02-06 22:53:28.000000000 +0000 @@ -1,4 +1,4 @@ -/* dreamcast-plugin.c generated by valac 0.38.2, the Vala compiler +/* dreamcast-plugin.c generated by valac 0.36.9, the Vala compiler * generated from dreamcast-plugin.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -21,11 +21,6 @@ typedef struct _GamesDreamcastPlugin GamesDreamcastPlugin; typedef struct _GamesDreamcastPluginClass GamesDreamcastPluginClass; typedef struct _GamesDreamcastPluginPrivate GamesDreamcastPluginPrivate; -enum { - GAMES_DREAMCAST_PLUGIN_DUMMY_PROPERTY, - GAMES_DREAMCAST_PLUGIN_LAST_PROPERTY -}; -static GParamSpec* games_dreamcast_plugin_properties[GAMES_DREAMCAST_PLUGIN_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define GAMES_TYPE_DREAMCAST_HEADER (games_dreamcast_header_get_type ()) @@ -63,6 +58,9 @@ static GType games_dreamcast_plugin_type_id = 0; GType games_dreamcast_plugin_get_type (void) G_GNUC_CONST; +enum { + GAMES_DREAMCAST_PLUGIN_0_PROPERTY +}; #define GAMES_DREAMCAST_PLUGIN_MIME_TYPE "application/x-dc-rom" #define GAMES_DREAMCAST_PLUGIN_PLATFORM "Dreamcast" static gchar** games_dreamcast_plugin_real_get_mime_types (GamesPlugin* base, int* result_length1); diff -Nru gnome-games-app-3.26.2/plugins/dreamcast/src/dreamcast-uid.c gnome-games-app-3.28.0/plugins/dreamcast/src/dreamcast-uid.c --- gnome-games-app-3.26.2/plugins/dreamcast/src/dreamcast-uid.c 2017-11-07 18:57:32.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/dreamcast/src/dreamcast-uid.c 2018-02-06 22:53:28.000000000 +0000 @@ -1,4 +1,4 @@ -/* dreamcast-uid.c generated by valac 0.38.2, the Vala compiler +/* dreamcast-uid.c generated by valac 0.36.9, the Vala compiler * generated from dreamcast-uid.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -30,11 +30,6 @@ typedef struct _GamesDreamcastHeader GamesDreamcastHeader; typedef struct _GamesDreamcastHeaderClass GamesDreamcastHeaderClass; -enum { - GAMES_DREAMCAST_UID_DUMMY_PROPERTY, - GAMES_DREAMCAST_UID_LAST_PROPERTY -}; -static GParamSpec* games_dreamcast_uid_properties[GAMES_DREAMCAST_UID_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) @@ -60,6 +55,9 @@ GType games_dreamcast_uid_get_type (void) G_GNUC_CONST; GType games_dreamcast_header_get_type (void) G_GNUC_CONST; #define GAMES_DREAMCAST_UID_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_DREAMCAST_UID, GamesDreamcastUidPrivate)) +enum { + GAMES_DREAMCAST_UID_0_PROPERTY +}; GamesDreamcastUid* games_dreamcast_uid_new (GamesDreamcastHeader* header); GamesDreamcastUid* games_dreamcast_uid_construct (GType object_type, GamesDreamcastHeader* header); static gchar* games_dreamcast_uid_real_get_uid (GamesUid* base, GError** error); diff -Nru gnome-games-app-3.26.2/plugins/dreamcast/src/Makefile.am gnome-games-app-3.28.0/plugins/dreamcast/src/Makefile.am --- gnome-games-app-3.26.2/plugins/dreamcast/src/Makefile.am 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/dreamcast/src/Makefile.am 2018-01-30 09:48:30.000000000 +0000 @@ -20,7 +20,8 @@ libgames_dreamcast_plugin_la_CFLAGS = \ $(DREAMCAST_PLUGIN_CFLAGS) \ $(GNOME_GAMES_CFLAGS) \ - -DG_LOG_DOMAIN=\"GamesDesktop\" \ + -DRETRO_GTK_USE_UNSTABLE_API \ + -DG_LOG_DOMAIN=\"GamesDreamcast\" \ -DLOCALEDIR=\"$(localedir)\" \ $(NULL) diff -Nru gnome-games-app-3.26.2/plugins/dreamcast/src/Makefile.in gnome-games-app-3.28.0/plugins/dreamcast/src/Makefile.in --- gnome-games-app-3.26.2/plugins/dreamcast/src/Makefile.in 2017-11-07 18:59:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/dreamcast/src/Makefile.in 2018-03-12 14:56:37.000000000 +0000 @@ -257,8 +257,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -298,6 +296,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -324,6 +323,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -336,8 +336,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ @@ -420,7 +418,8 @@ libgames_dreamcast_plugin_la_CFLAGS = \ $(DREAMCAST_PLUGIN_CFLAGS) \ $(GNOME_GAMES_CFLAGS) \ - -DG_LOG_DOMAIN=\"GamesDesktop\" \ + -DRETRO_GTK_USE_UNSTABLE_API \ + -DG_LOG_DOMAIN=\"GamesDreamcast\" \ -DLOCALEDIR=\"$(localedir)\" \ $(NULL) diff -Nru gnome-games-app-3.26.2/plugins/game-cube/configure.ac gnome-games-app-3.28.0/plugins/game-cube/configure.ac --- gnome-games-app-3.26.2/plugins/game-cube/configure.ac 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/game-cube/configure.ac 2018-01-30 09:48:30.000000000 +0000 @@ -2,7 +2,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 ], [enable_game_cube_plugin=yes], [enable_game_cube_plugin=no]) AM_CONDITIONAL(ENABLE_GAME_CUBE_PLUGIN, test x$enable_game_cube_plugin != xno) diff -Nru gnome-games-app-3.26.2/plugins/game-cube/data/Makefile.in gnome-games-app-3.28.0/plugins/game-cube/data/Makefile.in --- gnome-games-app-3.26.2/plugins/game-cube/data/Makefile.in 2017-11-07 18:59:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/game-cube/data/Makefile.in 2018-03-12 14:56:37.000000000 +0000 @@ -192,8 +192,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -233,6 +231,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -259,6 +258,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -271,8 +271,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ diff -Nru gnome-games-app-3.26.2/plugins/game-cube/Makefile.in gnome-games-app-3.28.0/plugins/game-cube/Makefile.in --- gnome-games-app-3.26.2/plugins/game-cube/Makefile.in 2017-11-07 18:59:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/game-cube/Makefile.in 2018-03-12 14:56:37.000000000 +0000 @@ -221,8 +221,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -262,6 +260,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -288,6 +287,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -300,8 +300,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ diff -Nru gnome-games-app-3.26.2/plugins/game-cube/src/game-cube-header.c gnome-games-app-3.28.0/plugins/game-cube/src/game-cube-header.c --- gnome-games-app-3.26.2/plugins/game-cube/src/game-cube-header.c 2017-11-07 18:57:33.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/game-cube/src/game-cube-header.c 2018-02-06 22:53:30.000000000 +0000 @@ -1,4 +1,4 @@ -/* game-cube-header.c generated by valac 0.38.2, the Vala compiler +/* game-cube-header.c generated by valac 0.36.9, the Vala compiler * generated from game-cube-header.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -23,11 +23,6 @@ typedef struct _GamesGameCubeHeader GamesGameCubeHeader; typedef struct _GamesGameCubeHeaderClass GamesGameCubeHeaderClass; typedef struct _GamesGameCubeHeaderPrivate GamesGameCubeHeaderPrivate; -enum { - GAMES_GAME_CUBE_HEADER_DUMMY_PROPERTY, - GAMES_GAME_CUBE_HEADER_LAST_PROPERTY -}; -static GParamSpec* games_game_cube_header_properties[GAMES_GAME_CUBE_HEADER_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) @@ -54,6 +49,9 @@ GType games_game_cube_header_get_type (void) G_GNUC_CONST; #define GAMES_GAME_CUBE_HEADER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_GAME_CUBE_HEADER, GamesGameCubeHeaderPrivate)) +enum { + GAMES_GAME_CUBE_HEADER_0_PROPERTY +}; #define GAMES_GAME_CUBE_HEADER_MAGIC_OFFSET ((gsize) 0x1c) #define GAMES_GAME_CUBE_HEADER_MAGIC_VALUE "\xc2\x33\x9f\x3d" #define GAMES_GAME_CUBE_HEADER_ID_OFFSET ((gsize) 0) diff -Nru gnome-games-app-3.26.2/plugins/game-cube/src/game-cube-plugin.c gnome-games-app-3.28.0/plugins/game-cube/src/game-cube-plugin.c --- gnome-games-app-3.26.2/plugins/game-cube/src/game-cube-plugin.c 2017-11-07 18:57:33.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/game-cube/src/game-cube-plugin.c 2018-02-06 22:53:30.000000000 +0000 @@ -1,4 +1,4 @@ -/* game-cube-plugin.c generated by valac 0.38.2, the Vala compiler +/* game-cube-plugin.c generated by valac 0.36.9, the Vala compiler * generated from game-cube-plugin.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -21,11 +21,6 @@ typedef struct _GamesGameCubePlugin GamesGameCubePlugin; typedef struct _GamesGameCubePluginClass GamesGameCubePluginClass; typedef struct _GamesGameCubePluginPrivate GamesGameCubePluginPrivate; -enum { - GAMES_GAME_CUBE_PLUGIN_DUMMY_PROPERTY, - GAMES_GAME_CUBE_PLUGIN_LAST_PROPERTY -}; -static GParamSpec* games_game_cube_plugin_properties[GAMES_GAME_CUBE_PLUGIN_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define GAMES_TYPE_GAME_CUBE_HEADER (games_game_cube_header_get_type ()) @@ -63,6 +58,9 @@ static GType games_game_cube_plugin_type_id = 0; GType games_game_cube_plugin_get_type (void) G_GNUC_CONST; +enum { + GAMES_GAME_CUBE_PLUGIN_0_PROPERTY +}; #define GAMES_GAME_CUBE_PLUGIN_MIME_TYPE "application/x-gamecube-rom" #define GAMES_GAME_CUBE_PLUGIN_PLATFORM "GameCube" static gchar** games_game_cube_plugin_real_get_mime_types (GamesPlugin* base, int* result_length1); diff -Nru gnome-games-app-3.26.2/plugins/game-cube/src/game-cube-uid.c gnome-games-app-3.28.0/plugins/game-cube/src/game-cube-uid.c --- gnome-games-app-3.26.2/plugins/game-cube/src/game-cube-uid.c 2017-11-07 18:57:33.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/game-cube/src/game-cube-uid.c 2018-02-06 22:53:30.000000000 +0000 @@ -1,4 +1,4 @@ -/* game-cube-uid.c generated by valac 0.38.2, the Vala compiler +/* game-cube-uid.c generated by valac 0.36.9, the Vala compiler * generated from game-cube-uid.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -30,11 +30,6 @@ typedef struct _GamesGameCubeHeader GamesGameCubeHeader; typedef struct _GamesGameCubeHeaderClass GamesGameCubeHeaderClass; -enum { - GAMES_GAME_CUBE_UID_DUMMY_PROPERTY, - GAMES_GAME_CUBE_UID_LAST_PROPERTY -}; -static GParamSpec* games_game_cube_uid_properties[GAMES_GAME_CUBE_UID_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) @@ -60,6 +55,9 @@ GType games_game_cube_uid_get_type (void) G_GNUC_CONST; GType games_game_cube_header_get_type (void) G_GNUC_CONST; #define GAMES_GAME_CUBE_UID_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_GAME_CUBE_UID, GamesGameCubeUidPrivate)) +enum { + GAMES_GAME_CUBE_UID_0_PROPERTY +}; GamesGameCubeUid* games_game_cube_uid_new (GamesGameCubeHeader* header); GamesGameCubeUid* games_game_cube_uid_construct (GType object_type, GamesGameCubeHeader* header); static gchar* games_game_cube_uid_real_get_uid (GamesUid* base, GError** error); diff -Nru gnome-games-app-3.26.2/plugins/game-cube/src/Makefile.am gnome-games-app-3.28.0/plugins/game-cube/src/Makefile.am --- gnome-games-app-3.26.2/plugins/game-cube/src/Makefile.am 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/game-cube/src/Makefile.am 2018-01-30 09:48:30.000000000 +0000 @@ -20,7 +20,8 @@ libgames_game_cube_plugin_la_CFLAGS = \ $(GAME_CUBE_PLUGIN_CFLAGS) \ $(GNOME_GAMES_CFLAGS) \ - -DG_LOG_DOMAIN=\"GamesDesktop\" \ + -DRETRO_GTK_USE_UNSTABLE_API \ + -DG_LOG_DOMAIN=\"GamesGameCube\" \ -DLOCALEDIR=\"$(localedir)\" \ $(NULL) diff -Nru gnome-games-app-3.26.2/plugins/game-cube/src/Makefile.in gnome-games-app-3.28.0/plugins/game-cube/src/Makefile.in --- gnome-games-app-3.26.2/plugins/game-cube/src/Makefile.in 2017-11-07 18:59:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/game-cube/src/Makefile.in 2018-03-12 14:56:37.000000000 +0000 @@ -257,8 +257,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -298,6 +296,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -324,6 +323,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -336,8 +336,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ @@ -420,7 +418,8 @@ libgames_game_cube_plugin_la_CFLAGS = \ $(GAME_CUBE_PLUGIN_CFLAGS) \ $(GNOME_GAMES_CFLAGS) \ - -DG_LOG_DOMAIN=\"GamesDesktop\" \ + -DRETRO_GTK_USE_UNSTABLE_API \ + -DG_LOG_DOMAIN=\"GamesGameCube\" \ -DLOCALEDIR=\"$(localedir)\" \ $(NULL) diff -Nru gnome-games-app-3.26.2/plugins/libretro/configure.ac gnome-games-app-3.28.0/plugins/libretro/configure.ac --- gnome-games-app-3.26.2/plugins/libretro/configure.ac 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/libretro/configure.ac 2018-01-30 09:48:30.000000000 +0000 @@ -2,7 +2,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 ], [enable_libretro_plugin=yes], [enable_libretro_plugin=no]) AM_CONDITIONAL(ENABLE_LIBRETRO_PLUGIN, test x$enable_libretro_plugin != xno) diff -Nru gnome-games-app-3.26.2/plugins/libretro/data/Makefile.in gnome-games-app-3.28.0/plugins/libretro/data/Makefile.in --- gnome-games-app-3.26.2/plugins/libretro/data/Makefile.in 2017-11-07 18:59:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/libretro/data/Makefile.in 2018-03-12 14:56:37.000000000 +0000 @@ -192,8 +192,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -233,6 +231,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -259,6 +258,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -271,8 +271,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ diff -Nru gnome-games-app-3.26.2/plugins/libretro/Makefile.in gnome-games-app-3.28.0/plugins/libretro/Makefile.in --- gnome-games-app-3.26.2/plugins/libretro/Makefile.in 2017-11-07 18:59:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/libretro/Makefile.in 2018-03-12 14:56:37.000000000 +0000 @@ -221,8 +221,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -262,6 +260,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -288,6 +287,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -300,8 +300,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ diff -Nru gnome-games-app-3.26.2/plugins/libretro/src/libretro-error.c gnome-games-app-3.28.0/plugins/libretro/src/libretro-error.c --- gnome-games-app-3.26.2/plugins/libretro/src/libretro-error.c 2017-11-07 18:57:35.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/libretro/src/libretro-error.c 2018-02-06 22:53:33.000000000 +0000 @@ -1,4 +1,4 @@ -/* libretro-error.c generated by valac 0.38.2, the Vala compiler +/* libretro-error.c generated by valac 0.36.9, the Vala compiler * generated from libretro-error.vala, do not modify */ /* This file is part of GNOME Games. License: GPLv3*/ diff -Nru gnome-games-app-3.26.2/plugins/libretro/src/libretro-icon.c gnome-games-app-3.28.0/plugins/libretro/src/libretro-icon.c --- gnome-games-app-3.26.2/plugins/libretro/src/libretro-icon.c 2017-11-07 18:57:35.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/libretro/src/libretro-icon.c 2018-02-06 22:53:33.000000000 +0000 @@ -1,4 +1,4 @@ -/* libretro-icon.c generated by valac 0.38.2, the Vala compiler +/* libretro-icon.c generated by valac 0.36.9, the Vala compiler * generated from libretro-icon.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -20,11 +20,6 @@ typedef struct _GamesLibretroIcon GamesLibretroIcon; typedef struct _GamesLibretroIconClass GamesLibretroIconClass; typedef struct _GamesLibretroIconPrivate GamesLibretroIconPrivate; -enum { - GAMES_LIBRETRO_ICON_DUMMY_PROPERTY, - GAMES_LIBRETRO_ICON_LAST_PROPERTY -}; -static GParamSpec* games_libretro_icon_properties[GAMES_LIBRETRO_ICON_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) @@ -48,6 +43,9 @@ GType games_libretro_icon_get_type (void) G_GNUC_CONST; #define GAMES_LIBRETRO_ICON_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_LIBRETRO_ICON, GamesLibretroIconPrivate)) +enum { + GAMES_LIBRETRO_ICON_0_PROPERTY +}; GamesLibretroIcon* games_libretro_icon_new (RetroCoreDescriptor* core_descriptor); GamesLibretroIcon* games_libretro_icon_construct (GType object_type, RetroCoreDescriptor* core_descriptor); static GIcon* games_libretro_icon_real_get_icon (GamesIcon* base); diff -Nru gnome-games-app-3.26.2/plugins/libretro/src/libretro-plugin.c gnome-games-app-3.28.0/plugins/libretro/src/libretro-plugin.c --- gnome-games-app-3.26.2/plugins/libretro/src/libretro-plugin.c 2017-11-07 18:57:35.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/libretro/src/libretro-plugin.c 2018-02-06 22:53:33.000000000 +0000 @@ -1,4 +1,4 @@ -/* libretro-plugin.c generated by valac 0.38.2, the Vala compiler +/* libretro-plugin.c generated by valac 0.36.9, the Vala compiler * generated from libretro-plugin.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -22,11 +22,6 @@ typedef struct _GamesLibretroPlugin GamesLibretroPlugin; typedef struct _GamesLibretroPluginClass GamesLibretroPluginClass; typedef struct _GamesLibretroPluginPrivate GamesLibretroPluginPrivate; -enum { - GAMES_LIBRETRO_PLUGIN_DUMMY_PROPERTY, - GAMES_LIBRETRO_PLUGIN_LAST_PROPERTY -}; -static GParamSpec* games_libretro_plugin_properties[GAMES_LIBRETRO_PLUGIN_LAST_PROPERTY]; #define GAMES_TYPE_LIBRETRO_URI_SOURCE (games_libretro_uri_source_get_type ()) #define GAMES_LIBRETRO_URI_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_LIBRETRO_URI_SOURCE, GamesLibretroUriSource)) @@ -91,6 +86,9 @@ static GType games_libretro_plugin_type_id = 0; GType games_libretro_plugin_get_type (void) G_GNUC_CONST; +enum { + GAMES_LIBRETRO_PLUGIN_0_PROPERTY +}; #define GAMES_LIBRETRO_PLUGIN_LIBRETRO_FILE_SCHEME "libretro+file" static GamesUriSource** games_libretro_plugin_real_get_uri_sources (GamesPlugin* base, int* result_length1); GType games_libretro_uri_source_get_type (void) G_GNUC_CONST; diff -Nru gnome-games-app-3.26.2/plugins/libretro/src/libretro-title.c gnome-games-app-3.28.0/plugins/libretro/src/libretro-title.c --- gnome-games-app-3.26.2/plugins/libretro/src/libretro-title.c 2017-11-07 18:57:35.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/libretro/src/libretro-title.c 2018-02-06 22:53:33.000000000 +0000 @@ -1,4 +1,4 @@ -/* libretro-title.c generated by valac 0.38.2, the Vala compiler +/* libretro-title.c generated by valac 0.36.9, the Vala compiler * generated from libretro-title.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -21,11 +21,6 @@ typedef struct _GamesLibretroTitle GamesLibretroTitle; typedef struct _GamesLibretroTitleClass GamesLibretroTitleClass; typedef struct _GamesLibretroTitlePrivate GamesLibretroTitlePrivate; -enum { - GAMES_LIBRETRO_TITLE_DUMMY_PROPERTY, - GAMES_LIBRETRO_TITLE_LAST_PROPERTY -}; -static GParamSpec* games_libretro_title_properties[GAMES_LIBRETRO_TITLE_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) @@ -49,6 +44,9 @@ GType games_libretro_title_get_type (void) G_GNUC_CONST; #define GAMES_LIBRETRO_TITLE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_LIBRETRO_TITLE, GamesLibretroTitlePrivate)) +enum { + GAMES_LIBRETRO_TITLE_0_PROPERTY +}; GamesLibretroTitle* games_libretro_title_new (RetroCoreDescriptor* core_descriptor); GamesLibretroTitle* games_libretro_title_construct (GType object_type, RetroCoreDescriptor* core_descriptor); static gchar* games_libretro_title_real_get_title (GamesTitle* base, GError** error); diff -Nru gnome-games-app-3.26.2/plugins/libretro/src/libretro-uid.c gnome-games-app-3.28.0/plugins/libretro/src/libretro-uid.c --- gnome-games-app-3.26.2/plugins/libretro/src/libretro-uid.c 2017-11-07 18:57:35.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/libretro/src/libretro-uid.c 2018-02-06 22:53:33.000000000 +0000 @@ -1,4 +1,4 @@ -/* libretro-uid.c generated by valac 0.38.2, the Vala compiler +/* libretro-uid.c generated by valac 0.36.9, the Vala compiler * generated from libretro-uid.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -21,11 +21,6 @@ typedef struct _GamesLibretroUid GamesLibretroUid; typedef struct _GamesLibretroUidClass GamesLibretroUidClass; typedef struct _GamesLibretroUidPrivate GamesLibretroUidPrivate; -enum { - GAMES_LIBRETRO_UID_DUMMY_PROPERTY, - GAMES_LIBRETRO_UID_LAST_PROPERTY -}; -static GParamSpec* games_libretro_uid_properties[GAMES_LIBRETRO_UID_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) @@ -49,6 +44,9 @@ GType games_libretro_uid_get_type (void) G_GNUC_CONST; #define GAMES_LIBRETRO_UID_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_LIBRETRO_UID, GamesLibretroUidPrivate)) +enum { + GAMES_LIBRETRO_UID_0_PROPERTY +}; GamesLibretroUid* games_libretro_uid_new (RetroCoreDescriptor* core_descriptor); GamesLibretroUid* games_libretro_uid_construct (GType object_type, RetroCoreDescriptor* core_descriptor); static gchar* games_libretro_uid_real_get_uid (GamesUid* base, GError** error); diff -Nru gnome-games-app-3.26.2/plugins/libretro/src/libretro-uri-iterator.c gnome-games-app-3.28.0/plugins/libretro/src/libretro-uri-iterator.c --- gnome-games-app-3.26.2/plugins/libretro/src/libretro-uri-iterator.c 2017-11-07 18:57:35.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/libretro/src/libretro-uri-iterator.c 2018-02-06 22:53:33.000000000 +0000 @@ -1,4 +1,4 @@ -/* libretro-uri-iterator.c generated by valac 0.38.2, the Vala compiler +/* libretro-uri-iterator.c generated by valac 0.36.9, the Vala compiler * generated from libretro-uri-iterator.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -21,17 +21,10 @@ typedef struct _GamesLibretroUriIterator GamesLibretroUriIterator; typedef struct _GamesLibretroUriIteratorClass GamesLibretroUriIteratorClass; typedef struct _GamesLibretroUriIteratorPrivate GamesLibretroUriIteratorPrivate; -enum { - GAMES_LIBRETRO_URI_ITERATOR_DUMMY_PROPERTY, - GAMES_LIBRETRO_URI_ITERATOR_LAST_PROPERTY -}; -static GParamSpec* games_libretro_uri_iterator_properties[GAMES_LIBRETRO_URI_ITERATOR_LAST_PROPERTY]; -#define _retro_module_iterator_unref0(var) ((var == NULL) ? NULL : (var = (retro_module_iterator_unref (var), NULL))) -#define _games_uri_unref0(var) ((var == NULL) ? NULL : (var = (games_uri_unref (var), NULL))) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define _games_uri_unref0(var) ((var == NULL) ? NULL : (var = (games_uri_unref (var), NULL))) #define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) -#define _retro_module_query_unref0(var) ((var == NULL) ? NULL : (var = (retro_module_query_unref (var), NULL))) struct _GamesLibretroUriIterator { GObject parent_instance; @@ -54,6 +47,9 @@ GType games_libretro_uri_iterator_get_type (void) G_GNUC_CONST; #define GAMES_LIBRETRO_URI_ITERATOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_LIBRETRO_URI_ITERATOR, GamesLibretroUriIteratorPrivate)) +enum { + GAMES_LIBRETRO_URI_ITERATOR_0_PROPERTY +}; static GamesUri* games_libretro_uri_iterator_real_get (GamesUriIterator* base); static gboolean games_libretro_uri_iterator_real_next (GamesUriIterator* base); GamesLibretroUriIterator* games_libretro_uri_iterator_new (void); @@ -203,11 +199,11 @@ modules = _tmp0_; _tmp1_ = modules; _tmp2_ = retro_module_query_iterator (_tmp1_); - _retro_module_iterator_unref0 (self->priv->iterator); + _g_object_unref0 (self->priv->iterator); self->priv->iterator = _tmp2_; _games_uri_unref0 (self->priv->uri); self->priv->uri = NULL; - _retro_module_query_unref0 (modules); + _g_object_unref0 (modules); return obj; } @@ -235,7 +231,7 @@ static void games_libretro_uri_iterator_finalize (GObject * obj) { GamesLibretroUriIterator * self; self = G_TYPE_CHECK_INSTANCE_CAST (obj, GAMES_TYPE_LIBRETRO_URI_ITERATOR, GamesLibretroUriIterator); - _retro_module_iterator_unref0 (self->priv->iterator); + _g_object_unref0 (self->priv->iterator); _games_uri_unref0 (self->priv->uri); G_OBJECT_CLASS (games_libretro_uri_iterator_parent_class)->finalize (obj); } diff -Nru gnome-games-app-3.26.2/plugins/libretro/src/libretro-uri-source.c gnome-games-app-3.28.0/plugins/libretro/src/libretro-uri-source.c --- gnome-games-app-3.26.2/plugins/libretro/src/libretro-uri-source.c 2017-11-07 18:57:35.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/libretro/src/libretro-uri-source.c 2018-02-06 22:53:33.000000000 +0000 @@ -1,4 +1,4 @@ -/* libretro-uri-source.c generated by valac 0.38.2, the Vala compiler +/* libretro-uri-source.c generated by valac 0.36.9, the Vala compiler * generated from libretro-uri-source.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -18,11 +18,6 @@ typedef struct _GamesLibretroUriSource GamesLibretroUriSource; typedef struct _GamesLibretroUriSourceClass GamesLibretroUriSourceClass; typedef struct _GamesLibretroUriSourcePrivate GamesLibretroUriSourcePrivate; -enum { - GAMES_LIBRETRO_URI_SOURCE_DUMMY_PROPERTY, - GAMES_LIBRETRO_URI_SOURCE_LAST_PROPERTY -}; -static GParamSpec* games_libretro_uri_source_properties[GAMES_LIBRETRO_URI_SOURCE_LAST_PROPERTY]; #define GAMES_TYPE_LIBRETRO_URI_ITERATOR (games_libretro_uri_iterator_get_type ()) #define GAMES_LIBRETRO_URI_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_LIBRETRO_URI_ITERATOR, GamesLibretroUriIterator)) @@ -49,6 +44,9 @@ static GType games_libretro_uri_source_type_id = 0; GType games_libretro_uri_source_get_type (void) G_GNUC_CONST; +enum { + GAMES_LIBRETRO_URI_SOURCE_0_PROPERTY +}; static GamesUriIterator* games_libretro_uri_source_real_iterator (GamesUriSource* base); GamesLibretroUriIterator* games_libretro_uri_iterator_new (void); GamesLibretroUriIterator* games_libretro_uri_iterator_construct (GType object_type); diff -Nru gnome-games-app-3.26.2/plugins/libretro/src/Makefile.am gnome-games-app-3.28.0/plugins/libretro/src/Makefile.am --- gnome-games-app-3.26.2/plugins/libretro/src/Makefile.am 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/libretro/src/Makefile.am 2018-01-30 09:48:30.000000000 +0000 @@ -24,6 +24,7 @@ libgames_libretro_plugin_la_CFLAGS = \ $(LIBRETRO_PLUGIN_CFLAGS) \ $(GNOME_GAMES_CFLAGS) \ + -DRETRO_GTK_USE_UNSTABLE_API \ -DG_LOG_DOMAIN=\"GamesLibretro\" \ -DLOCALEDIR=\"$(localedir)\" \ $(NULL) diff -Nru gnome-games-app-3.26.2/plugins/libretro/src/Makefile.in gnome-games-app-3.28.0/plugins/libretro/src/Makefile.in --- gnome-games-app-3.26.2/plugins/libretro/src/Makefile.in 2017-11-07 18:59:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/libretro/src/Makefile.in 2018-03-12 14:56:37.000000000 +0000 @@ -262,8 +262,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -303,6 +301,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -329,6 +328,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -341,8 +341,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ @@ -429,6 +427,7 @@ libgames_libretro_plugin_la_CFLAGS = \ $(LIBRETRO_PLUGIN_CFLAGS) \ $(GNOME_GAMES_CFLAGS) \ + -DRETRO_GTK_USE_UNSTABLE_API \ -DG_LOG_DOMAIN=\"GamesLibretro\" \ -DLOCALEDIR=\"$(localedir)\" \ $(NULL) diff -Nru gnome-games-app-3.26.2/plugins/love/configure.ac gnome-games-app-3.28.0/plugins/love/configure.ac --- gnome-games-app-3.26.2/plugins/love/configure.ac 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/love/configure.ac 2018-01-30 09:48:30.000000000 +0000 @@ -3,7 +3,7 @@ glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 libarchive - retro-gtk-0.12 + retro-gtk-0.14 ], [enable_love_plugin=yes], [enable_love_plugin=no]) AM_CONDITIONAL(ENABLE_LOVE_PLUGIN, test x$enable_love_plugin != xno) diff -Nru gnome-games-app-3.26.2/plugins/love/data/Makefile.in gnome-games-app-3.28.0/plugins/love/data/Makefile.in --- gnome-games-app-3.26.2/plugins/love/data/Makefile.in 2017-11-07 18:59:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/love/data/Makefile.in 2018-03-12 14:56:37.000000000 +0000 @@ -192,8 +192,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -233,6 +231,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -259,6 +258,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -271,8 +271,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ diff -Nru gnome-games-app-3.26.2/plugins/love/Makefile.in gnome-games-app-3.28.0/plugins/love/Makefile.in --- gnome-games-app-3.26.2/plugins/love/Makefile.in 2017-11-07 18:59:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/love/Makefile.in 2018-03-12 14:56:37.000000000 +0000 @@ -221,8 +221,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -262,6 +260,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -288,6 +287,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -300,8 +300,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ diff -Nru gnome-games-app-3.26.2/plugins/love/src/love-error.c gnome-games-app-3.28.0/plugins/love/src/love-error.c --- gnome-games-app-3.26.2/plugins/love/src/love-error.c 2017-11-07 18:57:37.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/love/src/love-error.c 2018-02-06 22:53:36.000000000 +0000 @@ -1,4 +1,4 @@ -/* love-error.c generated by valac 0.38.2, the Vala compiler +/* love-error.c generated by valac 0.36.9, the Vala compiler * generated from love-error.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/plugins/love/src/love-icon.c gnome-games-app-3.28.0/plugins/love/src/love-icon.c --- gnome-games-app-3.26.2/plugins/love/src/love-icon.c 2017-11-07 18:57:37.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/love/src/love-icon.c 2018-02-06 22:53:36.000000000 +0000 @@ -1,4 +1,4 @@ -/* love-icon.c generated by valac 0.38.2, the Vala compiler +/* love-icon.c generated by valac 0.36.9, the Vala compiler * generated from love-icon.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -32,11 +32,6 @@ typedef struct _GamesLovePackage GamesLovePackage; typedef struct _GamesLovePackageClass GamesLovePackageClass; -enum { - GAMES_LOVE_ICON_DUMMY_PROPERTY, - GAMES_LOVE_ICON_LAST_PROPERTY -}; -static GParamSpec* games_love_icon_properties[GAMES_LOVE_ICON_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) #define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) @@ -66,6 +61,9 @@ GType games_love_icon_get_type (void) G_GNUC_CONST; GType games_love_package_get_type (void) G_GNUC_CONST; #define GAMES_LOVE_ICON_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_LOVE_ICON, GamesLoveIconPrivate)) +enum { + GAMES_LOVE_ICON_0_PROPERTY +}; GamesLoveIcon* games_love_icon_new (GamesLovePackage* package); GamesLoveIcon* games_love_icon_construct (GType object_type, GamesLovePackage* package); static GIcon* games_love_icon_real_get_icon (GamesIcon* base); diff -Nru gnome-games-app-3.26.2/plugins/love/src/love-package.c gnome-games-app-3.28.0/plugins/love/src/love-package.c --- gnome-games-app-3.26.2/plugins/love/src/love-package.c 2017-11-07 18:57:37.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/love/src/love-package.c 2018-02-06 22:53:36.000000000 +0000 @@ -1,4 +1,4 @@ -/* love-package.c generated by valac 0.38.2, the Vala compiler +/* love-package.c generated by valac 0.36.9, the Vala compiler * generated from love-package.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -24,11 +24,6 @@ typedef struct _GamesLovePackage GamesLovePackage; typedef struct _GamesLovePackageClass GamesLovePackageClass; typedef struct _GamesLovePackagePrivate GamesLovePackagePrivate; -enum { - GAMES_LOVE_PACKAGE_DUMMY_PROPERTY, - GAMES_LOVE_PACKAGE_LAST_PROPERTY -}; -static GParamSpec* games_love_package_properties[GAMES_LOVE_PACKAGE_LAST_PROPERTY]; #define _games_uri_unref0(var) ((var == NULL) ? NULL : (var = (games_uri_unref (var), NULL))) #define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) @@ -61,6 +56,9 @@ GType games_love_package_get_type (void) G_GNUC_CONST; #define GAMES_LOVE_PACKAGE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_LOVE_PACKAGE, GamesLovePackagePrivate)) +enum { + GAMES_LOVE_PACKAGE_0_PROPERTY +}; #define GAMES_LOVE_PACKAGE_BLOCK_SIZE ((gsize) 4096) GamesLovePackage* games_love_package_new (GamesUri* uri, GError** error); GamesLovePackage* games_love_package_construct (GType object_type, GamesUri* uri, GError** error); diff -Nru gnome-games-app-3.26.2/plugins/love/src/love-plugin.c gnome-games-app-3.28.0/plugins/love/src/love-plugin.c --- gnome-games-app-3.26.2/plugins/love/src/love-plugin.c 2017-11-07 18:57:37.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/love/src/love-plugin.c 2018-02-06 22:53:36.000000000 +0000 @@ -1,4 +1,4 @@ -/* love-plugin.c generated by valac 0.38.2, the Vala compiler +/* love-plugin.c generated by valac 0.36.9, the Vala compiler * generated from love-plugin.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -20,11 +20,6 @@ typedef struct _GamesLovePlugin GamesLovePlugin; typedef struct _GamesLovePluginClass GamesLovePluginClass; typedef struct _GamesLovePluginPrivate GamesLovePluginPrivate; -enum { - GAMES_LOVE_PLUGIN_DUMMY_PROPERTY, - GAMES_LOVE_PLUGIN_LAST_PROPERTY -}; -static GParamSpec* games_love_plugin_properties[GAMES_LOVE_PLUGIN_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define GAMES_TYPE_LOVE_PACKAGE (games_love_package_get_type ()) @@ -72,6 +67,9 @@ static GType games_love_plugin_type_id = 0; GType games_love_plugin_get_type (void) G_GNUC_CONST; +enum { + GAMES_LOVE_PLUGIN_0_PROPERTY +}; #define GAMES_LOVE_PLUGIN_MIME_TYPE "application/x-love-game" static gchar** games_love_plugin_real_get_mime_types (GamesPlugin* base, int* result_length1); static GamesUriGameFactory** games_love_plugin_real_get_uri_game_factories (GamesPlugin* base, int* result_length1); diff -Nru gnome-games-app-3.26.2/plugins/love/src/love-title.c gnome-games-app-3.28.0/plugins/love/src/love-title.c --- gnome-games-app-3.26.2/plugins/love/src/love-title.c 2017-11-07 18:57:37.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/love/src/love-title.c 2018-02-06 22:53:36.000000000 +0000 @@ -1,4 +1,4 @@ -/* love-title.c generated by valac 0.38.2, the Vala compiler +/* love-title.c generated by valac 0.36.9, the Vala compiler * generated from love-title.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -31,11 +31,6 @@ typedef struct _GamesLovePackage GamesLovePackage; typedef struct _GamesLovePackageClass GamesLovePackageClass; -enum { - GAMES_LOVE_TITLE_DUMMY_PROPERTY, - GAMES_LOVE_TITLE_LAST_PROPERTY -}; -static GParamSpec* games_love_title_properties[GAMES_LOVE_TITLE_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) #define _games_uri_unref0(var) ((var == NULL) ? NULL : (var = (games_uri_unref (var), NULL))) @@ -62,6 +57,9 @@ GType games_love_title_get_type (void) G_GNUC_CONST; GType games_love_package_get_type (void) G_GNUC_CONST; #define GAMES_LOVE_TITLE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_LOVE_TITLE, GamesLoveTitlePrivate)) +enum { + GAMES_LOVE_TITLE_0_PROPERTY +}; GamesLoveTitle* games_love_title_new (GamesLovePackage* package); GamesLoveTitle* games_love_title_construct (GType object_type, GamesLovePackage* package); static gchar* games_love_title_real_get_title (GamesTitle* base, GError** error); diff -Nru gnome-games-app-3.26.2/plugins/love/src/Makefile.am gnome-games-app-3.28.0/plugins/love/src/Makefile.am --- gnome-games-app-3.26.2/plugins/love/src/Makefile.am 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/love/src/Makefile.am 2018-01-30 09:48:30.000000000 +0000 @@ -23,7 +23,8 @@ libgames_love_plugin_la_CFLAGS = \ $(LOVE_PLUGIN_CFLAGS) \ $(GNOME_GAMES_CFLAGS) \ - -DG_LOG_DOMAIN=\"GamesDesktop\" \ + -DRETRO_GTK_USE_UNSTABLE_API \ + -DG_LOG_DOMAIN=\"GamesLove\" \ -DLOCALEDIR=\"$(localedir)\" \ $(NULL) diff -Nru gnome-games-app-3.26.2/plugins/love/src/Makefile.in gnome-games-app-3.28.0/plugins/love/src/Makefile.in --- gnome-games-app-3.26.2/plugins/love/src/Makefile.in 2017-11-07 18:59:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/love/src/Makefile.in 2018-03-12 14:56:37.000000000 +0000 @@ -259,8 +259,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -300,6 +298,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -326,6 +325,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -338,8 +338,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ @@ -425,7 +423,8 @@ libgames_love_plugin_la_CFLAGS = \ $(LOVE_PLUGIN_CFLAGS) \ $(GNOME_GAMES_CFLAGS) \ - -DG_LOG_DOMAIN=\"GamesDesktop\" \ + -DRETRO_GTK_USE_UNSTABLE_API \ + -DG_LOG_DOMAIN=\"GamesLove\" \ -DLOCALEDIR=\"$(localedir)\" \ $(NULL) diff -Nru gnome-games-app-3.26.2/plugins/Makefile.in gnome-games-app-3.28.0/plugins/Makefile.in --- gnome-games-app-3.26.2/plugins/Makefile.in 2017-11-07 18:59:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/Makefile.in 2018-03-12 14:56:36.000000000 +0000 @@ -236,8 +236,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -277,6 +275,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -303,6 +302,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -315,8 +315,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ diff -Nru gnome-games-app-3.26.2/plugins/mame/configure.ac gnome-games-app-3.28.0/plugins/mame/configure.ac --- gnome-games-app-3.26.2/plugins/mame/configure.ac 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/mame/configure.ac 2018-01-30 09:48:30.000000000 +0000 @@ -2,7 +2,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 ], [enable_mame_plugin=yes], [enable_mame_plugin=no]) AM_CONDITIONAL(ENABLE_MAME_PLUGIN, test x$enable_mame_plugin != xno) diff -Nru gnome-games-app-3.26.2/plugins/mame/data/Makefile.in gnome-games-app-3.28.0/plugins/mame/data/Makefile.in --- gnome-games-app-3.26.2/plugins/mame/data/Makefile.in 2017-11-07 18:59:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/mame/data/Makefile.in 2018-03-12 14:56:37.000000000 +0000 @@ -192,8 +192,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -233,6 +231,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -259,6 +258,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -271,8 +271,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ diff -Nru gnome-games-app-3.26.2/plugins/mame/Makefile.in gnome-games-app-3.28.0/plugins/mame/Makefile.in --- gnome-games-app-3.26.2/plugins/mame/Makefile.in 2017-11-07 18:59:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/mame/Makefile.in 2018-03-12 14:56:37.000000000 +0000 @@ -221,8 +221,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -262,6 +260,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -288,6 +287,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -300,8 +300,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ diff -Nru gnome-games-app-3.26.2/plugins/mame/src/Makefile.am gnome-games-app-3.28.0/plugins/mame/src/Makefile.am --- gnome-games-app-3.26.2/plugins/mame/src/Makefile.am 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/mame/src/Makefile.am 2018-01-30 09:48:30.000000000 +0000 @@ -46,7 +46,8 @@ libgames_mame_plugin_la_CFLAGS = \ $(MAME_PLUGIN_CFLAGS) \ $(GNOME_GAMES_CFLAGS) \ - -DG_LOG_DOMAIN=\"GamesMame\" \ + -DRETRO_GTK_USE_UNSTABLE_API \ + -DG_LOG_DOMAIN=\"GamesMAME\" \ -DLOCALEDIR=\"$(localedir)\" \ $(NULL) diff -Nru gnome-games-app-3.26.2/plugins/mame/src/Makefile.in gnome-games-app-3.28.0/plugins/mame/src/Makefile.in --- gnome-games-app-3.26.2/plugins/mame/src/Makefile.in 2017-11-07 18:59:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/mame/src/Makefile.in 2018-03-12 14:56:37.000000000 +0000 @@ -259,8 +259,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -300,6 +298,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -326,6 +325,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -338,8 +338,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ @@ -438,7 +436,8 @@ libgames_mame_plugin_la_CFLAGS = \ $(MAME_PLUGIN_CFLAGS) \ $(GNOME_GAMES_CFLAGS) \ - -DG_LOG_DOMAIN=\"GamesMame\" \ + -DRETRO_GTK_USE_UNSTABLE_API \ + -DG_LOG_DOMAIN=\"GamesMAME\" \ -DLOCALEDIR=\"$(localedir)\" \ $(NULL) diff -Nru gnome-games-app-3.26.2/plugins/mame/src/mame-error.c gnome-games-app-3.28.0/plugins/mame/src/mame-error.c --- gnome-games-app-3.26.2/plugins/mame/src/mame-error.c 2017-11-07 18:57:39.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/mame/src/mame-error.c 2018-02-06 22:53:38.000000000 +0000 @@ -1,4 +1,4 @@ -/* mame-error.c generated by valac 0.38.2, the Vala compiler +/* mame-error.c generated by valac 0.36.9, the Vala compiler * generated from mame-error.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/plugins/mame/src/mame-game-info.c gnome-games-app-3.28.0/plugins/mame/src/mame-game-info.c --- gnome-games-app-3.26.2/plugins/mame/src/mame-game-info.c 2017-11-07 18:57:39.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/mame/src/mame-game-info.c 2018-02-06 22:53:38.000000000 +0000 @@ -1,4 +1,4 @@ -/* mame-game-info.c generated by valac 0.38.2, the Vala compiler +/* mame-game-info.c generated by valac 0.36.9, the Vala compiler * generated from mame-game-info.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/plugins/mame/src/mame-game-uri-adapter.c gnome-games-app-3.28.0/plugins/mame/src/mame-game-uri-adapter.c --- gnome-games-app-3.26.2/plugins/mame/src/mame-game-uri-adapter.c 2017-11-07 18:57:39.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/mame/src/mame-game-uri-adapter.c 2018-02-06 22:53:38.000000000 +0000 @@ -1,4 +1,4 @@ -/* mame-game-uri-adapter.c generated by valac 0.38.2, the Vala compiler +/* mame-game-uri-adapter.c generated by valac 0.36.9, the Vala compiler * generated from mame-game-uri-adapter.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -22,11 +22,6 @@ typedef struct _GamesMameGameUriAdapter GamesMameGameUriAdapter; typedef struct _GamesMameGameUriAdapterClass GamesMameGameUriAdapterClass; typedef struct _GamesMameGameUriAdapterPrivate GamesMameGameUriAdapterPrivate; -enum { - GAMES_MAME_GAME_URI_ADAPTER_DUMMY_PROPERTY, - GAMES_MAME_GAME_URI_ADAPTER_LAST_PROPERTY -}; -static GParamSpec* games_mame_game_uri_adapter_properties[GAMES_MAME_GAME_URI_ADAPTER_LAST_PROPERTY]; #define _games_uri_unref0(var) ((var == NULL) ? NULL : (var = (games_uri_unref (var), NULL))) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) @@ -153,6 +148,9 @@ static GType games_mame_game_uri_adapter_type_id = 0; GType games_mame_game_uri_adapter_get_type (void) G_GNUC_CONST; +enum { + GAMES_MAME_GAME_URI_ADAPTER_0_PROPERTY +}; #define GAMES_MAME_GAME_URI_ADAPTER_SEARCHED_MIME_TYPE "application/zip" #define GAMES_MAME_GAME_URI_ADAPTER_SPECIFIC_MIME_TYPE "application/x-mame-rom" #define GAMES_MAME_GAME_URI_ADAPTER_PLATFORM "MAME" diff -Nru gnome-games-app-3.26.2/plugins/mame/src/mame-plugin.c gnome-games-app-3.28.0/plugins/mame/src/mame-plugin.c --- gnome-games-app-3.26.2/plugins/mame/src/mame-plugin.c 2017-11-07 18:57:39.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/mame/src/mame-plugin.c 2018-02-06 22:53:38.000000000 +0000 @@ -1,4 +1,4 @@ -/* mame-plugin.c generated by valac 0.38.2, the Vala compiler +/* mame-plugin.c generated by valac 0.36.9, the Vala compiler * generated from mame-plugin.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -20,11 +20,6 @@ typedef struct _GamesMamePlugin GamesMamePlugin; typedef struct _GamesMamePluginClass GamesMamePluginClass; typedef struct _GamesMamePluginPrivate GamesMamePluginPrivate; -enum { - GAMES_MAME_PLUGIN_DUMMY_PROPERTY, - GAMES_MAME_PLUGIN_LAST_PROPERTY -}; -static GParamSpec* games_mame_plugin_properties[GAMES_MAME_PLUGIN_LAST_PROPERTY]; #define GAMES_TYPE_MAME_GAME_URI_ADAPTER (games_mame_game_uri_adapter_get_type ()) #define GAMES_MAME_GAME_URI_ADAPTER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_MAME_GAME_URI_ADAPTER, GamesMameGameUriAdapter)) @@ -52,6 +47,9 @@ static GType games_mame_plugin_type_id = 0; GType games_mame_plugin_get_type (void) G_GNUC_CONST; +enum { + GAMES_MAME_PLUGIN_0_PROPERTY +}; #define GAMES_MAME_PLUGIN_MIME_TYPE "application/zip" static gchar** games_mame_plugin_real_get_mime_types (GamesPlugin* base, int* result_length1); static GamesUriGameFactory** games_mame_plugin_real_get_uri_game_factories (GamesPlugin* base, int* result_length1); diff -Nru gnome-games-app-3.26.2/plugins/nintendo-ds/configure.ac gnome-games-app-3.28.0/plugins/nintendo-ds/configure.ac --- gnome-games-app-3.26.2/plugins/nintendo-ds/configure.ac 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/nintendo-ds/configure.ac 2018-01-30 09:48:30.000000000 +0000 @@ -2,7 +2,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 ], [enable_nintendo_ds_plugin=yes], [enable_nintendo_ds_plugin=no]) AM_CONDITIONAL(ENABLE_NINTENDO_DS_PLUGIN, test x$enable_nintendo_ds_plugin != xno) diff -Nru gnome-games-app-3.26.2/plugins/nintendo-ds/data/Makefile.in gnome-games-app-3.28.0/plugins/nintendo-ds/data/Makefile.in --- gnome-games-app-3.26.2/plugins/nintendo-ds/data/Makefile.in 2017-11-07 18:59:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/nintendo-ds/data/Makefile.in 2018-03-12 14:56:37.000000000 +0000 @@ -192,8 +192,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -233,6 +231,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -259,6 +258,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -271,8 +271,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ diff -Nru gnome-games-app-3.26.2/plugins/nintendo-ds/Makefile.in gnome-games-app-3.28.0/plugins/nintendo-ds/Makefile.in --- gnome-games-app-3.26.2/plugins/nintendo-ds/Makefile.in 2017-11-07 18:59:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/nintendo-ds/Makefile.in 2018-03-12 14:56:37.000000000 +0000 @@ -221,8 +221,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -262,6 +260,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -288,6 +287,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -300,8 +300,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ diff -Nru gnome-games-app-3.26.2/plugins/nintendo-ds/src/Makefile.am gnome-games-app-3.28.0/plugins/nintendo-ds/src/Makefile.am --- gnome-games-app-3.26.2/plugins/nintendo-ds/src/Makefile.am 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/nintendo-ds/src/Makefile.am 2018-01-30 09:48:30.000000000 +0000 @@ -20,7 +20,8 @@ libgames_nintendo_ds_plugin_la_CFLAGS = \ $(NINTENDO_DS_PLUGIN_CFLAGS) \ $(GNOME_GAMES_CFLAGS) \ - -DG_LOG_DOMAIN=\"GamesDesktop\" \ + -DRETRO_GTK_USE_UNSTABLE_API \ + -DG_LOG_DOMAIN=\"GamesNintendoDS\" \ -DLOCALEDIR=\"$(localedir)\" \ $(NULL) diff -Nru gnome-games-app-3.26.2/plugins/nintendo-ds/src/Makefile.in gnome-games-app-3.28.0/plugins/nintendo-ds/src/Makefile.in --- gnome-games-app-3.26.2/plugins/nintendo-ds/src/Makefile.in 2017-11-07 18:59:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/nintendo-ds/src/Makefile.in 2018-03-12 14:56:37.000000000 +0000 @@ -256,8 +256,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -297,6 +295,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -323,6 +322,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -335,8 +335,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ @@ -419,7 +417,8 @@ libgames_nintendo_ds_plugin_la_CFLAGS = \ $(NINTENDO_DS_PLUGIN_CFLAGS) \ $(GNOME_GAMES_CFLAGS) \ - -DG_LOG_DOMAIN=\"GamesDesktop\" \ + -DRETRO_GTK_USE_UNSTABLE_API \ + -DG_LOG_DOMAIN=\"GamesNintendoDS\" \ -DLOCALEDIR=\"$(localedir)\" \ $(NULL) diff -Nru gnome-games-app-3.26.2/plugins/nintendo-ds/src/nintendo-ds-icon.c gnome-games-app-3.28.0/plugins/nintendo-ds/src/nintendo-ds-icon.c --- gnome-games-app-3.26.2/plugins/nintendo-ds/src/nintendo-ds-icon.c 2017-11-07 18:57:57.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/nintendo-ds/src/nintendo-ds-icon.c 2018-02-06 22:53:58.000000000 +0000 @@ -1,4 +1,4 @@ -/* nintendo-ds-icon.c generated by valac 0.38.2, the Vala compiler +/* nintendo-ds-icon.c generated by valac 0.36.9, the Vala compiler * generated from nintendo-ds-icon.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -20,11 +20,6 @@ typedef struct _GamesNintendoDsIcon GamesNintendoDsIcon; typedef struct _GamesNintendoDsIconClass GamesNintendoDsIconClass; typedef struct _GamesNintendoDsIconPrivate GamesNintendoDsIconPrivate; -enum { - GAMES_NINTENDO_DS_ICON_DUMMY_PROPERTY, - GAMES_NINTENDO_DS_ICON_LAST_PROPERTY -}; -static GParamSpec* games_nintendo_ds_icon_properties[GAMES_NINTENDO_DS_ICON_LAST_PROPERTY]; #define _games_uri_unref0(var) ((var == NULL) ? NULL : (var = (games_uri_unref (var), NULL))) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) @@ -51,6 +46,9 @@ GType games_nintendo_ds_icon_get_type (void) G_GNUC_CONST; #define GAMES_NINTENDO_DS_ICON_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_NINTENDO_DS_ICON, GamesNintendoDsIconPrivate)) +enum { + GAMES_NINTENDO_DS_ICON_0_PROPERTY +}; GamesNintendoDsIcon* games_nintendo_ds_icon_new (GamesUri* uri); GamesNintendoDsIcon* games_nintendo_ds_icon_construct (GType object_type, GamesUri* uri); GdkPixbuf* games_nintendo_ds_icon_extract (GamesUri* uri, GError** error); diff -Nru gnome-games-app-3.26.2/plugins/nintendo-ds/src/nintendo-ds-plugin.c gnome-games-app-3.28.0/plugins/nintendo-ds/src/nintendo-ds-plugin.c --- gnome-games-app-3.26.2/plugins/nintendo-ds/src/nintendo-ds-plugin.c 2017-11-07 18:57:57.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/nintendo-ds/src/nintendo-ds-plugin.c 2018-02-06 22:53:58.000000000 +0000 @@ -1,4 +1,4 @@ -/* nintendo-ds-plugin.c generated by valac 0.38.2, the Vala compiler +/* nintendo-ds-plugin.c generated by valac 0.36.9, the Vala compiler * generated from nintendo-ds-plugin.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -20,11 +20,6 @@ typedef struct _GamesNintendoDsPlugin GamesNintendoDsPlugin; typedef struct _GamesNintendoDsPluginClass GamesNintendoDsPluginClass; typedef struct _GamesNintendoDsPluginPrivate GamesNintendoDsPluginPrivate; -enum { - GAMES_NINTENDO_DS_PLUGIN_DUMMY_PROPERTY, - GAMES_NINTENDO_DS_PLUGIN_LAST_PROPERTY -}; -static GParamSpec* games_nintendo_ds_plugin_properties[GAMES_NINTENDO_DS_PLUGIN_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define GAMES_TYPE_NINTENDO_DS_ICON (games_nintendo_ds_icon_get_type ()) @@ -52,6 +47,9 @@ static GType games_nintendo_ds_plugin_type_id = 0; GType games_nintendo_ds_plugin_get_type (void) G_GNUC_CONST; +enum { + GAMES_NINTENDO_DS_PLUGIN_0_PROPERTY +}; #define GAMES_NINTENDO_DS_PLUGIN_FINGERPRINT_PREFIX "nintendo-ds" #define GAMES_NINTENDO_DS_PLUGIN_MIME_TYPE "application/x-nintendo-ds-rom" #define GAMES_NINTENDO_DS_PLUGIN_PLATFORM "NintendoDS" diff -Nru gnome-games-app-3.26.2/plugins/playstation/configure.ac gnome-games-app-3.28.0/plugins/playstation/configure.ac --- gnome-games-app-3.26.2/plugins/playstation/configure.ac 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/playstation/configure.ac 2018-01-30 09:48:30.000000000 +0000 @@ -2,7 +2,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 tracker-sparql-2.0 ], [enable_playstation_plugin=yes], [enable_playstation_plugin=no]) diff -Nru gnome-games-app-3.26.2/plugins/playstation/data/Makefile.in gnome-games-app-3.28.0/plugins/playstation/data/Makefile.in --- gnome-games-app-3.26.2/plugins/playstation/data/Makefile.in 2017-11-07 18:59:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/playstation/data/Makefile.in 2018-03-12 14:56:37.000000000 +0000 @@ -192,8 +192,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -233,6 +231,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -259,6 +258,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -271,8 +271,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ diff -Nru gnome-games-app-3.26.2/plugins/playstation/Makefile.in gnome-games-app-3.28.0/plugins/playstation/Makefile.in --- gnome-games-app-3.26.2/plugins/playstation/Makefile.in 2017-11-07 18:59:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/playstation/Makefile.in 2018-03-12 14:56:37.000000000 +0000 @@ -221,8 +221,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -262,6 +260,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -288,6 +287,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -300,8 +300,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ diff -Nru gnome-games-app-3.26.2/plugins/playstation/src/Makefile.am gnome-games-app-3.28.0/plugins/playstation/src/Makefile.am --- gnome-games-app-3.26.2/plugins/playstation/src/Makefile.am 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/playstation/src/Makefile.am 2018-01-30 09:48:30.000000000 +0000 @@ -57,6 +57,7 @@ libgames_playstation_plugin_la_CFLAGS = \ $(PLAYSTATION_PLUGIN_CFLAGS) \ $(GNOME_GAMES_CFLAGS) \ + -DRETRO_GTK_USE_UNSTABLE_API \ -DG_LOG_DOMAIN=\"GamesPlayStation\" \ -DLOCALEDIR=\"$(localedir)\" \ $(NULL) diff -Nru gnome-games-app-3.26.2/plugins/playstation/src/Makefile.in gnome-games-app-3.28.0/plugins/playstation/src/Makefile.in --- gnome-games-app-3.26.2/plugins/playstation/src/Makefile.in 2017-11-07 18:59:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/playstation/src/Makefile.in 2018-03-12 14:56:37.000000000 +0000 @@ -265,8 +265,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -306,6 +304,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -332,6 +331,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -344,8 +344,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ @@ -451,6 +449,7 @@ libgames_playstation_plugin_la_CFLAGS = \ $(PLAYSTATION_PLUGIN_CFLAGS) \ $(GNOME_GAMES_CFLAGS) \ + -DRETRO_GTK_USE_UNSTABLE_API \ -DG_LOG_DOMAIN=\"GamesPlayStation\" \ -DLOCALEDIR=\"$(localedir)\" \ $(NULL) diff -Nru gnome-games-app-3.26.2/plugins/playstation/src/playstation-error.c gnome-games-app-3.28.0/plugins/playstation/src/playstation-error.c --- gnome-games-app-3.26.2/plugins/playstation/src/playstation-error.c 2017-11-07 18:57:59.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/playstation/src/playstation-error.c 2018-02-06 22:54:00.000000000 +0000 @@ -1,4 +1,4 @@ -/* playstation-error.c generated by valac 0.38.2, the Vala compiler +/* playstation-error.c generated by valac 0.36.9, the Vala compiler * generated from playstation-error.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/plugins/playstation/src/playstation-game-factory.c gnome-games-app-3.28.0/plugins/playstation/src/playstation-game-factory.c --- gnome-games-app-3.26.2/plugins/playstation/src/playstation-game-factory.c 2017-11-07 18:57:59.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/playstation/src/playstation-game-factory.c 2018-02-06 22:54:00.000000000 +0000 @@ -1,4 +1,4 @@ -/* playstation-game-factory.c generated by valac 0.38.2, the Vala compiler +/* playstation-game-factory.c generated by valac 0.36.9, the Vala compiler * generated from playstation-game-factory.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -21,11 +21,6 @@ typedef struct _GamesPlayStationGameFactory GamesPlayStationGameFactory; typedef struct _GamesPlayStationGameFactoryClass GamesPlayStationGameFactoryClass; typedef struct _GamesPlayStationGameFactoryPrivate GamesPlayStationGameFactoryPrivate; -enum { - GAMES_PLAY_STATION_GAME_FACTORY_DUMMY_PROPERTY, - GAMES_PLAY_STATION_GAME_FACTORY_LAST_PROPERTY -}; -static GParamSpec* games_play_station_game_factory_properties[GAMES_PLAY_STATION_GAME_FACTORY_LAST_PROPERTY]; #define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL))) #define _games_uri_unref0(var) ((var == NULL) ? NULL : (var = (games_uri_unref (var), NULL))) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) @@ -153,6 +148,9 @@ GType games_play_station_game_factory_get_type (void) G_GNUC_CONST; #define GAMES_PLAY_STATION_GAME_FACTORY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_PLAY_STATION_GAME_FACTORY, GamesPlayStationGameFactoryPrivate)) +enum { + GAMES_PLAY_STATION_GAME_FACTORY_0_PROPERTY +}; #define GAMES_PLAY_STATION_GAME_FACTORY_CUE_MIME_TYPE "application/x-cue" #define GAMES_PLAY_STATION_GAME_FACTORY_PHONY_MIME_TYPE "application/x-playstation-rom" #define GAMES_PLAY_STATION_GAME_FACTORY_PLATFORM "PlayStation" diff -Nru gnome-games-app-3.26.2/plugins/playstation/src/playstation-header.c gnome-games-app-3.28.0/plugins/playstation/src/playstation-header.c --- gnome-games-app-3.26.2/plugins/playstation/src/playstation-header.c 2017-11-07 18:57:59.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/playstation/src/playstation-header.c 2018-02-06 22:54:00.000000000 +0000 @@ -1,4 +1,4 @@ -/* playstation-header.c generated by valac 0.38.2, the Vala compiler +/* playstation-header.c generated by valac 0.36.9, the Vala compiler * generated from playstation-header.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -21,12 +21,6 @@ typedef struct _GamesPlayStationHeader GamesPlayStationHeader; typedef struct _GamesPlayStationHeaderClass GamesPlayStationHeaderClass; typedef struct _GamesPlayStationHeaderPrivate GamesPlayStationHeaderPrivate; -enum { - GAMES_PLAY_STATION_HEADER_DUMMY_PROPERTY, - GAMES_PLAY_STATION_HEADER_DISC_ID_PROPERTY, - GAMES_PLAY_STATION_HEADER_LAST_PROPERTY -}; -static GParamSpec* games_play_station_header_properties[GAMES_PLAY_STATION_HEADER_LAST_PROPERTY]; #define _g_free0(var) (var = (g_free (var), NULL)) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL))) @@ -58,6 +52,10 @@ GType games_play_station_header_get_type (void) G_GNUC_CONST; #define GAMES_PLAY_STATION_HEADER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_PLAY_STATION_HEADER, GamesPlayStationHeaderPrivate)) +enum { + GAMES_PLAY_STATION_HEADER_0_PROPERTY, + GAMES_PLAY_STATION_HEADER_DISC_ID_PROPERTY +}; #define GAMES_PLAY_STATION_HEADER_DISC_ID_SIZE ((gsize) 10) GamesPlayStationHeader* games_play_station_header_new (GFile* file); GamesPlayStationHeader* games_play_station_header_construct (GType object_type, GFile* file); @@ -546,7 +544,7 @@ g_type_class_add_private (klass, sizeof (GamesPlayStationHeaderPrivate)); G_OBJECT_CLASS (klass)->get_property = _vala_games_play_station_header_get_property; G_OBJECT_CLASS (klass)->finalize = games_play_station_header_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_PLAY_STATION_HEADER_DISC_ID_PROPERTY, games_play_station_header_properties[GAMES_PLAY_STATION_HEADER_DISC_ID_PROPERTY] = g_param_spec_string ("disc-id", "disc-id", "disc-id", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_PLAY_STATION_HEADER_DISC_ID_PROPERTY, g_param_spec_string ("disc-id", "disc-id", "disc-id", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); } diff -Nru gnome-games-app-3.26.2/plugins/playstation/src/playstation-plugin.c gnome-games-app-3.28.0/plugins/playstation/src/playstation-plugin.c --- gnome-games-app-3.26.2/plugins/playstation/src/playstation-plugin.c 2017-11-07 18:57:59.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/playstation/src/playstation-plugin.c 2018-02-06 22:54:00.000000000 +0000 @@ -1,4 +1,4 @@ -/* playstation-plugin.c generated by valac 0.38.2, the Vala compiler +/* playstation-plugin.c generated by valac 0.36.9, the Vala compiler * generated from playstation-plugin.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -20,11 +20,6 @@ typedef struct _GamesPlayStation GamesPlayStation; typedef struct _GamesPlayStationClass GamesPlayStationClass; typedef struct _GamesPlayStationPrivate GamesPlayStationPrivate; -enum { - GAMES_PLAY_STATION_DUMMY_PROPERTY, - GAMES_PLAY_STATION_LAST_PROPERTY -}; -static GParamSpec* games_play_station_properties[GAMES_PLAY_STATION_LAST_PROPERTY]; #define GAMES_TYPE_PLAY_STATION_GAME_FACTORY (games_play_station_game_factory_get_type ()) #define GAMES_PLAY_STATION_GAME_FACTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_PLAY_STATION_GAME_FACTORY, GamesPlayStationGameFactory)) @@ -52,6 +47,9 @@ static GType games_play_station_type_id = 0; GType games_play_station_get_type (void) G_GNUC_CONST; +enum { + GAMES_PLAY_STATION_0_PROPERTY +}; #define GAMES_PLAY_STATION_MIME_TYPE "application/x-cue" static gchar** games_play_station_real_get_mime_types (GamesPlugin* base, int* result_length1); static GamesUriGameFactory** games_play_station_real_get_uri_game_factories (GamesPlugin* base, int* result_length1); diff -Nru gnome-games-app-3.26.2/plugins/playstation/src/playstation-uid.c gnome-games-app-3.28.0/plugins/playstation/src/playstation-uid.c --- gnome-games-app-3.26.2/plugins/playstation/src/playstation-uid.c 2017-11-07 18:57:59.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/playstation/src/playstation-uid.c 2018-02-06 22:54:00.000000000 +0000 @@ -1,4 +1,4 @@ -/* playstation-uid.c generated by valac 0.38.2, the Vala compiler +/* playstation-uid.c generated by valac 0.36.9, the Vala compiler * generated from playstation-uid.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -20,11 +20,6 @@ typedef struct _GamesPlayStationUid GamesPlayStationUid; typedef struct _GamesPlayStationUidClass GamesPlayStationUidClass; typedef struct _GamesPlayStationUidPrivate GamesPlayStationUidPrivate; -enum { - GAMES_PLAY_STATION_UID_DUMMY_PROPERTY, - GAMES_PLAY_STATION_UID_LAST_PROPERTY -}; -static GParamSpec* games_play_station_uid_properties[GAMES_PLAY_STATION_UID_LAST_PROPERTY]; #define _g_free0(var) (var = (g_free (var), NULL)) struct _GamesPlayStationUid { @@ -48,6 +43,9 @@ GType games_play_station_uid_get_type (void) G_GNUC_CONST; #define GAMES_PLAY_STATION_UID_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_PLAY_STATION_UID, GamesPlayStationUidPrivate)) +enum { + GAMES_PLAY_STATION_UID_0_PROPERTY +}; GamesPlayStationUid* games_play_station_uid_new (const gchar* disc_set_id); GamesPlayStationUid* games_play_station_uid_construct (GType object_type, const gchar* disc_set_id); static gchar* games_play_station_uid_real_get_uid (GamesUid* base, GError** error); diff -Nru gnome-games-app-3.26.2/plugins/sega-cd/configure.ac gnome-games-app-3.28.0/plugins/sega-cd/configure.ac --- gnome-games-app-3.26.2/plugins/sega-cd/configure.ac 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/sega-cd/configure.ac 2018-01-30 09:48:30.000000000 +0000 @@ -2,7 +2,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 ], [enable_sega_cd_plugin=yes], [enable_sega_cd_plugin=no]) AM_CONDITIONAL(ENABLE_SEGA_CD_PLUGIN, test x$enable_sega_cd_plugin != xno) diff -Nru gnome-games-app-3.26.2/plugins/sega-cd/data/Makefile.in gnome-games-app-3.28.0/plugins/sega-cd/data/Makefile.in --- gnome-games-app-3.26.2/plugins/sega-cd/data/Makefile.in 2017-11-07 18:59:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/sega-cd/data/Makefile.in 2018-03-12 14:56:37.000000000 +0000 @@ -192,8 +192,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -233,6 +231,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -259,6 +258,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -271,8 +271,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ diff -Nru gnome-games-app-3.26.2/plugins/sega-cd/Makefile.in gnome-games-app-3.28.0/plugins/sega-cd/Makefile.in --- gnome-games-app-3.26.2/plugins/sega-cd/Makefile.in 2017-11-07 18:59:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/sega-cd/Makefile.in 2018-03-12 14:56:37.000000000 +0000 @@ -221,8 +221,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -262,6 +260,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -288,6 +287,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -300,8 +300,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ diff -Nru gnome-games-app-3.26.2/plugins/sega-cd/src/Makefile.am gnome-games-app-3.28.0/plugins/sega-cd/src/Makefile.am --- gnome-games-app-3.26.2/plugins/sega-cd/src/Makefile.am 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/sega-cd/src/Makefile.am 2018-01-30 09:48:30.000000000 +0000 @@ -20,6 +20,7 @@ libgames_sega_cd_plugin_la_CFLAGS = \ $(SEGA_CD_PLUGIN_CFLAGS) \ $(GNOME_GAMES_CFLAGS) \ + -DRETRO_GTK_USE_UNSTABLE_API \ -DG_LOG_DOMAIN=\"GamesSegaCD\" \ -DLOCALEDIR=\"$(localedir)\" \ $(NULL) diff -Nru gnome-games-app-3.26.2/plugins/sega-cd/src/Makefile.in gnome-games-app-3.28.0/plugins/sega-cd/src/Makefile.in --- gnome-games-app-3.26.2/plugins/sega-cd/src/Makefile.in 2017-11-07 18:59:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/sega-cd/src/Makefile.in 2018-03-12 14:56:38.000000000 +0000 @@ -257,8 +257,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -298,6 +296,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -324,6 +323,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -336,8 +336,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ @@ -420,6 +418,7 @@ libgames_sega_cd_plugin_la_CFLAGS = \ $(SEGA_CD_PLUGIN_CFLAGS) \ $(GNOME_GAMES_CFLAGS) \ + -DRETRO_GTK_USE_UNSTABLE_API \ -DG_LOG_DOMAIN=\"GamesSegaCD\" \ -DLOCALEDIR=\"$(localedir)\" \ $(NULL) diff -Nru gnome-games-app-3.26.2/plugins/sega-cd/src/sega-cd-header.c gnome-games-app-3.28.0/plugins/sega-cd/src/sega-cd-header.c --- gnome-games-app-3.26.2/plugins/sega-cd/src/sega-cd-header.c 2017-11-07 18:58:03.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/sega-cd/src/sega-cd-header.c 2018-02-06 22:54:05.000000000 +0000 @@ -1,4 +1,4 @@ -/* sega-cd-header.c generated by valac 0.38.2, the Vala compiler +/* sega-cd-header.c generated by valac 0.36.9, the Vala compiler * generated from sega-cd-header.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -25,12 +25,6 @@ typedef struct _GamesSegaCDHeaderPrivate GamesSegaCDHeaderPrivate; #define GAMES_TYPE_SEGA_CD_SYSTEM (games_sega_cd_system_get_type ()) -enum { - GAMES_SEGA_CD_HEADER_DUMMY_PROPERTY, - GAMES_SEGA_CD_HEADER_SYSTEM_PROPERTY, - GAMES_SEGA_CD_HEADER_LAST_PROPERTY -}; -static GParamSpec* games_sega_cd_header_properties[GAMES_SEGA_CD_HEADER_LAST_PROPERTY]; #define _g_free0(var) ((var == NULL) ? NULL : (var = (g_free (var), NULL))) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) @@ -69,6 +63,10 @@ GType games_sega_cd_header_get_type (void) G_GNUC_CONST; GType games_sega_cd_system_get_type (void) G_GNUC_CONST; #define GAMES_SEGA_CD_HEADER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_SEGA_CD_HEADER, GamesSegaCDHeaderPrivate)) +enum { + GAMES_SEGA_CD_HEADER_0_PROPERTY, + GAMES_SEGA_CD_HEADER_SYSTEM_PROPERTY +}; #define GAMES_SEGA_CD_HEADER_HEADER_LENGTH ((gsize) 0x200) #define GAMES_SEGA_CD_HEADER_CD_OFFSET ((gsize) 0x0) #define GAMES_SEGA_CD_HEADER_SYSTEM_OFFSET ((gsize) 0x100) @@ -477,7 +475,7 @@ g_type_class_add_private (klass, sizeof (GamesSegaCDHeaderPrivate)); G_OBJECT_CLASS (klass)->get_property = _vala_games_sega_cd_header_get_property; G_OBJECT_CLASS (klass)->finalize = games_sega_cd_header_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_SEGA_CD_HEADER_SYSTEM_PROPERTY, games_sega_cd_header_properties[GAMES_SEGA_CD_HEADER_SYSTEM_PROPERTY] = g_param_spec_enum ("system", "system", "system", GAMES_TYPE_SEGA_CD_SYSTEM, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_SEGA_CD_HEADER_SYSTEM_PROPERTY, g_param_spec_enum ("system", "system", "system", GAMES_TYPE_SEGA_CD_SYSTEM, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); } diff -Nru gnome-games-app-3.26.2/plugins/sega-cd/src/sega-cd-plugin.c gnome-games-app-3.28.0/plugins/sega-cd/src/sega-cd-plugin.c --- gnome-games-app-3.26.2/plugins/sega-cd/src/sega-cd-plugin.c 2017-11-07 18:58:03.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/sega-cd/src/sega-cd-plugin.c 2018-02-06 22:54:05.000000000 +0000 @@ -1,4 +1,4 @@ -/* sega-cd-plugin.c generated by valac 0.38.2, the Vala compiler +/* sega-cd-plugin.c generated by valac 0.36.9, the Vala compiler * generated from sega-cd-plugin.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -22,11 +22,6 @@ typedef struct _GamesSegaCDPlugin GamesSegaCDPlugin; typedef struct _GamesSegaCDPluginClass GamesSegaCDPluginClass; typedef struct _GamesSegaCDPluginPrivate GamesSegaCDPluginPrivate; -enum { - GAMES_SEGA_CD_PLUGIN_DUMMY_PROPERTY, - GAMES_SEGA_CD_PLUGIN_LAST_PROPERTY -}; -static GParamSpec* games_sega_cd_plugin_properties[GAMES_SEGA_CD_PLUGIN_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) @@ -62,6 +57,9 @@ static GType games_sega_cd_plugin_type_id = 0; GType games_sega_cd_plugin_get_type (void) G_GNUC_CONST; +enum { + GAMES_SEGA_CD_PLUGIN_0_PROPERTY +}; #define GAMES_SEGA_CD_PLUGIN_32X_MIME_TYPE "application/x-genesis-32x-rom" #define GAMES_SEGA_CD_PLUGIN_SEGA_CD_PREFIX "mega-cd" #define GAMES_SEGA_CD_PLUGIN_CUE_MIME_TYPE "application/x-cue" diff -Nru gnome-games-app-3.26.2/plugins/sega-cd/src/sega-cd-system.c gnome-games-app-3.28.0/plugins/sega-cd/src/sega-cd-system.c --- gnome-games-app-3.26.2/plugins/sega-cd/src/sega-cd-system.c 2017-11-07 18:58:03.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/sega-cd/src/sega-cd-system.c 2018-02-06 22:54:05.000000000 +0000 @@ -1,4 +1,4 @@ -/* sega-cd-system.c generated by valac 0.38.2, the Vala compiler +/* sega-cd-system.c generated by valac 0.36.9, the Vala compiler * generated from sega-cd-system.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/plugins/sega-saturn/configure.ac gnome-games-app-3.28.0/plugins/sega-saturn/configure.ac --- gnome-games-app-3.26.2/plugins/sega-saturn/configure.ac 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/sega-saturn/configure.ac 2018-01-30 09:48:30.000000000 +0000 @@ -2,7 +2,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 ], [enable_sega_saturn_plugin=yes], [enable_sega_saturn_plugin=no]) AM_CONDITIONAL(ENABLE_SEGA_SATURN_PLUGIN, test x$enable_sega_saturn_plugin != xno) diff -Nru gnome-games-app-3.26.2/plugins/sega-saturn/data/Makefile.in gnome-games-app-3.28.0/plugins/sega-saturn/data/Makefile.in --- gnome-games-app-3.26.2/plugins/sega-saturn/data/Makefile.in 2017-11-07 18:59:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/sega-saturn/data/Makefile.in 2018-03-12 14:56:38.000000000 +0000 @@ -192,8 +192,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -233,6 +231,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -259,6 +258,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -271,8 +271,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ diff -Nru gnome-games-app-3.26.2/plugins/sega-saturn/Makefile.in gnome-games-app-3.28.0/plugins/sega-saturn/Makefile.in --- gnome-games-app-3.26.2/plugins/sega-saturn/Makefile.in 2017-11-07 18:59:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/sega-saturn/Makefile.in 2018-03-12 14:56:38.000000000 +0000 @@ -221,8 +221,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -262,6 +260,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -288,6 +287,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -300,8 +300,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ diff -Nru gnome-games-app-3.26.2/plugins/sega-saturn/src/Makefile.am gnome-games-app-3.28.0/plugins/sega-saturn/src/Makefile.am --- gnome-games-app-3.26.2/plugins/sega-saturn/src/Makefile.am 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/sega-saturn/src/Makefile.am 2018-01-30 09:48:30.000000000 +0000 @@ -21,7 +21,8 @@ libgames_sega_saturn_plugin_la_CFLAGS = \ $(SEGA_SATURN_PLUGIN_CFLAGS) \ $(GNOME_GAMES_CFLAGS) \ - -DG_LOG_DOMAIN=\"GamesDesktop\" \ + -DRETRO_GTK_USE_UNSTABLE_API \ + -DG_LOG_DOMAIN=\"GamesSegaSaturn\" \ -DLOCALEDIR=\"$(localedir)\" \ $(NULL) diff -Nru gnome-games-app-3.26.2/plugins/sega-saturn/src/Makefile.in gnome-games-app-3.28.0/plugins/sega-saturn/src/Makefile.in --- gnome-games-app-3.26.2/plugins/sega-saturn/src/Makefile.in 2017-11-07 18:59:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/sega-saturn/src/Makefile.in 2018-03-12 14:56:38.000000000 +0000 @@ -258,8 +258,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -299,6 +297,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -325,6 +324,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -337,8 +337,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ @@ -422,7 +420,8 @@ libgames_sega_saturn_plugin_la_CFLAGS = \ $(SEGA_SATURN_PLUGIN_CFLAGS) \ $(GNOME_GAMES_CFLAGS) \ - -DG_LOG_DOMAIN=\"GamesDesktop\" \ + -DRETRO_GTK_USE_UNSTABLE_API \ + -DG_LOG_DOMAIN=\"GamesSegaSaturn\" \ -DLOCALEDIR=\"$(localedir)\" \ $(NULL) diff -Nru gnome-games-app-3.26.2/plugins/sega-saturn/src/sega-saturn-error.c gnome-games-app-3.28.0/plugins/sega-saturn/src/sega-saturn-error.c --- gnome-games-app-3.26.2/plugins/sega-saturn/src/sega-saturn-error.c 2017-11-07 18:58:04.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/sega-saturn/src/sega-saturn-error.c 2018-02-06 22:54:07.000000000 +0000 @@ -1,4 +1,4 @@ -/* sega-saturn-error.c generated by valac 0.38.2, the Vala compiler +/* sega-saturn-error.c generated by valac 0.36.9, the Vala compiler * generated from sega-saturn-error.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/plugins/sega-saturn/src/sega-saturn-header.c gnome-games-app-3.28.0/plugins/sega-saturn/src/sega-saturn-header.c --- gnome-games-app-3.26.2/plugins/sega-saturn/src/sega-saturn-header.c 2017-11-07 18:58:04.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/sega-saturn/src/sega-saturn-header.c 2018-02-06 22:54:07.000000000 +0000 @@ -1,4 +1,4 @@ -/* sega-saturn-header.c generated by valac 0.38.2, the Vala compiler +/* sega-saturn-header.c generated by valac 0.36.9, the Vala compiler * generated from sega-saturn-header.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -24,11 +24,6 @@ typedef struct _GamesSegaSaturnHeader GamesSegaSaturnHeader; typedef struct _GamesSegaSaturnHeaderClass GamesSegaSaturnHeaderClass; typedef struct _GamesSegaSaturnHeaderPrivate GamesSegaSaturnHeaderPrivate; -enum { - GAMES_SEGA_SATURN_HEADER_DUMMY_PROPERTY, - GAMES_SEGA_SATURN_HEADER_LAST_PROPERTY -}; -static GParamSpec* games_sega_saturn_header_properties[GAMES_SEGA_SATURN_HEADER_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_free0(var) ((var == NULL) ? NULL : (var = (g_free (var), NULL))) @@ -59,6 +54,9 @@ GType games_sega_saturn_header_get_type (void) G_GNUC_CONST; #define GAMES_SEGA_SATURN_HEADER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_SEGA_SATURN_HEADER, GamesSegaSaturnHeaderPrivate)) +enum { + GAMES_SEGA_SATURN_HEADER_0_PROPERTY +}; #define GAMES_SEGA_SATURN_HEADER_MAGIC_OFFSET ((gsize) 0x0) #define GAMES_SEGA_SATURN_HEADER_MAGIC_VALUE "SEGA SEGASATURN" #define GAMES_SEGA_SATURN_HEADER_PRODUCT_NUMBER_OFFSET ((gsize) 0x20) diff -Nru gnome-games-app-3.26.2/plugins/sega-saturn/src/sega-saturn-plugin.c gnome-games-app-3.28.0/plugins/sega-saturn/src/sega-saturn-plugin.c --- gnome-games-app-3.26.2/plugins/sega-saturn/src/sega-saturn-plugin.c 2017-11-07 18:58:04.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/sega-saturn/src/sega-saturn-plugin.c 2018-02-06 22:54:07.000000000 +0000 @@ -1,4 +1,4 @@ -/* sega-saturn-plugin.c generated by valac 0.38.2, the Vala compiler +/* sega-saturn-plugin.c generated by valac 0.36.9, the Vala compiler * generated from sega-saturn-plugin.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -22,11 +22,6 @@ typedef struct _GamesSegaSaturnPlugin GamesSegaSaturnPlugin; typedef struct _GamesSegaSaturnPluginClass GamesSegaSaturnPluginClass; typedef struct _GamesSegaSaturnPluginPrivate GamesSegaSaturnPluginPrivate; -enum { - GAMES_SEGA_SATURN_PLUGIN_DUMMY_PROPERTY, - GAMES_SEGA_SATURN_PLUGIN_LAST_PROPERTY -}; -static GParamSpec* games_sega_saturn_plugin_properties[GAMES_SEGA_SATURN_PLUGIN_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) @@ -72,6 +67,9 @@ static GType games_sega_saturn_plugin_type_id = 0; GType games_sega_saturn_plugin_get_type (void) G_GNUC_CONST; +enum { + GAMES_SEGA_SATURN_PLUGIN_0_PROPERTY +}; #define GAMES_SEGA_SATURN_PLUGIN_CUE_MIME_TYPE "application/x-cue" #define GAMES_SEGA_SATURN_PLUGIN_SEGA_SATURN_MIME_TYPE "application/x-saturn-rom" #define GAMES_SEGA_SATURN_PLUGIN_PLATFORM "SegaSaturn" diff -Nru gnome-games-app-3.26.2/plugins/sega-saturn/src/sega-saturn-uid.c gnome-games-app-3.28.0/plugins/sega-saturn/src/sega-saturn-uid.c --- gnome-games-app-3.26.2/plugins/sega-saturn/src/sega-saturn-uid.c 2017-11-07 18:58:04.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/sega-saturn/src/sega-saturn-uid.c 2018-02-06 22:54:07.000000000 +0000 @@ -1,4 +1,4 @@ -/* sega-saturn-uid.c generated by valac 0.38.2, the Vala compiler +/* sega-saturn-uid.c generated by valac 0.36.9, the Vala compiler * generated from sega-saturn-uid.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -30,11 +30,6 @@ typedef struct _GamesSegaSaturnHeader GamesSegaSaturnHeader; typedef struct _GamesSegaSaturnHeaderClass GamesSegaSaturnHeaderClass; -enum { - GAMES_SEGA_SATURN_UID_DUMMY_PROPERTY, - GAMES_SEGA_SATURN_UID_LAST_PROPERTY -}; -static GParamSpec* games_sega_saturn_uid_properties[GAMES_SEGA_SATURN_UID_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) @@ -60,6 +55,9 @@ GType games_sega_saturn_uid_get_type (void) G_GNUC_CONST; GType games_sega_saturn_header_get_type (void) G_GNUC_CONST; #define GAMES_SEGA_SATURN_UID_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_SEGA_SATURN_UID, GamesSegaSaturnUidPrivate)) +enum { + GAMES_SEGA_SATURN_UID_0_PROPERTY +}; GamesSegaSaturnUid* games_sega_saturn_uid_new (GamesSegaSaturnHeader* header); GamesSegaSaturnUid* games_sega_saturn_uid_construct (GType object_type, GamesSegaSaturnHeader* header); static gchar* games_sega_saturn_uid_real_get_uid (GamesUid* base, GError** error); diff -Nru gnome-games-app-3.26.2/plugins/steam/configure.ac gnome-games-app-3.28.0/plugins/steam/configure.ac --- gnome-games-app-3.26.2/plugins/steam/configure.ac 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/steam/configure.ac 2018-01-30 09:48:30.000000000 +0000 @@ -2,7 +2,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 tracker-sparql-2.0 ], [enable_steam_plugin=yes], [enable_steam_plugin=no]) diff -Nru gnome-games-app-3.26.2/plugins/steam/data/Makefile.in gnome-games-app-3.28.0/plugins/steam/data/Makefile.in --- gnome-games-app-3.26.2/plugins/steam/data/Makefile.in 2017-11-07 18:59:11.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/steam/data/Makefile.in 2018-03-12 14:56:38.000000000 +0000 @@ -192,8 +192,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -233,6 +231,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -259,6 +258,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -271,8 +271,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ diff -Nru gnome-games-app-3.26.2/plugins/steam/Makefile.in gnome-games-app-3.28.0/plugins/steam/Makefile.in --- gnome-games-app-3.26.2/plugins/steam/Makefile.in 2017-11-07 18:59:11.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/steam/Makefile.in 2018-03-12 14:56:38.000000000 +0000 @@ -221,8 +221,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -262,6 +260,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -288,6 +287,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -300,8 +300,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ diff -Nru gnome-games-app-3.26.2/plugins/steam/src/Makefile.am gnome-games-app-3.28.0/plugins/steam/src/Makefile.am --- gnome-games-app-3.26.2/plugins/steam/src/Makefile.am 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/steam/src/Makefile.am 2018-01-30 09:48:30.000000000 +0000 @@ -25,6 +25,7 @@ libgames_steam_plugin_la_CFLAGS = \ $(STEAM_PLUGIN_CFLAGS) \ $(GNOME_GAMES_CFLAGS) \ + -DRETRO_GTK_USE_UNSTABLE_API \ -DG_LOG_DOMAIN=\"GamesSteam\" \ -DLOCALEDIR=\"$(localedir)\" \ $(NULL) diff -Nru gnome-games-app-3.26.2/plugins/steam/src/Makefile.in gnome-games-app-3.28.0/plugins/steam/src/Makefile.in --- gnome-games-app-3.26.2/plugins/steam/src/Makefile.in 2017-11-07 18:59:11.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/steam/src/Makefile.in 2018-03-12 14:56:38.000000000 +0000 @@ -263,8 +263,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -304,6 +302,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -330,6 +329,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -342,8 +342,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ @@ -431,6 +429,7 @@ libgames_steam_plugin_la_CFLAGS = \ $(STEAM_PLUGIN_CFLAGS) \ $(GNOME_GAMES_CFLAGS) \ + -DRETRO_GTK_USE_UNSTABLE_API \ -DG_LOG_DOMAIN=\"GamesSteam\" \ -DLOCALEDIR=\"$(localedir)\" \ $(NULL) diff -Nru gnome-games-app-3.26.2/plugins/steam/src/steam-cover.c gnome-games-app-3.28.0/plugins/steam/src/steam-cover.c --- gnome-games-app-3.26.2/plugins/steam/src/steam-cover.c 2017-11-07 18:58:06.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/steam/src/steam-cover.c 2018-02-06 22:54:09.000000000 +0000 @@ -1,4 +1,4 @@ -/* steam-cover.c generated by valac 0.38.2, the Vala compiler +/* steam-cover.c generated by valac 0.36.9, the Vala compiler * generated from steam-cover.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -22,11 +22,6 @@ typedef struct _GamesSteamCover GamesSteamCover; typedef struct _GamesSteamCoverClass GamesSteamCoverClass; typedef struct _GamesSteamCoverPrivate GamesSteamCoverPrivate; -enum { - GAMES_STEAM_COVER_DUMMY_PROPERTY, - GAMES_STEAM_COVER_LAST_PROPERTY -}; -static GParamSpec* games_steam_cover_properties[GAMES_STEAM_COVER_LAST_PROPERTY]; #define _g_free0(var) (var = (g_free (var), NULL)) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) @@ -82,6 +77,9 @@ GType games_steam_cover_get_type (void) G_GNUC_CONST; #define GAMES_STEAM_COVER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_STEAM_COVER, GamesSteamCoverPrivate)) +enum { + GAMES_STEAM_COVER_0_PROPERTY +}; GamesSteamCover* games_steam_cover_new (const gchar* game_id); GamesSteamCover* games_steam_cover_construct (GType object_type, const gchar* game_id); static GIcon* games_steam_cover_real_get_cover (GamesCover* base); diff -Nru gnome-games-app-3.26.2/plugins/steam/src/steam-error.c gnome-games-app-3.28.0/plugins/steam/src/steam-error.c --- gnome-games-app-3.26.2/plugins/steam/src/steam-error.c 2017-11-07 18:58:06.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/steam/src/steam-error.c 2018-02-06 22:54:09.000000000 +0000 @@ -1,4 +1,4 @@ -/* steam-error.c generated by valac 0.38.2, the Vala compiler +/* steam-error.c generated by valac 0.36.9, the Vala compiler * generated from steam-error.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/plugins/steam/src/steam-icon.c gnome-games-app-3.28.0/plugins/steam/src/steam-icon.c --- gnome-games-app-3.26.2/plugins/steam/src/steam-icon.c 2017-11-07 18:58:06.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/steam/src/steam-icon.c 2018-02-06 22:54:09.000000000 +0000 @@ -1,4 +1,4 @@ -/* steam-icon.c generated by valac 0.38.2, the Vala compiler +/* steam-icon.c generated by valac 0.36.9, the Vala compiler * generated from steam-icon.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -22,11 +22,6 @@ typedef struct _GamesSteamIcon GamesSteamIcon; typedef struct _GamesSteamIconClass GamesSteamIconClass; typedef struct _GamesSteamIconPrivate GamesSteamIconPrivate; -enum { - GAMES_STEAM_ICON_DUMMY_PROPERTY, - GAMES_STEAM_ICON_LAST_PROPERTY -}; -static GParamSpec* games_steam_icon_properties[GAMES_STEAM_ICON_LAST_PROPERTY]; #define _g_free0(var) (var = (g_free (var), NULL)) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) @@ -55,6 +50,9 @@ GType games_steam_icon_get_type (void) G_GNUC_CONST; #define GAMES_STEAM_ICON_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_STEAM_ICON, GamesSteamIconPrivate)) +enum { + GAMES_STEAM_ICON_0_PROPERTY +}; GamesSteamIcon* games_steam_icon_new (const gchar* game_id); GamesSteamIcon* games_steam_icon_construct (GType object_type, const gchar* game_id); static GIcon* games_steam_icon_real_get_icon (GamesIcon* base); diff -Nru gnome-games-app-3.26.2/plugins/steam/src/steam-plugin.c gnome-games-app-3.28.0/plugins/steam/src/steam-plugin.c --- gnome-games-app-3.26.2/plugins/steam/src/steam-plugin.c 2017-11-07 18:58:06.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/steam/src/steam-plugin.c 2018-02-06 22:54:09.000000000 +0000 @@ -1,4 +1,4 @@ -/* steam-plugin.c generated by valac 0.38.2, the Vala compiler +/* steam-plugin.c generated by valac 0.36.9, the Vala compiler * generated from steam-plugin.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -22,11 +22,6 @@ typedef struct _GamesSteamPlugin GamesSteamPlugin; typedef struct _GamesSteamPluginClass GamesSteamPluginClass; typedef struct _GamesSteamPluginPrivate GamesSteamPluginPrivate; -enum { - GAMES_STEAM_PLUGIN_DUMMY_PROPERTY, - GAMES_STEAM_PLUGIN_LAST_PROPERTY -}; -static GParamSpec* games_steam_plugin_properties[GAMES_STEAM_PLUGIN_LAST_PROPERTY]; #define GAMES_TYPE_STEAM_URI_SOURCE (games_steam_uri_source_get_type ()) #define GAMES_STEAM_URI_SOURCE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_STEAM_URI_SOURCE, GamesSteamUriSource)) @@ -106,6 +101,9 @@ static GType games_steam_plugin_type_id = 0; GType games_steam_plugin_get_type (void) G_GNUC_CONST; +enum { + GAMES_STEAM_PLUGIN_0_PROPERTY +}; #define GAMES_STEAM_PLUGIN_STEAM_FILE_SCHEME "steam+file" static GamesUriSource** games_steam_plugin_real_get_uri_sources (GamesPlugin* base, int* result_length1); GType games_steam_uri_source_get_type (void) G_GNUC_CONST; diff -Nru gnome-games-app-3.26.2/plugins/steam/src/steam-registry.c gnome-games-app-3.28.0/plugins/steam/src/steam-registry.c --- gnome-games-app-3.26.2/plugins/steam/src/steam-registry.c 2017-11-07 18:58:06.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/steam/src/steam-registry.c 2018-02-06 22:54:09.000000000 +0000 @@ -1,4 +1,4 @@ -/* steam-registry.c generated by valac 0.38.2, the Vala compiler +/* steam-registry.c generated by valac 0.36.9, the Vala compiler * generated from steam-registry.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -32,11 +32,6 @@ typedef struct _GamesSteamRegistryValue GamesSteamRegistryValue; typedef struct _GamesSteamRegistryValueClass GamesSteamRegistryValueClass; -enum { - GAMES_STEAM_REGISTRY_DUMMY_PROPERTY, - GAMES_STEAM_REGISTRY_LAST_PROPERTY -}; -static GParamSpec* games_steam_registry_properties[GAMES_STEAM_REGISTRY_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _games_steam_registry_unref0(var) ((var == NULL) ? NULL : (var = (games_steam_registry_unref (var), NULL))) @@ -64,26 +59,9 @@ #define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL))) typedef struct _GamesParamSpecSteamRegistry GamesParamSpecSteamRegistry; typedef struct _GamesSteamRegistryValuePrivate GamesSteamRegistryValuePrivate; -enum { - GAMES_STEAM_REGISTRY_VALUE_DUMMY_PROPERTY, - GAMES_STEAM_REGISTRY_VALUE_TAG_PROPERTY, - GAMES_STEAM_REGISTRY_VALUE_LAST_PROPERTY -}; -static GParamSpec* games_steam_registry_value_properties[GAMES_STEAM_REGISTRY_VALUE_LAST_PROPERTY]; typedef struct _GamesSteamRegistryNodePrivate GamesSteamRegistryNodePrivate; -enum { - GAMES_STEAM_REGISTRY_NODE_DUMMY_PROPERTY, - GAMES_STEAM_REGISTRY_NODE_LAST_PROPERTY -}; -static GParamSpec* games_steam_registry_node_properties[GAMES_STEAM_REGISTRY_NODE_LAST_PROPERTY]; #define __g_list_free__g_object_unref0_0(var) ((var == NULL) ? NULL : (var = (_g_list_free__g_object_unref0_ (var), NULL))) typedef struct _GamesSteamRegistryDataPrivate GamesSteamRegistryDataPrivate; -enum { - GAMES_STEAM_REGISTRY_DATA_DUMMY_PROPERTY, - GAMES_STEAM_REGISTRY_DATA_DATA_PROPERTY, - GAMES_STEAM_REGISTRY_DATA_LAST_PROPERTY -}; -static GParamSpec* games_steam_registry_data_properties[GAMES_STEAM_REGISTRY_DATA_LAST_PROPERTY]; struct _GamesSteamRegistry { GTypeInstance parent_instance; @@ -167,6 +145,9 @@ GType games_steam_registry_get_type (void) G_GNUC_CONST; GType games_steam_registry_value_get_type (void) G_GNUC_CONST; #define GAMES_STEAM_REGISTRY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_STEAM_REGISTRY, GamesSteamRegistryPrivate)) +enum { + GAMES_STEAM_REGISTRY_0_PROPERTY +}; GamesSteamRegistry* games_steam_registry_new (const gchar* appmanifest_path, GError** error); GamesSteamRegistry* games_steam_registry_construct (GType object_type, const gchar* appmanifest_path, GError** error); static gchar** games_steam_registry_tokenize (GamesSteamRegistry* self, const gchar* appmanifest_path, int* result_length1, GError** error); @@ -188,17 +169,28 @@ GamesSteamRegistryData* games_steam_registry_data_construct (GType object_type, const gchar* tag, const gchar* data); static void games_steam_registry_finalize (GamesSteamRegistry * obj); #define GAMES_STEAM_REGISTRY_VALUE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_STEAM_REGISTRY_VALUE, GamesSteamRegistryValuePrivate)) +enum { + GAMES_STEAM_REGISTRY_VALUE_0_PROPERTY, + GAMES_STEAM_REGISTRY_VALUE_TAG_PROPERTY +}; GamesSteamRegistryValue* games_steam_registry_value_construct (GType object_type); static void games_steam_registry_value_set_tag (GamesSteamRegistryValue* self, const gchar* value); static void games_steam_registry_value_finalize (GObject * obj); static void _vala_games_steam_registry_value_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); static void _vala_games_steam_registry_value_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); #define GAMES_STEAM_REGISTRY_NODE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_STEAM_REGISTRY_NODE, GamesSteamRegistryNodePrivate)) +enum { + GAMES_STEAM_REGISTRY_NODE_0_PROPERTY +}; static void _g_object_unref0_ (gpointer var); -static inline void _g_list_free__g_object_unref0_ (GList* self); +static void _g_list_free__g_object_unref0_ (GList* self); static void _vala_array_add2 (gchar** * array, int* length, int* size, gchar* value); static void games_steam_registry_node_finalize (GObject * obj); #define GAMES_STEAM_REGISTRY_DATA_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_STEAM_REGISTRY_DATA, GamesSteamRegistryDataPrivate)) +enum { + GAMES_STEAM_REGISTRY_DATA_0_PROPERTY, + GAMES_STEAM_REGISTRY_DATA_DATA_PROPERTY +}; static void games_steam_registry_data_set_data (GamesSteamRegistryData* self, const gchar* value); static void games_steam_registry_data_finalize (GObject * obj); static void _vala_games_steam_registry_data_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); @@ -1228,7 +1220,7 @@ _tmp1_ = g_strdup (_tmp0_); _g_free0 (self->priv->_tag); self->priv->_tag = _tmp1_; - g_object_notify_by_pspec ((GObject *) self, games_steam_registry_value_properties[GAMES_STEAM_REGISTRY_VALUE_TAG_PROPERTY]); + g_object_notify ((GObject *) self, "tag"); } } @@ -1239,7 +1231,7 @@ G_OBJECT_CLASS (klass)->get_property = _vala_games_steam_registry_value_get_property; G_OBJECT_CLASS (klass)->set_property = _vala_games_steam_registry_value_set_property; G_OBJECT_CLASS (klass)->finalize = games_steam_registry_value_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_STEAM_REGISTRY_VALUE_TAG_PROPERTY, games_steam_registry_value_properties[GAMES_STEAM_REGISTRY_VALUE_TAG_PROPERTY] = g_param_spec_string ("tag", "tag", "tag", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_STEAM_REGISTRY_VALUE_TAG_PROPERTY, g_param_spec_string ("tag", "tag", "tag", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); } @@ -1301,8 +1293,9 @@ } -static inline void _g_list_free__g_object_unref0_ (GList* self) { - g_list_free_full (self, (GDestroyNotify) _g_object_unref0_); +static void _g_list_free__g_object_unref0_ (GList* self) { + g_list_foreach (self, (GFunc) _g_object_unref0_, NULL); + g_list_free (self); } @@ -1500,7 +1493,7 @@ _tmp1_ = g_strdup (_tmp0_); _g_free0 (self->priv->_data); self->priv->_data = _tmp1_; - g_object_notify_by_pspec ((GObject *) self, games_steam_registry_data_properties[GAMES_STEAM_REGISTRY_DATA_DATA_PROPERTY]); + g_object_notify ((GObject *) self, "data"); } } @@ -1511,7 +1504,7 @@ G_OBJECT_CLASS (klass)->get_property = _vala_games_steam_registry_data_get_property; G_OBJECT_CLASS (klass)->set_property = _vala_games_steam_registry_data_set_property; G_OBJECT_CLASS (klass)->finalize = games_steam_registry_data_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_STEAM_REGISTRY_DATA_DATA_PROPERTY, games_steam_registry_data_properties[GAMES_STEAM_REGISTRY_DATA_DATA_PROPERTY] = g_param_spec_string ("data", "data", "data", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_STEAM_REGISTRY_DATA_DATA_PROPERTY, g_param_spec_string ("data", "data", "data", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); } diff -Nru gnome-games-app-3.26.2/plugins/steam/src/steam-title.c gnome-games-app-3.28.0/plugins/steam/src/steam-title.c --- gnome-games-app-3.26.2/plugins/steam/src/steam-title.c 2017-11-07 18:58:06.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/steam/src/steam-title.c 2018-02-06 22:54:09.000000000 +0000 @@ -1,4 +1,4 @@ -/* steam-title.c generated by valac 0.38.2, the Vala compiler +/* steam-title.c generated by valac 0.36.9, the Vala compiler * generated from steam-title.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -31,11 +31,6 @@ typedef struct _GamesSteamRegistry GamesSteamRegistry; typedef struct _GamesSteamRegistryClass GamesSteamRegistryClass; -enum { - GAMES_STEAM_TITLE_DUMMY_PROPERTY, - GAMES_STEAM_TITLE_LAST_PROPERTY -}; -static GParamSpec* games_steam_title_properties[GAMES_STEAM_TITLE_LAST_PROPERTY]; #define _games_steam_registry_unref0(var) ((var == NULL) ? NULL : (var = (games_steam_registry_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) @@ -72,6 +67,9 @@ gpointer games_value_get_steam_registry (const GValue* value); GType games_steam_registry_get_type (void) G_GNUC_CONST; #define GAMES_STEAM_TITLE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_STEAM_TITLE, GamesSteamTitlePrivate)) +enum { + GAMES_STEAM_TITLE_0_PROPERTY +}; GamesSteamTitle* games_steam_title_new (GamesSteamRegistry* registry); GamesSteamTitle* games_steam_title_construct (GType object_type, GamesSteamRegistry* registry); static gchar* games_steam_title_real_get_title (GamesTitle* base, GError** error); diff -Nru gnome-games-app-3.26.2/plugins/steam/src/steam-uri-iterator.c gnome-games-app-3.28.0/plugins/steam/src/steam-uri-iterator.c --- gnome-games-app-3.26.2/plugins/steam/src/steam-uri-iterator.c 2017-11-07 18:58:06.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/steam/src/steam-uri-iterator.c 2018-02-06 22:54:09.000000000 +0000 @@ -1,4 +1,4 @@ -/* steam-uri-iterator.c generated by valac 0.38.2, the Vala compiler +/* steam-uri-iterator.c generated by valac 0.36.9, the Vala compiler * generated from steam-uri-iterator.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -21,11 +21,6 @@ typedef struct _GamesSteamUriIterator GamesSteamUriIterator; typedef struct _GamesSteamUriIteratorClass GamesSteamUriIteratorClass; typedef struct _GamesSteamUriIteratorPrivate GamesSteamUriIteratorPrivate; -enum { - GAMES_STEAM_URI_ITERATOR_DUMMY_PROPERTY, - GAMES_STEAM_URI_ITERATOR_LAST_PROPERTY -}; -static GParamSpec* games_steam_uri_iterator_properties[GAMES_STEAM_URI_ITERATOR_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _games_uri_unref0(var) ((var == NULL) ? NULL : (var = (games_uri_unref (var), NULL))) #define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) @@ -56,6 +51,9 @@ GType games_steam_uri_iterator_get_type (void) G_GNUC_CONST; #define GAMES_STEAM_URI_ITERATOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_STEAM_URI_ITERATOR, GamesSteamUriIteratorPrivate)) +enum { + GAMES_STEAM_URI_ITERATOR_0_PROPERTY +}; GamesSteamUriIterator* games_steam_uri_iterator_new (gchar** directories, int directories_length1); GamesSteamUriIterator* games_steam_uri_iterator_construct (GType object_type, gchar** directories, int directories_length1); static gchar** _vala_array_dup1 (gchar** self, int length); diff -Nru gnome-games-app-3.26.2/plugins/steam/src/steam-uri-source.c gnome-games-app-3.28.0/plugins/steam/src/steam-uri-source.c --- gnome-games-app-3.26.2/plugins/steam/src/steam-uri-source.c 2017-11-07 18:58:06.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/steam/src/steam-uri-source.c 2018-02-06 22:54:09.000000000 +0000 @@ -1,4 +1,4 @@ -/* steam-uri-source.c generated by valac 0.38.2, the Vala compiler +/* steam-uri-source.c generated by valac 0.36.9, the Vala compiler * generated from steam-uri-source.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -22,11 +22,6 @@ typedef struct _GamesSteamUriSource GamesSteamUriSource; typedef struct _GamesSteamUriSourceClass GamesSteamUriSourceClass; typedef struct _GamesSteamUriSourcePrivate GamesSteamUriSourcePrivate; -enum { - GAMES_STEAM_URI_SOURCE_DUMMY_PROPERTY, - GAMES_STEAM_URI_SOURCE_LAST_PROPERTY -}; -static GParamSpec* games_steam_uri_source_properties[GAMES_STEAM_URI_SOURCE_LAST_PROPERTY]; #define GAMES_TYPE_STEAM_REGISTRY (games_steam_registry_get_type ()) #define GAMES_STEAM_REGISTRY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_STEAM_REGISTRY, GamesSteamRegistry)) @@ -73,6 +68,9 @@ GType games_steam_uri_source_get_type (void) G_GNUC_CONST; #define GAMES_STEAM_URI_SOURCE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_STEAM_URI_SOURCE, GamesSteamUriSourcePrivate)) +enum { + GAMES_STEAM_URI_SOURCE_0_PROPERTY +}; #define GAMES_STEAM_URI_SOURCE_REGISTRY_PATH "/.steam/registry.vdf" #define GAMES_STEAM_URI_SOURCE_DEFAULT_INSTALL_DIR_SYMLINK "/.steam/steam" #define GAMES_STEAM_URI_SOURCE_LIBRARY_DIRS_REG "/libraryfolders.vdf" diff -Nru gnome-games-app-3.26.2/plugins/turbografx-cd/configure.ac gnome-games-app-3.28.0/plugins/turbografx-cd/configure.ac --- gnome-games-app-3.26.2/plugins/turbografx-cd/configure.ac 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/turbografx-cd/configure.ac 2018-01-30 09:48:30.000000000 +0000 @@ -2,7 +2,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 ], [enable_turbografx_cd_plugin=yes], [enable_turbografx_cd_plugin=no]) AM_CONDITIONAL(ENABLE_TURBOGRAFX_CD_PLUGIN, test x$enable_turbografx_cd_plugin != xno) diff -Nru gnome-games-app-3.26.2/plugins/turbografx-cd/data/Makefile.in gnome-games-app-3.28.0/plugins/turbografx-cd/data/Makefile.in --- gnome-games-app-3.26.2/plugins/turbografx-cd/data/Makefile.in 2017-11-07 18:59:11.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/turbografx-cd/data/Makefile.in 2018-03-12 14:56:38.000000000 +0000 @@ -192,8 +192,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -233,6 +231,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -259,6 +258,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -271,8 +271,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ diff -Nru gnome-games-app-3.26.2/plugins/turbografx-cd/Makefile.in gnome-games-app-3.28.0/plugins/turbografx-cd/Makefile.in --- gnome-games-app-3.26.2/plugins/turbografx-cd/Makefile.in 2017-11-07 18:59:11.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/turbografx-cd/Makefile.in 2018-03-12 14:56:38.000000000 +0000 @@ -221,8 +221,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -262,6 +260,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -288,6 +287,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -300,8 +300,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ diff -Nru gnome-games-app-3.26.2/plugins/turbografx-cd/src/Makefile.am gnome-games-app-3.28.0/plugins/turbografx-cd/src/Makefile.am --- gnome-games-app-3.26.2/plugins/turbografx-cd/src/Makefile.am 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/turbografx-cd/src/Makefile.am 2018-01-30 09:48:30.000000000 +0000 @@ -19,6 +19,7 @@ libgames_turbografx_cd_plugin_la_CFLAGS = \ $(TURBOGRAFX_CD_PLUGIN_CFLAGS) \ $(GNOME_GAMES_CFLAGS) \ + -DRETRO_GTK_USE_UNSTABLE_API \ -DG_LOG_DOMAIN=\"GamesTurboGrafxCD\" \ -DLOCALEDIR=\"$(localedir)\" \ $(NULL) diff -Nru gnome-games-app-3.26.2/plugins/turbografx-cd/src/Makefile.in gnome-games-app-3.28.0/plugins/turbografx-cd/src/Makefile.in --- gnome-games-app-3.26.2/plugins/turbografx-cd/src/Makefile.in 2017-11-07 18:59:11.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/turbografx-cd/src/Makefile.in 2018-03-12 14:56:38.000000000 +0000 @@ -256,8 +256,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -297,6 +295,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -323,6 +322,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -335,8 +335,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ @@ -418,6 +416,7 @@ libgames_turbografx_cd_plugin_la_CFLAGS = \ $(TURBOGRAFX_CD_PLUGIN_CFLAGS) \ $(GNOME_GAMES_CFLAGS) \ + -DRETRO_GTK_USE_UNSTABLE_API \ -DG_LOG_DOMAIN=\"GamesTurboGrafxCD\" \ -DLOCALEDIR=\"$(localedir)\" \ $(NULL) diff -Nru gnome-games-app-3.26.2/plugins/turbografx-cd/src/turbografx-cd-error.c gnome-games-app-3.28.0/plugins/turbografx-cd/src/turbografx-cd-error.c --- gnome-games-app-3.26.2/plugins/turbografx-cd/src/turbografx-cd-error.c 2017-11-07 18:58:08.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/turbografx-cd/src/turbografx-cd-error.c 2018-02-06 22:54:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* turbografx-cd-error.c generated by valac 0.38.2, the Vala compiler +/* turbografx-cd-error.c generated by valac 0.36.9, the Vala compiler * generated from turbografx-cd-error.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/plugins/turbografx-cd/src/turbografx-cd-plugin.c gnome-games-app-3.28.0/plugins/turbografx-cd/src/turbografx-cd-plugin.c --- gnome-games-app-3.26.2/plugins/turbografx-cd/src/turbografx-cd-plugin.c 2017-11-07 18:58:08.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/turbografx-cd/src/turbografx-cd-plugin.c 2018-02-06 22:54:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* turbografx-cd-plugin.c generated by valac 0.38.2, the Vala compiler +/* turbografx-cd-plugin.c generated by valac 0.36.9, the Vala compiler * generated from turbografx-cd-plugin.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -21,11 +21,6 @@ typedef struct _GamesTurboGrafxCDPlugin GamesTurboGrafxCDPlugin; typedef struct _GamesTurboGrafxCDPluginClass GamesTurboGrafxCDPluginClass; typedef struct _GamesTurboGrafxCDPluginPrivate GamesTurboGrafxCDPluginPrivate; -enum { - GAMES_TURBO_GRAFX_CD_PLUGIN_DUMMY_PROPERTY, - GAMES_TURBO_GRAFX_CD_PLUGIN_LAST_PROPERTY -}; -static GParamSpec* games_turbo_grafx_cd_plugin_properties[GAMES_TURBO_GRAFX_CD_PLUGIN_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) @@ -48,6 +43,9 @@ static GType games_turbo_grafx_cd_plugin_type_id = 0; GType games_turbo_grafx_cd_plugin_get_type (void) G_GNUC_CONST; +enum { + GAMES_TURBO_GRAFX_CD_PLUGIN_0_PROPERTY +}; #define GAMES_TURBO_GRAFX_CD_PLUGIN_FINGERPRINT_PREFIX "pc-engine" #define GAMES_TURBO_GRAFX_CD_PLUGIN_MIME_TYPE "application/x-pc-engine-rom" #define GAMES_TURBO_GRAFX_CD_PLUGIN_CUE_MIME_TYPE "application/x-cue" diff -Nru gnome-games-app-3.26.2/plugins/wii/configure.ac gnome-games-app-3.28.0/plugins/wii/configure.ac --- gnome-games-app-3.26.2/plugins/wii/configure.ac 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/wii/configure.ac 2018-01-30 09:48:30.000000000 +0000 @@ -2,7 +2,7 @@ gio-2.0 glib-2.0 >= $GLIB_MIN_VERSION gtk+-3.0 - retro-gtk-0.12 + retro-gtk-0.14 ], [enable_wii_plugin=yes], [enable_wii_plugin=no]) AM_CONDITIONAL(ENABLE_WII_PLUGIN, test x$enable_wii_plugin != xno) diff -Nru gnome-games-app-3.26.2/plugins/wii/data/Makefile.in gnome-games-app-3.28.0/plugins/wii/data/Makefile.in --- gnome-games-app-3.26.2/plugins/wii/data/Makefile.in 2017-11-07 18:59:11.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/wii/data/Makefile.in 2018-03-12 14:56:38.000000000 +0000 @@ -192,8 +192,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -233,6 +231,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -259,6 +258,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -271,8 +271,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ diff -Nru gnome-games-app-3.26.2/plugins/wii/Makefile.in gnome-games-app-3.28.0/plugins/wii/Makefile.in --- gnome-games-app-3.26.2/plugins/wii/Makefile.in 2017-11-07 18:59:11.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/wii/Makefile.in 2018-03-12 14:56:38.000000000 +0000 @@ -221,8 +221,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -262,6 +260,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -288,6 +287,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -300,8 +300,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ diff -Nru gnome-games-app-3.26.2/plugins/wii/src/Makefile.am gnome-games-app-3.28.0/plugins/wii/src/Makefile.am --- gnome-games-app-3.26.2/plugins/wii/src/Makefile.am 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/wii/src/Makefile.am 2018-01-30 09:48:30.000000000 +0000 @@ -20,7 +20,8 @@ libgames_wii_plugin_la_CFLAGS = \ $(WII_PLUGIN_CFLAGS) \ $(GNOME_GAMES_CFLAGS) \ - -DG_LOG_DOMAIN=\"GamesDesktop\" \ + -DRETRO_GTK_USE_UNSTABLE_API \ + -DG_LOG_DOMAIN=\"GamesWii\" \ -DLOCALEDIR=\"$(localedir)\" \ $(NULL) diff -Nru gnome-games-app-3.26.2/plugins/wii/src/Makefile.in gnome-games-app-3.28.0/plugins/wii/src/Makefile.in --- gnome-games-app-3.26.2/plugins/wii/src/Makefile.in 2017-11-07 18:59:11.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/wii/src/Makefile.in 2018-03-12 14:56:38.000000000 +0000 @@ -255,8 +255,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -296,6 +294,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -322,6 +321,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -334,8 +334,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ @@ -418,7 +416,8 @@ libgames_wii_plugin_la_CFLAGS = \ $(WII_PLUGIN_CFLAGS) \ $(GNOME_GAMES_CFLAGS) \ - -DG_LOG_DOMAIN=\"GamesDesktop\" \ + -DRETRO_GTK_USE_UNSTABLE_API \ + -DG_LOG_DOMAIN=\"GamesWii\" \ -DLOCALEDIR=\"$(localedir)\" \ $(NULL) diff -Nru gnome-games-app-3.26.2/plugins/wii/src/wii-header.c gnome-games-app-3.28.0/plugins/wii/src/wii-header.c --- gnome-games-app-3.26.2/plugins/wii/src/wii-header.c 2017-11-07 18:58:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/wii/src/wii-header.c 2018-02-06 22:54:15.000000000 +0000 @@ -1,4 +1,4 @@ -/* wii-header.c generated by valac 0.38.2, the Vala compiler +/* wii-header.c generated by valac 0.36.9, the Vala compiler * generated from wii-header.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -22,11 +22,6 @@ typedef struct _GamesWiiHeader GamesWiiHeader; typedef struct _GamesWiiHeaderClass GamesWiiHeaderClass; typedef struct _GamesWiiHeaderPrivate GamesWiiHeaderPrivate; -enum { - GAMES_WII_HEADER_DUMMY_PROPERTY, - GAMES_WII_HEADER_LAST_PROPERTY -}; -static GParamSpec* games_wii_header_properties[GAMES_WII_HEADER_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) @@ -56,6 +51,9 @@ GType games_wii_header_get_type (void) G_GNUC_CONST; #define GAMES_WII_HEADER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_WII_HEADER, GamesWiiHeaderPrivate)) +enum { + GAMES_WII_HEADER_0_PROPERTY +}; #define GAMES_WII_HEADER_MAGIC_OFFSET ((gsize) 0x18) #define GAMES_WII_HEADER_MAGIC_VALUE "\x5d\x1c\x9e\xa3" GamesWiiHeader* games_wii_header_new (GFile* file); diff -Nru gnome-games-app-3.26.2/plugins/wii/src/wii-plugin.c gnome-games-app-3.28.0/plugins/wii/src/wii-plugin.c --- gnome-games-app-3.26.2/plugins/wii/src/wii-plugin.c 2017-11-07 18:58:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/wii/src/wii-plugin.c 2018-02-06 22:54:15.000000000 +0000 @@ -1,4 +1,4 @@ -/* wii-plugin.c generated by valac 0.38.2, the Vala compiler +/* wii-plugin.c generated by valac 0.36.9, the Vala compiler * generated from wii-plugin.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -21,11 +21,6 @@ typedef struct _GamesWiiPlugin GamesWiiPlugin; typedef struct _GamesWiiPluginClass GamesWiiPluginClass; typedef struct _GamesWiiPluginPrivate GamesWiiPluginPrivate; -enum { - GAMES_WII_PLUGIN_DUMMY_PROPERTY, - GAMES_WII_PLUGIN_LAST_PROPERTY -}; -static GParamSpec* games_wii_plugin_properties[GAMES_WII_PLUGIN_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define GAMES_TYPE_WII_HEADER (games_wii_header_get_type ()) @@ -69,6 +64,9 @@ static GType games_wii_plugin_type_id = 0; GType games_wii_plugin_get_type (void) G_GNUC_CONST; +enum { + GAMES_WII_PLUGIN_0_PROPERTY +}; #define GAMES_WII_PLUGIN_MIME_TYPE "application/x-wii-rom" #define GAMES_WII_PLUGIN_PLATFORM "WiiWare" static gchar** games_wii_plugin_real_get_mime_types (GamesPlugin* base, int* result_length1); diff -Nru gnome-games-app-3.26.2/plugins/wii/src/wii-uid.c gnome-games-app-3.28.0/plugins/wii/src/wii-uid.c --- gnome-games-app-3.26.2/plugins/wii/src/wii-uid.c 2017-11-07 18:58:10.000000000 +0000 +++ gnome-games-app-3.28.0/plugins/wii/src/wii-uid.c 2018-02-06 22:54:15.000000000 +0000 @@ -1,4 +1,4 @@ -/* wii-uid.c generated by valac 0.38.2, the Vala compiler +/* wii-uid.c generated by valac 0.36.9, the Vala compiler * generated from wii-uid.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -30,11 +30,6 @@ typedef struct _GamesWiiHeader GamesWiiHeader; typedef struct _GamesWiiHeaderClass GamesWiiHeaderClass; -enum { - GAMES_WII_UID_DUMMY_PROPERTY, - GAMES_WII_UID_LAST_PROPERTY -}; -static GParamSpec* games_wii_uid_properties[GAMES_WII_UID_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) @@ -66,6 +61,9 @@ GType games_wii_uid_get_type (void) G_GNUC_CONST; GType games_wii_header_get_type (void) G_GNUC_CONST; #define GAMES_WII_UID_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_WII_UID, GamesWiiUidPrivate)) +enum { + GAMES_WII_UID_0_PROPERTY +}; GamesWiiUid* games_wii_uid_new (GamesWiiHeader* header); GamesWiiUid* games_wii_uid_construct (GType object_type, GamesWiiHeader* header); static gchar* games_wii_uid_real_get_uid (GamesUid* base, GError** error); diff -Nru gnome-games-app-3.26.2/po/cs.po gnome-games-app-3.28.0/po/cs.po --- gnome-games-app-3.26.2/po/cs.po 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/po/cs.po 2018-01-30 09:48:30.000000000 +0000 @@ -5,11 +5,11 @@ # msgid "" msgstr "" -"Project-Id-Version: gnome-games gnome-3.26\n" +"Project-Id-Version: gnome-games\n" "Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "games&keywords=I18N+L10N&component=general\n" -"POT-Creation-Date: 2017-09-18 08:28+0000\n" -"PO-Revision-Date: 2017-09-18 14:19+0200\n" +"POT-Creation-Date: 2017-11-16 06:55+0000\n" +"PO-Revision-Date: 2017-11-18 18:44+0100\n" "Last-Translator: Marek Černocký \n" "Language-Team: čeština \n" "Language: cs\n" @@ -99,10 +99,10 @@ #: ../data/org.gnome.Games.gschema.xml.h:4 msgid "" "Filter for the game video output. Allowed values are: “smooth” (blurry " -"pixels), “sharp” (blocky pixels)." +"pixels), “sharp” (blocky pixels), “crt” (CRT emulation)." msgstr "" "Filtr pro obrazový výstup her. Možné hodnoty jsou: „smooth“ (vyhlazený " -"rozmazaný obraz), „sharp“ (ostrý čtverečkovaný obraz)." +"rozmazaný obraz), „sharp“ (ostrý čtverečkovaný obraz), „crt“ (emulace CRT)." #: ../data/org.gnome.Games.gschema.xml.h:5 msgid "Window maximized" @@ -478,24 +478,6 @@ msgid "No disc found for disc ID “%s”." msgstr "Pro ID disku „%s“ nebyl nalezen žádný disk." -#: ../src/gamepad/gamepad-mapping.c:236 -msgid "The mapping string can’t be null." -msgstr "Mapovací řetězec nemůže být bez hodnoty." - -#: ../src/gamepad/gamepad-mapping.c:245 -msgid "The mapping string can’t be empty." -msgstr "Mapovací řetězec nemůže být prázdný." - -#: ../src/gamepad/linux/linux-raw-gamepad.c:291 -#, c-format -msgid "Unable to open file “%s”: %s" -msgstr "Nelze otevřít soubor „%s“: %s" - -#: ../src/gamepad/linux/linux-raw-gamepad.c:304 -#, c-format -msgid "Evdev is unable to open “%s”: %s" -msgstr "Evdev nemůže otevřít „%s“: %s" - #: ../src/retro/retro-core-source.vala:25 #: ../src/retro/retro-core-source.vala:37 #, c-format @@ -708,17 +690,17 @@ msgid "WonderSwan Color" msgstr "WonderSwan Color" -#: ../src/retro/retro-runner.vala:246 +#: ../src/retro/retro-runner.vala:239 #, c-format msgid "No module found for “%s”." msgstr "Pro „%s“ nebyl nalezen žádný modul." -#: ../src/retro/retro-runner.vala:577 +#: ../src/retro/retro-runner.vala:568 #, c-format msgid "The system “%s” isn’t supported yet, but full support is planned." msgstr "Systém „%s“ není zatím podporován, ale plná podpora je v plánu." -#: ../src/retro/retro-runner.vala:580 +#: ../src/retro/retro-runner.vala:571 msgid "The system isn’t supported yet, but full support is planned." msgstr "Systém není zatím podporován, ale plná podpora je v plánu." @@ -768,27 +750,27 @@ msgstr "Problém! Hru nelze spustit" #. translators: testing a gamepad, %s is its name -#: ../src/ui/gamepad-configurer.vala:79 +#: ../src/ui/gamepad-configurer.vala:78 #, c-format msgid "Testing %s" msgstr "Testuje se %s" #. translators: configuring a gamepad, %s is its name -#: ../src/ui/gamepad-configurer.vala:93 +#: ../src/ui/gamepad-configurer.vala:92 #, c-format msgid "Configuring %s" msgstr "Nastavuje se %s" -#: ../src/ui/gamepad-mapper.vala:134 +#: ../src/ui/gamepad-mapper.vala:129 msgid "Press suitable button on your gamepad" msgstr "Zmáčkněte vhodné tlačítko na svém herním ovladači" -#: ../src/ui/gamepad-mapper.vala:139 +#: ../src/ui/gamepad-mapper.vala:134 msgid "Move suitable axis left/right on your gamepad" msgstr "" "Posuňte se pomocí svého herního ovladače vhodným způsobem doleva/doprava" -#: ../src/ui/gamepad-mapper.vala:141 +#: ../src/ui/gamepad-mapper.vala:136 msgid "Move suitable axis up/down on your gamepad" msgstr "Posuňte se pomocí svého herního ovladače vhodným způsobem nahoru/dolů" @@ -806,6 +788,10 @@ msgid "Sharp" msgstr "ostrý" +#: ../src/ui/preferences-page-video.vala:34 +msgid "CRT" +msgstr "CRT" + #: ../src/utils/cue-sheet/cue-sheet.vala:25 #, c-format msgid "“%s” doesn’t have a track for index %u." @@ -858,3 +844,15 @@ #, c-format msgid "%s:%lu: Unexpected token %s, expected end of line." msgstr "%s:%lu: Neočekávaný symbol %s, byl očekáván konec řádku." + +#~ msgid "The mapping string can’t be null." +#~ msgstr "Mapovací řetězec nemůže být bez hodnoty." + +#~ msgid "The mapping string can’t be empty." +#~ msgstr "Mapovací řetězec nemůže být prázdný." + +#~ msgid "Unable to open file “%s”: %s" +#~ msgstr "Nelze otevřít soubor „%s“: %s" + +#~ msgid "Evdev is unable to open “%s”: %s" +#~ msgstr "Evdev nemůže otevřít „%s“: %s" diff -Nru gnome-games-app-3.26.2/po/de.po gnome-games-app-3.28.0/po/de.po --- gnome-games-app-3.26.2/po/de.po 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/po/de.po 2018-01-30 09:48:30.000000000 +0000 @@ -1,24 +1,25 @@ # German translation for gnome-games. # Copyright (C) 2016 gnome-games's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-games package. -# Mario Blättermann , 2016-2017. # Bernd Homuth , 2016. # Paul Seyfert , 2017. +# Robin Naumann , 2017. +# Mario Blättermann , 2016-2017. # msgid "" msgstr "" "Project-Id-Version: gnome-games master\n" "Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "games&keywords=I18N+L10N&component=general\n" -"POT-Creation-Date: 2017-09-18 08:28+0000\n" -"PO-Revision-Date: 2017-10-02 12:01+0200\n" +"POT-Creation-Date: 2017-11-16 06:55+0000\n" +"PO-Revision-Date: 2017-11-18 21:13+0100\n" "Last-Translator: Mario Blättermann \n" "Language-Team: Deutsch \n" "Language: de\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=2; plural=(n > 1);\n" "X-Generator: Poedit 2.0.3\n" #: ../data/org.gnome.Games.appdata.xml.in.h:1 @@ -102,10 +103,11 @@ #: ../data/org.gnome.Games.gschema.xml.h:4 msgid "" "Filter for the game video output. Allowed values are: “smooth” (blurry " -"pixels), “sharp” (blocky pixels)." +"pixels), “sharp” (blocky pixels), “crt” (CRT emulation)." msgstr "" "Filter für die Videoausgabe des Spiels. Zulässige Werte sind " -"»smooth« (weichgezeichnete Bildpunkte) und »sharp« (blockförmige Bildpunkte)." +"»smooth« (weichgezeichnete Bildpunkte), »sharp« (blockförmige Bildpunkte) " +"und »crt« (Röhrenmonitor-Emulation)." #: ../data/org.gnome.Games.gschema.xml.h:5 msgid "Window maximized" @@ -422,7 +424,7 @@ #: ../plugins/wii/src/wii-header.vala:20 #, c-format msgid "Invalid Wii header size: %s" -msgstr "Größe des WiiHeaders ist ungültig: %s" +msgstr "Größe des Wii-Headers ist ungültig: %s" #: ../plugins/wii/src/wii-header.vala:33 ../plugins/wii/src/wii-header.vala:44 msgid "The file doesn’t have a Wii header." @@ -482,24 +484,6 @@ msgid "No disc found for disc ID “%s”." msgstr "Keine Platte gefunden für Platten-ID »%s«." -#: ../src/gamepad/gamepad-mapping.c:236 -msgid "The mapping string can’t be null." -msgstr "Die zugeordnete Zeichenkette darf nicht »null« sein." - -#: ../src/gamepad/gamepad-mapping.c:245 -msgid "The mapping string can’t be empty." -msgstr "Die zugeordnete Zeichenkette darf nicht leer sein." - -#: ../src/gamepad/linux/linux-raw-gamepad.c:291 -#, c-format -msgid "Unable to open file “%s”: %s" -msgstr "Datei »%s« kann nicht geöffnet werden: %s" - -#: ../src/gamepad/linux/linux-raw-gamepad.c:304 -#, c-format -msgid "Evdev is unable to open “%s”: %s" -msgstr "»%s« kann nicht mit evdev geöffnet werden: %s" - #: ../src/retro/retro-core-source.vala:25 #: ../src/retro/retro-core-source.vala:37 #, c-format @@ -712,19 +696,19 @@ msgid "WonderSwan Color" msgstr "WonderSwan Color" -#: ../src/retro/retro-runner.vala:246 +#: ../src/retro/retro-runner.vala:239 #, c-format msgid "No module found for “%s”." msgstr "Kein passendes Modul für »%s« gefunden." -#: ../src/retro/retro-runner.vala:577 +#: ../src/retro/retro-runner.vala:568 #, c-format msgid "The system “%s” isn’t supported yet, but full support is planned." msgstr "" "Das System »%s« wird derzeit noch nicht unterstützt, die vollständige " "Unterstützung ist aber bereits in Planung." -#: ../src/retro/retro-runner.vala:580 +#: ../src/retro/retro-runner.vala:571 msgid "The system isn’t supported yet, but full support is planned." msgstr "" "Das System wird derzeit noch nicht unterstützt, die vollständige " @@ -780,27 +764,27 @@ msgstr "Hoppla, das Spiel kann nicht ausgeführt werden" #. translators: testing a gamepad, %s is its name -#: ../src/ui/gamepad-configurer.vala:79 +#: ../src/ui/gamepad-configurer.vala:78 #, c-format msgid "Testing %s" msgstr "%s wird getestet" #. translators: configuring a gamepad, %s is its name -#: ../src/ui/gamepad-configurer.vala:93 +#: ../src/ui/gamepad-configurer.vala:92 #, c-format msgid "Configuring %s" msgstr "%s wird konfiguriert" -#: ../src/ui/gamepad-mapper.vala:134 +#: ../src/ui/gamepad-mapper.vala:129 msgid "Press suitable button on your gamepad" msgstr "Drücken Sie den entsprechenden Knopf auf Ihrem Gamepad" -#: ../src/ui/gamepad-mapper.vala:139 +#: ../src/ui/gamepad-mapper.vala:134 msgid "Move suitable axis left/right on your gamepad" msgstr "" "Bewegen Sie die entsprechende Achse auf Ihrem Gamepad nach links/rechts" -#: ../src/ui/gamepad-mapper.vala:141 +#: ../src/ui/gamepad-mapper.vala:136 msgid "Move suitable axis up/down on your gamepad" msgstr "Bewegen Sie die entsprechende Achse nach oben/unten auf Ihrem Gamepad" @@ -818,6 +802,10 @@ msgid "Sharp" msgstr "Schärfen" +#: ../src/ui/preferences-page-video.vala:34 +msgid "CRT" +msgstr "CRT" + #: ../src/utils/cue-sheet/cue-sheet.vala:25 #, c-format msgid "“%s” doesn’t have a track for index %u." diff -Nru gnome-games-app-3.26.2/po/es.po gnome-games-app-3.28.0/po/es.po --- gnome-games-app-3.26.2/po/es.po 2017-10-30 08:01:27.000000000 +0000 +++ gnome-games-app-3.28.0/po/es.po 2018-03-12 14:10:38.000000000 +0000 @@ -3,15 +3,14 @@ # This file is distributed under the same license as the PACKAGE package. # Adolfo Jayme Barrientos , 2016. # Adrien Plazas , 2017. -# Daniel Mustieles , 2016, 2017. +# Daniel Mustieles , 2016, 2017, 2018. # msgid "" msgstr "" "Project-Id-Version: \n" -"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" -"games&keywords=I18N+L10N&component=general\n" -"POT-Creation-Date: 2017-09-18 08:28+0000\n" -"PO-Revision-Date: 2017-10-20 09:49+0200\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-games/issues\n" +"POT-Creation-Date: 2017-11-24 18:28+0000\n" +"PO-Revision-Date: 2018-02-22 13:19+0100\n" "Last-Translator: Daniel Mustieles \n" "Language-Team: es \n" "Language: es\n" @@ -100,12 +99,16 @@ msgstr "Filtro de vídeo" #: ../data/org.gnome.Games.gschema.xml.h:4 +#| msgid "" +#| "Filter for the game video output. Allowed values are: “smooth” (blurry " +#| "pixels), “sharp” (blocky pixels)." msgid "" "Filter for the game video output. Allowed values are: “smooth” (blurry " -"pixels), “sharp” (blocky pixels)." +"pixels), “sharp” (blocky pixels), “crt” (CRT emulation)." msgstr "" "Filtro para la salida de vídeo del juego. Los valores permitidos son " -"«smooth» (píxeles borrosos) y «sharp» (píxeles cuadrados)." +"«smooth» (píxeles borrosos), «sharp» (píxeles cuadrados). y crt (emulación " +"CRT)" #: ../data/org.gnome.Games.gschema.xml.h:5 msgid "Window maximized" @@ -179,7 +182,6 @@ "búsqueda." #: ../data/ui/gamepad-configurer.ui.h:1 -#| msgid "Reset" msgctxt "Gamepad configuration factory reset" msgid "Reset" msgstr "Restablecer" @@ -266,7 +268,6 @@ msgstr "El mapa se perderá." #: ../data/ui/reset-gamepad-mapping-dialog.ui.h:4 -#| msgid "Reset" msgctxt "Confirm gamepad configuration factory reset" msgid "Reset" msgstr "Restablecer" @@ -288,7 +289,6 @@ msgstr "Falló al reanudar. ¿Quiere reiniciar el juego?" #: ../data/ui/resume-failed-dialog.ui.h:3 -#| msgid "Reset" msgctxt "Resuming a game failed dialog" msgid "Reset" msgstr "Reiniciar" @@ -484,24 +484,6 @@ msgid "No disc found for disc ID “%s”." msgstr "No se ha encontrado el disco para el ID de disco «%s»." -#: ../src/gamepad/gamepad-mapping.c:236 -msgid "The mapping string can’t be null." -msgstr "La cadena de mapeado no puede ser nula." - -#: ../src/gamepad/gamepad-mapping.c:245 -msgid "The mapping string can’t be empty." -msgstr "La cadena de mapeado no puede estar vacía." - -#: ../src/gamepad/linux/linux-raw-gamepad.c:291 -#, c-format -msgid "Unable to open file “%s”: %s" -msgstr "No se puede abrir el archivo «%s» :%s" - -#: ../src/gamepad/linux/linux-raw-gamepad.c:304 -#, c-format -msgid "Evdev is unable to open “%s”: %s" -msgstr "Evdev no puede abrir «%s» :%s" - #: ../src/retro/retro-core-source.vala:25 #: ../src/retro/retro-core-source.vala:37 #, c-format @@ -716,17 +698,17 @@ msgid "WonderSwan Color" msgstr "WonderSwan Color" -#: ../src/retro/retro-runner.vala:246 +#: ../src/retro/retro-runner.vala:239 #, c-format msgid "No module found for “%s”." msgstr "No se pudo encontrar un módulo apropiado para «%s»." -#: ../src/retro/retro-runner.vala:577 +#: ../src/retro/retro-runner.vala:568 #, c-format msgid "The system “%s” isn’t supported yet, but full support is planned." msgstr "El sistema «%s» todavía no está soportado, pero llegará pronto." -#: ../src/retro/retro-runner.vala:580 +#: ../src/retro/retro-runner.vala:571 msgid "The system isn’t supported yet, but full support is planned." msgstr "El sistema todavía no está soportado, pero llegará pronto." @@ -735,26 +717,26 @@ msgstr "Seleccionar archivos de juegos" #: ../src/ui/application.vala:137 -msgid "_Cancel" -msgstr "_Cancelar" - -#: ../src/ui/application.vala:138 msgid "_Add" msgstr "_Añadir" -#: ../src/ui/application.vala:313 +#: ../src/ui/application.vala:137 +msgid "_Cancel" +msgstr "_Cancelar" + +#: ../src/ui/application.vala:310 msgid "GNOME Games" msgstr "Juegos de GNOME" -#: ../src/ui/application.vala:315 +#: ../src/ui/application.vala:312 msgid "A video game player for GNOME" msgstr "Un reproductor de videojuegos para GNOME" -#: ../src/ui/application.vala:319 +#: ../src/ui/application.vala:316 msgid "Learn more about GNOME Games" msgstr "Más información acerca de Juegos de GNOME" -#: ../src/ui/application.vala:326 +#: ../src/ui/application.vala:323 msgid "translator-credits" msgstr "Daniel Mustieles , 2016" @@ -776,26 +758,26 @@ msgstr "No se puede ejecutar el juego" #. translators: testing a gamepad, %s is its name -#: ../src/ui/gamepad-configurer.vala:79 +#: ../src/ui/gamepad-configurer.vala:78 #, c-format msgid "Testing %s" msgstr "Probando %s" #. translators: configuring a gamepad, %s is its name -#: ../src/ui/gamepad-configurer.vala:93 +#: ../src/ui/gamepad-configurer.vala:92 #, c-format msgid "Configuring %s" msgstr "Configurando %s" -#: ../src/ui/gamepad-mapper.vala:134 +#: ../src/ui/gamepad-mapper.vala:129 msgid "Press suitable button on your gamepad" msgstr "Pulse el botón adecuado en el mando" -#: ../src/ui/gamepad-mapper.vala:139 +#: ../src/ui/gamepad-mapper.vala:134 msgid "Move suitable axis left/right on your gamepad" msgstr "Mueva el eje derecha/izquierda adecuado en el mando" -#: ../src/ui/gamepad-mapper.vala:141 +#: ../src/ui/gamepad-mapper.vala:136 msgid "Move suitable axis up/down on your gamepad" msgstr "Mueva el eje arriba/abajo adecuado en el mando" @@ -813,6 +795,10 @@ msgid "Sharp" msgstr "Brusca" +#: ../src/ui/preferences-page-video.vala:34 +msgid "CRT" +msgstr "CRT" + #: ../src/utils/cue-sheet/cue-sheet.vala:25 #, c-format msgid "“%s” doesn’t have a track for index %u." @@ -867,6 +853,18 @@ msgid "%s:%lu: Unexpected token %s, expected end of line." msgstr "%s:%lu: testigo %s no esperado, se esperaba un final de línea." +#~ msgid "The mapping string can’t be null." +#~ msgstr "La cadena de mapeado no puede ser nula." + +#~ msgid "The mapping string can’t be empty." +#~ msgstr "La cadena de mapeado no puede estar vacía." + +#~ msgid "Unable to open file “%s”: %s" +#~ msgstr "No se puede abrir el archivo «%s» :%s" + +#~ msgid "Evdev is unable to open “%s”: %s" +#~ msgstr "Evdev no puede abrir «%s» :%s" + #~| msgid "No game title found for disc ID “%s”." #~ msgid "No game file found for media “%s”." #~ msgstr "No se han encontrado archivos de juegos para «%s»." diff -Nru gnome-games-app-3.26.2/po/fr.po gnome-games-app-3.28.0/po/fr.po --- gnome-games-app-3.26.2/po/fr.po 2017-09-21 12:48:06.000000000 +0000 +++ gnome-games-app-3.28.0/po/fr.po 2018-03-12 14:10:38.000000000 +0000 @@ -2,15 +2,14 @@ # Copyright (C) 2015 gameinfo's COPYRIGHT HOLDER # This file is distributed under the same license as the gameinfo package. # Alexandre Franke , 2017. -# Adrien Plazas , 2015-2017, 2017. +# Adrien Plazas , 2015-2017, 2017, 2018. # msgid "" msgstr "" "Project-Id-Version: gameinfo master\n" -"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" -"games&keywords=I18N+L10N&component=general\n" -"POT-Creation-Date: 2017-08-07 19:52+0000\n" -"PO-Revision-Date: 2017-08-30 16:31+0200\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-games/issues\n" +"POT-Creation-Date: 2017-11-24 18:28+0000\n" +"PO-Revision-Date: 2018-03-12 12:09+0100\n" "Last-Translator: Adrien Plazas \n" "Language-Team: français <>\n" "Language: fr\n" @@ -96,12 +95,16 @@ msgstr "Filtre vidéo" #: ../data/org.gnome.Games.gschema.xml.h:4 +#| msgid "" +#| "Filter for the game video output. Allowed values are: “smooth” (blurry " +#| "pixels), “sharp” (blocky pixels)." msgid "" "Filter for the game video output. Allowed values are: “smooth” (blurry " -"pixels), “sharp” (blocky pixels)." +"pixels), “sharp” (blocky pixels), “crt” (CRT emulation)." msgstr "" "Filtre pour la sortie vidéo des jeux. Les valeurs possibles sont : " -"« lisse » (pixels flous), « net » (pixels visibles)." +"« lisse » (pixels flous), « net » (pixels visibles), « crt » (émulation de " +"tube cathodique)." #: ../data/org.gnome.Games.gschema.xml.h:5 msgid "Window maximized" @@ -136,7 +139,6 @@ msgstr "Chargement" #: ../data/ui/collection-header-bar.ui.h:2 -#| msgid "Invalid game file: “%s”." msgid "Add game files…" msgstr "Ajouter des fichiers de jeu…" @@ -176,8 +178,8 @@ "de recherche." #: ../data/ui/gamepad-configurer.ui.h:1 -#: ../data/ui/reset-gamepad-mapping-dialog.ui.h:4 -#: ../data/ui/resume-failed-dialog.ui.h:3 +#| msgid "Reset" +msgctxt "Gamepad configuration factory reset" msgid "Reset" msgstr "Réinitialiser" @@ -200,7 +202,6 @@ msgstr "Media" #: ../data/ui/preferences-page-controllers.ui.h:1 -#| msgid "Games" msgid "Gamepads" msgstr "Manettes de jeu" @@ -260,10 +261,15 @@ msgstr "Réinitialiser cette manette de jeu aux paramètres d'usine ?" #: ../data/ui/reset-gamepad-mapping-dialog.ui.h:2 -#| msgid "All unsaved progress will be lost." msgid "Your mapping will be lost." msgstr "Votre configuration sera perdue." +#: ../data/ui/reset-gamepad-mapping-dialog.ui.h:4 +#| msgid "Reset" +msgctxt "Confirm gamepad configuration factory reset" +msgid "Reset" +msgstr "Réinitialiser" + #: ../data/ui/resume-dialog.ui.h:1 msgid "Resume last game?" msgstr "Reprendre la dernière partie ?" @@ -277,10 +283,15 @@ msgstr "Reprendre" #: ../data/ui/resume-failed-dialog.ui.h:1 -#| msgid "Resuming failed. Do you want to to restart the game?" msgid "Resuming failed. Do you want to restart the game?" msgstr "La reprise a échoué. Voulez-vous redémarrer le jeu ?" +#: ../data/ui/resume-failed-dialog.ui.h:3 +#| msgid "Reset" +msgctxt "Resuming a game failed dialog" +msgid "Reset" +msgstr "Réinitialiser" + #: ../plugins/desktop/src/desktop-plugin.vala:48 #, c-format msgid "Invalid command “%s”." @@ -298,13 +309,11 @@ #: ../plugins/desktop/src/desktop-plugin.vala:74 #, c-format -#| msgid "File “%s” doesn’t exist." msgid "“%s” shouldn’t be displayed." msgstr "« %s » ne devrait pas être affiché." #: ../plugins/desktop/src/desktop-plugin.vala:77 #, c-format -#| msgid "“%s” is blacklisted." msgid "“%s” is hidden." msgstr "« %s » est caché." @@ -344,7 +353,6 @@ #: ../plugins/playstation/src/playstation-header.vala:27 #, c-format -#| msgid "No game title found for disc ID “%s”." msgid "Not a PlayStation disc: “%s”." msgstr "Ce n'est pas un disque Playstation : « %s »." @@ -478,24 +486,6 @@ msgid "No disc found for disc ID “%s”." msgstr "Aucun disque trouvé pour l’identifiant de disque « %s »." -#: ../src/gamepad/gamepad-mapping.c:236 -msgid "The mapping string can’t be null." -msgstr "La chaîne de caractère de correspondance ne peut pas être nulle." - -#: ../src/gamepad/gamepad-mapping.c:245 -msgid "The mapping string can’t be empty." -msgstr "La chaîne de caractère de correspondance ne peut pas être vide." - -#: ../src/gamepad/linux/linux-raw-gamepad.c:291 -#, c-format -msgid "Unable to open file “%s”: %s" -msgstr "Nous n’avons pas pu ouvrir le fichier « %s » : %s" - -#: ../src/gamepad/linux/linux-raw-gamepad.c:304 -#, c-format -msgid "Evdev is unable to open “%s”: %s" -msgstr "Evdev est incapable d’ouvrir « %s » : %s" - #: ../src/retro/retro-core-source.vala:25 #: ../src/retro/retro-core-source.vala:37 #, c-format @@ -548,7 +538,6 @@ msgstr "Atari 7800" #: ../src/retro/retro-platform.vala:15 -#| msgid "Atari 2600" msgid "Atari Lynx" msgstr "Atari Lynx" @@ -711,20 +700,19 @@ msgid "WonderSwan Color" msgstr "WonderSwan Color" -#: ../src/retro/retro-runner.vala:248 +#: ../src/retro/retro-runner.vala:239 #, c-format -#| msgid "No disc found for disc ID “%s”." msgid "No module found for “%s”." msgstr "Aucun module trouvé pour « %s »." -#: ../src/retro/retro-runner.vala:579 +#: ../src/retro/retro-runner.vala:568 #, c-format msgid "The system “%s” isn’t supported yet, but full support is planned." msgstr "" "Le système « %s » n’est pas pris en charge pour le moment, son développement " "est prévu." -#: ../src/retro/retro-runner.vala:582 +#: ../src/retro/retro-runner.vala:571 msgid "The system isn’t supported yet, but full support is planned." msgstr "" "Le système n’est pas pris en charge pour le moment, son développement est " @@ -735,27 +723,26 @@ msgstr "Sélectionnez des fichiers de jeu" #: ../src/ui/application.vala:137 -#| msgid "Cancel" -msgid "_Cancel" -msgstr "A_nnuler" - -#: ../src/ui/application.vala:138 msgid "_Add" msgstr "_Ajouter" -#: ../src/ui/application.vala:313 +#: ../src/ui/application.vala:137 +msgid "_Cancel" +msgstr "A_nnuler" + +#: ../src/ui/application.vala:310 msgid "GNOME Games" msgstr "GNOME Jeux" -#: ../src/ui/application.vala:315 +#: ../src/ui/application.vala:312 msgid "A video game player for GNOME" msgstr "Lecteur de jeux vidéo pour GNOME" -#: ../src/ui/application.vala:319 +#: ../src/ui/application.vala:316 msgid "Learn more about GNOME Games" msgstr "En apprendre plus sur GNOME Jeux" -#: ../src/ui/application.vala:326 +#: ../src/ui/application.vala:323 msgid "translator-credits" msgstr "Adrien Plazas , 2016" @@ -777,27 +764,27 @@ msgstr "Oups ! Nous n’avons pas pu lancer le jeu" #. translators: testing a gamepad, %s is its name -#: ../src/ui/gamepad-configurer.vala:79 +#: ../src/ui/gamepad-configurer.vala:78 #, c-format msgid "Testing %s" msgstr "Essai de %s" #. translators: configuring a gamepad, %s is its name -#: ../src/ui/gamepad-configurer.vala:93 +#: ../src/ui/gamepad-configurer.vala:92 #, c-format msgid "Configuring %s" msgstr "Configuration de %s" -#: ../src/ui/gamepad-mapper.vala:134 +#: ../src/ui/gamepad-mapper.vala:129 msgid "Press suitable button on your gamepad" msgstr "Pressez le bouton correspondant sur votre manette de jeu" -#: ../src/ui/gamepad-mapper.vala:139 +#: ../src/ui/gamepad-mapper.vala:134 msgid "Move suitable axis left/right on your gamepad" msgstr "" "Déplacez l'axe correspondant à gauche ou à droite sur votre manette de jeu" -#: ../src/ui/gamepad-mapper.vala:141 +#: ../src/ui/gamepad-mapper.vala:136 msgid "Move suitable axis up/down on your gamepad" msgstr "" "Déplacez l'axe correspondant en haut ou en bas sur votre manette de jeu" @@ -816,6 +803,10 @@ msgid "Sharp" msgstr "Net" +#: ../src/ui/preferences-page-video.vala:34 +msgid "CRT" +msgstr "Tube cathodique" + #: ../src/utils/cue-sheet/cue-sheet.vala:25 #, c-format msgid "“%s” doesn’t have a track for index %u." @@ -870,6 +861,18 @@ msgid "%s:%lu: Unexpected token %s, expected end of line." msgstr "%s:%lu : Jeton %s inattendu, une fin de ligne est attendue." +#~ msgid "The mapping string can’t be null." +#~ msgstr "La chaîne de caractère de correspondance ne peut pas être nulle." + +#~ msgid "The mapping string can’t be empty." +#~ msgstr "La chaîne de caractère de correspondance ne peut pas être vide." + +#~ msgid "Unable to open file “%s”: %s" +#~ msgstr "Nous n’avons pas pu ouvrir le fichier « %s » : %s" + +#~ msgid "Evdev is unable to open “%s”: %s" +#~ msgstr "Evdev est incapable d’ouvrir « %s » : %s" + #~ msgid "The file doesn’t have a Master System header." #~ msgstr "Le fichier n’a pas d’en-tête Master System." diff -Nru gnome-games-app-3.26.2/po/hr.po gnome-games-app-3.28.0/po/hr.po --- gnome-games-app-3.26.2/po/hr.po 2017-10-30 08:01:14.000000000 +0000 +++ gnome-games-app-3.28.0/po/hr.po 2018-01-30 09:48:30.000000000 +0000 @@ -8,8 +8,8 @@ "Project-Id-Version: gnome-games master\n" "Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "games&keywords=I18N+L10N&component=general\n" -"POT-Creation-Date: 2017-09-18 08:27+0000\n" -"PO-Revision-Date: 2017-09-25 19:46+0200\n" +"POT-Creation-Date: 2017-11-16 06:55+0000\n" +"PO-Revision-Date: 2017-11-20 12:49+0100\n" "Last-Translator: gogo \n" "Language-Team: Croatian \n" "Language: hr\n" @@ -18,7 +18,7 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n" "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Poedit 2.0.4\n" +"X-Generator: Poedit 1.8.7.1\n" #: ../data/org.gnome.Games.appdata.xml.in.h:1 #: ../data/org.gnome.Games.desktop.in.h:1 @@ -39,7 +39,7 @@ msgstr "" "Igre je GNOME 3 aplikacija za pregled vaše video igroteke i jednostavan " "odabir i igranje igre iz nje. Nastoji postići ono za igre što Glazba već " -"obavlja za svoju fonoteku." +"obavlja za vašu fonoteku." #: ../data/org.gnome.Games.appdata.xml.in.h:4 msgid "" @@ -58,11 +58,11 @@ #: ../data/org.gnome.Games.appdata.xml.in.h:6 msgid "List your installed games, your Steam games, your game ROMs…" msgstr "" -"Prikažite svoje instalirane igre, svoje Steam igre, i svoje ROM-ove igara…" +"Prikaz vaših instaliranih igara, vaših Steam igri i vaših ROM-ova za igre…" #: ../data/org.gnome.Games.appdata.xml.in.h:7 msgid "Search in your games collection" -msgstr "Pretražite svoju kolekciju igara" +msgstr "Pretraga vaše kolekcije igara" #: ../data/org.gnome.Games.appdata.xml.in.h:8 msgid "Play your games" @@ -99,10 +99,10 @@ #: ../data/org.gnome.Games.gschema.xml.h:4 msgid "" "Filter for the game video output. Allowed values are: “smooth” (blurry " -"pixels), “sharp” (blocky pixels)." +"pixels), “sharp” (blocky pixels), “crt” (CRT emulation)." msgstr "" "Filter za video izlaz igre. Dopuštene vrijednosti su: “smooth” (zamućeni " -"pikseli), “sharp” (blok pikseli)." +"pikseli), “sharp” (blok pikseli), “crt” (CRT emulacija)." #: ../data/org.gnome.Games.gschema.xml.h:5 msgid "Window maximized" @@ -476,24 +476,6 @@ msgid "No disc found for disc ID “%s”." msgstr "Nema pronađenog diska za disk ID “%s”." -#: ../src/gamepad/gamepad-mapping.c:236 -msgid "The mapping string can’t be null." -msgstr "Znak mapiranja ne može biti nula." - -#: ../src/gamepad/gamepad-mapping.c:245 -msgid "The mapping string can’t be empty." -msgstr "Znak mapiranja ne može biti prazan." - -#: ../src/gamepad/linux/linux-raw-gamepad.c:291 -#, c-format -msgid "Unable to open file “%s”: %s" -msgstr "Nemoguće otvaranje datoteke “%s”: %s" - -#: ../src/gamepad/linux/linux-raw-gamepad.c:304 -#, c-format -msgid "Evdev is unable to open “%s”: %s" -msgstr "Evdev ne može otvoriti “%s”: %s" - #: ../src/retro/retro-core-source.vala:25 #: ../src/retro/retro-core-source.vala:37 #, c-format @@ -704,17 +686,17 @@ msgid "WonderSwan Color" msgstr "WonderSwan Color" -#: ../src/retro/retro-runner.vala:246 +#: ../src/retro/retro-runner.vala:239 #, c-format msgid "No module found for “%s”." msgstr "Modul nije pronađen za “%s”." -#: ../src/retro/retro-runner.vala:577 +#: ../src/retro/retro-runner.vala:568 #, c-format msgid "The system “%s” isn’t supported yet, but full support is planned." msgstr "Sustav “%s” još nije podržan, ali potpuna podrška je planirana." -#: ../src/retro/retro-runner.vala:580 +#: ../src/retro/retro-runner.vala:571 msgid "The system isn’t supported yet, but full support is planned." msgstr "Sustav još nije podržan, ali potpuna podrška je planirana." @@ -764,26 +746,26 @@ msgstr "Ups! Nemoguće je pokrenuti igru" #. translators: testing a gamepad, %s is its name -#: ../src/ui/gamepad-configurer.vala:79 +#: ../src/ui/gamepad-configurer.vala:78 #, c-format msgid "Testing %s" msgstr "Testiram %s" #. translators: configuring a gamepad, %s is its name -#: ../src/ui/gamepad-configurer.vala:93 +#: ../src/ui/gamepad-configurer.vala:92 #, c-format msgid "Configuring %s" msgstr "Podešavam %s" -#: ../src/ui/gamepad-mapper.vala:134 +#: ../src/ui/gamepad-mapper.vala:129 msgid "Press suitable button on your gamepad" msgstr "Pritisnite odgovarajuću tipku na vašem upravljaču igre" -#: ../src/ui/gamepad-mapper.vala:139 +#: ../src/ui/gamepad-mapper.vala:134 msgid "Move suitable axis left/right on your gamepad" msgstr "Pritisnite odgovarajuće palice lijevo/desno na vašem upravljaču igre" -#: ../src/ui/gamepad-mapper.vala:141 +#: ../src/ui/gamepad-mapper.vala:136 msgid "Move suitable axis up/down on your gamepad" msgstr "Pritisnite odgovarajuće palice gore/dolje na vašem upravljaču igre" @@ -801,6 +783,10 @@ msgid "Sharp" msgstr "Oštra" +#: ../src/ui/preferences-page-video.vala:34 +msgid "CRT" +msgstr "CRT" + #: ../src/utils/cue-sheet/cue-sheet.vala:25 #, c-format msgid "“%s” doesn’t have a track for index %u." @@ -852,6 +838,18 @@ msgid "%s:%lu: Unexpected token %s, expected end of line." msgstr "%s:%lu: Neočekivani simbol %s, očekivan završetak redka." +#~ msgid "The mapping string can’t be null." +#~ msgstr "Znak mapiranja ne može biti nula." + +#~ msgid "The mapping string can’t be empty." +#~ msgstr "Znak mapiranja ne može biti prazan." + +#~ msgid "Unable to open file “%s”: %s" +#~ msgstr "Nemoguće otvaranje datoteke “%s”: %s" + +#~ msgid "Evdev is unable to open “%s”: %s" +#~ msgstr "Evdev ne može otvoriti “%s”: %s" + #~ msgid "The file doesn’t have a Master System header." #~ msgstr "Datoteka nema Master System zaglavlje." diff -Nru gnome-games-app-3.26.2/po/hu.po gnome-games-app-3.28.0/po/hu.po --- gnome-games-app-3.26.2/po/hu.po 2017-10-30 08:01:14.000000000 +0000 +++ gnome-games-app-3.28.0/po/hu.po 2018-03-12 14:10:38.000000000 +0000 @@ -1,24 +1,23 @@ # Hungarian translation for gnome-games. -# Copyright (C) 2016, 2017 Free Software Foundation, Inc. +# Copyright (C) 2016, 2017, 2018 Free Software Foundation, Inc. # This file is distributed under the same license as the gnome-games package. # -# Balázs Úr , 2016, 2017. +# Balázs Úr , 2016, 2017, 2018. # Gabor Kelemen , 2017. msgid "" msgstr "" "Project-Id-Version: gnome-games master\n" -"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" -"games&keywords=I18N+L10N&component=general\n" -"POT-Creation-Date: 2017-09-18 08:28+0000\n" -"PO-Revision-Date: 2017-09-28 22:26+0200\n" -"Last-Translator: Meskó Balázs \n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-games/issues\n" +"POT-Creation-Date: 2017-11-24 18:28+0000\n" +"PO-Revision-Date: 2018-03-04 21:49+0100\n" +"Last-Translator: Balázs Úr \n" "Language-Team: Hungarian \n" "Language: hu\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 2.0.3\n" +"X-Generator: Lokalize 1.2\n" #: ../data/org.gnome.Games.appdata.xml.in.h:1 #: ../data/org.gnome.Games.desktop.in.h:1 @@ -99,10 +98,10 @@ #: ../data/org.gnome.Games.gschema.xml.h:4 msgid "" "Filter for the game video output. Allowed values are: “smooth” (blurry " -"pixels), “sharp” (blocky pixels)." +"pixels), “sharp” (blocky pixels), “crt” (CRT emulation)." msgstr "" "A játék videokimenetének szűrése. Lehetséges értékek: „smooth” (homályos " -"pixelek), „sharp” (kockás pixelek)." +"pixelek), „sharp” (kockás pixelek), „crt” (CRT emuláció)." #: ../data/org.gnome.Games.gschema.xml.h:5 msgid "Window maximized" @@ -478,24 +477,6 @@ msgid "No disc found for disc ID “%s”." msgstr "Nem található lemez a(z) „%s” lemezazonosítóhoz." -#: ../src/gamepad/gamepad-mapping.c:236 -msgid "The mapping string can’t be null." -msgstr "A leképező karakterlánc nem lehet null." - -#: ../src/gamepad/gamepad-mapping.c:245 -msgid "The mapping string can’t be empty." -msgstr "A leképező karakterlánc nem lehet üres." - -#: ../src/gamepad/linux/linux-raw-gamepad.c:291 -#, c-format -msgid "Unable to open file “%s”: %s" -msgstr "A(z) „%s” fájl nem nyitható meg: %s" - -#: ../src/gamepad/linux/linux-raw-gamepad.c:304 -#, c-format -msgid "Evdev is unable to open “%s”: %s" -msgstr "Az evdev nem tudja megnyitni a(z) „%s” fájlt: %s" - #: ../src/retro/retro-core-source.vala:25 #: ../src/retro/retro-core-source.vala:37 #, c-format @@ -709,18 +690,18 @@ msgid "WonderSwan Color" msgstr "WonderSwan Color" -#: ../src/retro/retro-runner.vala:246 +#: ../src/retro/retro-runner.vala:239 #, c-format msgid "No module found for “%s”." msgstr "Nem található modul ehhez: „%s”." -#: ../src/retro/retro-runner.vala:577 +#: ../src/retro/retro-runner.vala:568 #, c-format msgid "The system “%s” isn’t supported yet, but full support is planned." msgstr "" "A(z) „%s” rendszer még nem támogatott, de a teljes támogatás tervezett." -#: ../src/retro/retro-runner.vala:580 +#: ../src/retro/retro-runner.vala:571 msgid "The system isn’t supported yet, but full support is planned." msgstr "A rendszer még nem támogatott, de a teljes támogatás tervezett." @@ -729,26 +710,26 @@ msgstr "Játékfájlok kiválasztása" #: ../src/ui/application.vala:137 -msgid "_Cancel" -msgstr "_Mégse" - -#: ../src/ui/application.vala:138 msgid "_Add" msgstr "_Hozzáadás" -#: ../src/ui/application.vala:313 +#: ../src/ui/application.vala:137 +msgid "_Cancel" +msgstr "_Mégse" + +#: ../src/ui/application.vala:310 msgid "GNOME Games" msgstr "GNOME Játékok" -#: ../src/ui/application.vala:315 +#: ../src/ui/application.vala:312 msgid "A video game player for GNOME" msgstr "Egy videojáték-lejátszó a GNOME-hoz" -#: ../src/ui/application.vala:319 +#: ../src/ui/application.vala:316 msgid "Learn more about GNOME Games" msgstr "Tudjon meg többet a GNOME Játékokról" -#: ../src/ui/application.vala:326 +#: ../src/ui/application.vala:323 msgid "translator-credits" msgstr "" "Úr Balázs \n" @@ -772,26 +753,26 @@ msgstr "Hoppá! A játék nem futtatható" #. translators: testing a gamepad, %s is its name -#: ../src/ui/gamepad-configurer.vala:79 +#: ../src/ui/gamepad-configurer.vala:78 #, c-format msgid "Testing %s" msgstr "%s tesztelése" #. translators: configuring a gamepad, %s is its name -#: ../src/ui/gamepad-configurer.vala:93 +#: ../src/ui/gamepad-configurer.vala:92 #, c-format msgid "Configuring %s" msgstr "%s beállítása" -#: ../src/ui/gamepad-mapper.vala:134 +#: ../src/ui/gamepad-mapper.vala:129 msgid "Press suitable button on your gamepad" msgstr "Nyomja meg a megfelelő gombot az irányítón" -#: ../src/ui/gamepad-mapper.vala:139 +#: ../src/ui/gamepad-mapper.vala:134 msgid "Move suitable axis left/right on your gamepad" msgstr "Mozgassa a megfelelő tengelyt balra/jobbra az irányítón" -#: ../src/ui/gamepad-mapper.vala:141 +#: ../src/ui/gamepad-mapper.vala:136 msgid "Move suitable axis up/down on your gamepad" msgstr "Mozgassa a megfelelő tengelyt fel/le az irányítón" @@ -809,6 +790,10 @@ msgid "Sharp" msgstr "Éles" +#: ../src/ui/preferences-page-video.vala:34 +msgid "CRT" +msgstr "CRT" + #: ../src/utils/cue-sheet/cue-sheet.vala:25 #, c-format msgid "“%s” doesn’t have a track for index %u." @@ -859,3 +844,4 @@ #, c-format msgid "%s:%lu: Unexpected token %s, expected end of line." msgstr "%s:%lu: Váratlan %s token, sorvég várt." + diff -Nru gnome-games-app-3.26.2/po/id.po gnome-games-app-3.28.0/po/id.po --- gnome-games-app-3.26.2/po/id.po 2017-10-30 08:01:14.000000000 +0000 +++ gnome-games-app-3.28.0/po/id.po 2018-01-30 09:48:30.000000000 +0000 @@ -6,17 +6,16 @@ msgid "" msgstr "" "Project-Id-Version: gnome-games gnome-3-26\n" -"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" -"games&keywords=I18N+L10N&component=general\n" -"POT-Creation-Date: 2017-09-18 08:28+0000\n" -"PO-Revision-Date: 2017-09-26 13:39+0700\n" -"Last-Translator: Andika Triwidada \n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-games/issues\n" +"POT-Creation-Date: 2017-11-24 18:28+0000\n" +"PO-Revision-Date: 2017-12-11 16:01+0700\n" +"Last-Translator: Kukuh Syafaat \n" "Language-Team: Indonesian \n" "Language: id\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.3\n" +"X-Generator: Poedit 2.0.4\n" #: ../data/org.gnome.Games.appdata.xml.in.h:1 #: ../data/org.gnome.Games.desktop.in.h:1 @@ -98,11 +97,11 @@ #: ../data/org.gnome.Games.gschema.xml.h:4 msgid "" "Filter for the game video output. Allowed values are: “smooth” (blurry " -"pixels), “sharp” (blocky pixels)." +"pixels), “sharp” (blocky pixels), “crt” (CRT emulation)." msgstr "" "Penyaring untuk keluaran video game. nilai yang diperbolehkan adalah: " -"\"halus/smooth\" (pixel kabur/blurry pixels), \"tajam/sharp\" (blocky " -"pixels)." +"\"smooth\" (pixel kabur/blurry pixels), \"sharp\" (blocky pixels), \"crt" +"\" (emulasi CRT)." #: ../data/org.gnome.Games.gschema.xml.h:5 msgid "Window maximized" @@ -477,24 +476,6 @@ msgid "No disc found for disc ID “%s”." msgstr "Tidak ada diska yang ditemukan untuk ID diska \"%s\"." -#: ../src/gamepad/gamepad-mapping.c:236 -msgid "The mapping string can’t be null." -msgstr "String pemetaan tidak boleh null." - -#: ../src/gamepad/gamepad-mapping.c:245 -msgid "The mapping string can’t be empty." -msgstr "String pemetaan tidak boleh kosong." - -#: ../src/gamepad/linux/linux-raw-gamepad.c:291 -#, c-format -msgid "Unable to open file “%s”: %s" -msgstr "Tidak dapat membuka berkas “%s”: %s" - -#: ../src/gamepad/linux/linux-raw-gamepad.c:304 -#, c-format -msgid "Evdev is unable to open “%s”: %s" -msgstr "Evdev tidak dapat membuka “%s”: %s" - #: ../src/retro/retro-core-source.vala:25 #: ../src/retro/retro-core-source.vala:37 #, c-format @@ -710,17 +691,17 @@ msgid "WonderSwan Color" msgstr "WonderSwan Color" -#: ../src/retro/retro-runner.vala:246 +#: ../src/retro/retro-runner.vala:239 #, c-format msgid "No module found for “%s”." msgstr "Tidak ada modul yang ditemukan untuk \"%s\"." -#: ../src/retro/retro-runner.vala:577 +#: ../src/retro/retro-runner.vala:568 #, c-format msgid "The system “%s” isn’t supported yet, but full support is planned." msgstr "Sistem \"%s\" tidak didukung, tapi dukungan penuh direncanakan." -#: ../src/retro/retro-runner.vala:580 +#: ../src/retro/retro-runner.vala:571 msgid "The system isn’t supported yet, but full support is planned." msgstr "Sistem ini belum didukung, tetapi dukungan penuh direncanakan." @@ -729,26 +710,26 @@ msgstr "Pilih berkas permainan" #: ../src/ui/application.vala:137 -msgid "_Cancel" -msgstr "_Batal" - -#: ../src/ui/application.vala:138 msgid "_Add" msgstr "T_ambah" -#: ../src/ui/application.vala:313 +#: ../src/ui/application.vala:137 +msgid "_Cancel" +msgstr "_Batal" + +#: ../src/ui/application.vala:310 msgid "GNOME Games" msgstr "Permainan GNOME" -#: ../src/ui/application.vala:315 +#: ../src/ui/application.vala:312 msgid "A video game player for GNOME" msgstr "Player permainan video untuk GNOME" -#: ../src/ui/application.vala:319 +#: ../src/ui/application.vala:316 msgid "Learn more about GNOME Games" msgstr "Pelajari lebih lanjut mengenai Permainan GNOME" -#: ../src/ui/application.vala:326 +#: ../src/ui/application.vala:323 msgid "translator-credits" msgstr "" "Lorenz Adam Damara , 2016.\n" @@ -772,26 +753,26 @@ msgstr "Ups! Tidak dapat menjalankan permainan" #. translators: testing a gamepad, %s is its name -#: ../src/ui/gamepad-configurer.vala:79 +#: ../src/ui/gamepad-configurer.vala:78 #, c-format msgid "Testing %s" msgstr "Menguji %s" #. translators: configuring a gamepad, %s is its name -#: ../src/ui/gamepad-configurer.vala:93 +#: ../src/ui/gamepad-configurer.vala:92 #, c-format msgid "Configuring %s" msgstr "Mengkonfigurasi %s" -#: ../src/ui/gamepad-mapper.vala:134 +#: ../src/ui/gamepad-mapper.vala:129 msgid "Press suitable button on your gamepad" msgstr "Tekan tombol yang sesuai pada gamepad Anda" -#: ../src/ui/gamepad-mapper.vala:139 +#: ../src/ui/gamepad-mapper.vala:134 msgid "Move suitable axis left/right on your gamepad" msgstr "Pindahkan sumbu yang sesuai ke kiri/kanan pada gamepad Anda" -#: ../src/ui/gamepad-mapper.vala:141 +#: ../src/ui/gamepad-mapper.vala:136 msgid "Move suitable axis up/down on your gamepad" msgstr "Pindahkan sumbu yang sesuai ke atas/bawah pada gamepad Anda" @@ -809,6 +790,10 @@ msgid "Sharp" msgstr "Tajam" +#: ../src/ui/preferences-page-video.vala:34 +msgid "CRT" +msgstr "CRT" + #: ../src/utils/cue-sheet/cue-sheet.vala:25 #, c-format msgid "“%s” doesn’t have a track for index %u." @@ -861,3 +846,15 @@ #, c-format msgid "%s:%lu: Unexpected token %s, expected end of line." msgstr "%s:%lu: Token tidak terduga %s, diharapkan akhir baris." + +#~ msgid "The mapping string can’t be null." +#~ msgstr "String pemetaan tidak boleh null." + +#~ msgid "The mapping string can’t be empty." +#~ msgstr "String pemetaan tidak boleh kosong." + +#~ msgid "Unable to open file “%s”: %s" +#~ msgstr "Tidak dapat membuka berkas “%s”: %s" + +#~ msgid "Evdev is unable to open “%s”: %s" +#~ msgstr "Evdev tidak dapat membuka “%s”: %s" diff -Nru gnome-games-app-3.26.2/po/it.po gnome-games-app-3.28.0/po/it.po --- gnome-games-app-3.26.2/po/it.po 2017-09-30 11:23:08.000000000 +0000 +++ gnome-games-app-3.28.0/po/it.po 2018-03-12 14:10:38.000000000 +0000 @@ -1,23 +1,22 @@ # Italian translaion for GNOME Games. -# Copyright (C) 2016, 2017 The GNOME Games Authors. +# Copyright (C) 2016, 2017, 2018 The GNOME Games Authors. # This file is distributed under the same license as the GNOME Games package. # Michael Moroni , 2016. -# Milo Casagrande , 2016, 2017. +# Milo Casagrande , 2016, 2017, 2018. # msgid "" msgstr "" "Project-Id-Version: gnome-games\n" -"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" -"games&keywords=I18N+L10N&component=general\n" -"POT-Creation-Date: 2017-09-18 08:28+0000\n" -"PO-Revision-Date: 2017-09-19 14:57+0200\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-games/issues\n" +"POT-Creation-Date: 2017-11-24 18:28+0000\n" +"PO-Revision-Date: 2018-03-09 13:33+0100\n" "Last-Translator: Milo Casagrande \n" "Language-Team: Italian \n" "Language: it\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 2.0.1\n" +"X-Generator: Poedit 2.0.6\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" #: ../data/org.gnome.Games.appdata.xml.in.h:1 @@ -99,10 +98,10 @@ #: ../data/org.gnome.Games.gschema.xml.h:4 msgid "" "Filter for the game video output. Allowed values are: “smooth” (blurry " -"pixels), “sharp” (blocky pixels)." +"pixels), “sharp” (blocky pixels), “crt” (CRT emulation)." msgstr "" "Filtra il tipo di uscita video dei giochi. Valori consentiti sono: \"smooth" -"\" (morbido), \"sharp\" (dettagliato)." +"\" (morbido), \"sharp\" (dettagliato), \"crt\" (emulazione CRT)." #: ../data/org.gnome.Games.gschema.xml.h:5 msgid "Window maximized" @@ -476,24 +475,6 @@ msgid "No disc found for disc ID “%s”." msgstr "Nessun disco trovato per il disco con ID «%s»." -#: ../src/gamepad/gamepad-mapping.c:236 -msgid "The mapping string can’t be null." -msgstr "La stringa di mappatura non può essere nulla." - -#: ../src/gamepad/gamepad-mapping.c:245 -msgid "The mapping string can’t be empty." -msgstr "La stringa di mappatura non può essere vuota." - -#: ../src/gamepad/linux/linux-raw-gamepad.c:291 -#, c-format -msgid "Unable to open file “%s”: %s" -msgstr "Impossibile aprire il file «%s»: %s" - -#: ../src/gamepad/linux/linux-raw-gamepad.c:304 -#, c-format -msgid "Evdev is unable to open “%s”: %s" -msgstr "Evdev non è in grado di aprire «%s»: %s" - #: ../src/retro/retro-core-source.vala:25 #: ../src/retro/retro-core-source.vala:37 #, c-format @@ -708,17 +689,17 @@ msgid "WonderSwan Color" msgstr "WonderSwan Color" -#: ../src/retro/retro-runner.vala:246 +#: ../src/retro/retro-runner.vala:239 #, c-format msgid "No module found for “%s”." msgstr "Nessun modulo trovato per «%s»." -#: ../src/retro/retro-runner.vala:577 +#: ../src/retro/retro-runner.vala:568 #, c-format msgid "The system “%s” isn’t supported yet, but full support is planned." msgstr "Il sistema «%s» non è ancora supportato, ma presto lo sarà." -#: ../src/retro/retro-runner.vala:580 +#: ../src/retro/retro-runner.vala:571 msgid "The system isn’t supported yet, but full support is planned." msgstr "Il sistema non è ancora supportato, ma presto lo sarà." @@ -727,29 +708,29 @@ msgstr "Seleziona file di gioco" #: ../src/ui/application.vala:137 -msgid "_Cancel" -msgstr "A_nnulla" - -#: ../src/ui/application.vala:138 msgid "_Add" msgstr "A_ggiungi" -#: ../src/ui/application.vala:313 +#: ../src/ui/application.vala:137 +msgid "_Cancel" +msgstr "A_nnulla" + +#: ../src/ui/application.vala:310 msgid "GNOME Games" msgstr "Giochi GNOME" -#: ../src/ui/application.vala:315 +#: ../src/ui/application.vala:312 msgid "A video game player for GNOME" msgstr "Un riproduttore di videogiochi per GNOME" -#: ../src/ui/application.vala:319 +#: ../src/ui/application.vala:316 msgid "Learn more about GNOME Games" msgstr "Informazioni su Giochi GNOME" -#: ../src/ui/application.vala:326 +#: ../src/ui/application.vala:323 msgid "translator-credits" msgstr "" -"Milo Casagrande , 2016\n" +"Milo Casagrande , 2016, 2017, 2018\n" "Michael Moroni , 2016" #: ../src/ui/application-window.vala:283 @@ -770,26 +751,26 @@ msgstr "Impossibile lanciare il gioco" #. translators: testing a gamepad, %s is its name -#: ../src/ui/gamepad-configurer.vala:79 +#: ../src/ui/gamepad-configurer.vala:78 #, c-format msgid "Testing %s" msgstr "Verifica di «%s»" #. translators: configuring a gamepad, %s is its name -#: ../src/ui/gamepad-configurer.vala:93 +#: ../src/ui/gamepad-configurer.vala:92 #, c-format msgid "Configuring %s" msgstr "Configurazione di «%s»" -#: ../src/ui/gamepad-mapper.vala:134 +#: ../src/ui/gamepad-mapper.vala:129 msgid "Press suitable button on your gamepad" msgstr "Premere il pulsante corretto sul gamepad" -#: ../src/ui/gamepad-mapper.vala:139 +#: ../src/ui/gamepad-mapper.vala:134 msgid "Move suitable axis left/right on your gamepad" msgstr "Muovere l'asse corretto del gamepad a destra/sinistra" -#: ../src/ui/gamepad-mapper.vala:141 +#: ../src/ui/gamepad-mapper.vala:136 msgid "Move suitable axis up/down on your gamepad" msgstr "Muovere l'asse corretto del gamepad in su/giù" @@ -807,6 +788,10 @@ msgid "Sharp" msgstr "Dettagliato" +#: ../src/ui/preferences-page-video.vala:34 +msgid "CRT" +msgstr "CRT" + #: ../src/utils/cue-sheet/cue-sheet.vala:25 #, c-format msgid "“%s” doesn’t have a track for index %u." @@ -859,6 +844,18 @@ msgid "%s:%lu: Unexpected token %s, expected end of line." msgstr "%s:%lu: elemento %s inatteso, attesa fine riga." +#~ msgid "The mapping string can’t be null." +#~ msgstr "La stringa di mappatura non può essere nulla." + +#~ msgid "The mapping string can’t be empty." +#~ msgstr "La stringa di mappatura non può essere vuota." + +#~ msgid "Unable to open file “%s”: %s" +#~ msgstr "Impossibile aprire il file «%s»: %s" + +#~ msgid "Evdev is unable to open “%s”: %s" +#~ msgstr "Evdev non è in grado di aprire «%s»: %s" + #~ msgid "The file doesn’t have a Master System header." #~ msgstr "Il file non ha un'intestazione Master System." diff -Nru gnome-games-app-3.26.2/po/LINGUAS gnome-games-app-3.28.0/po/LINGUAS --- gnome-games-app-3.26.2/po/LINGUAS 2017-08-01 09:54:51.000000000 +0000 +++ gnome-games-app-3.28.0/po/LINGUAS 2018-01-30 09:48:30.000000000 +0000 @@ -12,6 +12,7 @@ id it ko +nb pl pt pt_BR diff -Nru gnome-games-app-3.26.2/po/nb.po gnome-games-app-3.28.0/po/nb.po --- gnome-games-app-3.26.2/po/nb.po 1970-01-01 00:00:00.000000000 +0000 +++ gnome-games-app-3.28.0/po/nb.po 2018-01-30 09:48:30.000000000 +0000 @@ -0,0 +1,837 @@ +# Norwegian Bokmål translation for gnome-games. +# Copyright (C) 2017 gnome-games's COPYRIGHT HOLDER +# This file is distributed under the same license as the gnome-games package. +# Kjartan Maraas , 2017. +# +msgid "" +msgstr "" +"Project-Id-Version: gnome-games gnome-3-26\n" +"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-games&keywords=I18N+L10N&component=general\n" +"POT-Creation-Date: 2017-11-07 19:14+0000\n" +"PO-Revision-Date: 2017-11-19 14:27+0100\n" +"Last-Translator: Kjartan Maraas \n" +"Language-Team: Norwegian Bokmål \n" +"Language: nb\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../data/org.gnome.Games.appdata.xml.in.h:1 +#: ../data/org.gnome.Games.desktop.in.h:1 +#: ../data/ui/collection-header-bar.ui.h:1 ../data/ui/display-header-bar.ui.h:1 +#: ../src/ui/application.vala:20 +msgid "Games" +msgstr "Spill" + +#: ../data/org.gnome.Games.appdata.xml.in.h:2 +msgid "Simple game launcher for GNOME" +msgstr "Enkel spillstarter for GNOME" + +#: ../data/org.gnome.Games.appdata.xml.in.h:3 +msgid "" +"Games is a GNOME 3 application to browse your video games library and to " +"easily pick and play a game from it. It aims to do for games what Music " +"already does for your music library." +msgstr "" + +#: ../data/org.gnome.Games.appdata.xml.in.h:4 +msgid "" +"You want to install Games if you just want a very simple and comfortable way " +"to play your games and you don’t need advanced features such as speedrunning " +"tools or video game development tools." +msgstr "" + +#: ../data/org.gnome.Games.appdata.xml.in.h:5 +msgid "Features:" +msgstr "Funksjoner:" + +#: ../data/org.gnome.Games.appdata.xml.in.h:6 +msgid "List your installed games, your Steam games, your game ROMs…" +msgstr "" + +#: ../data/org.gnome.Games.appdata.xml.in.h:7 +msgid "Search in your games collection" +msgstr "Søk i spillsamlingen" + +#: ../data/org.gnome.Games.appdata.xml.in.h:8 +msgid "Play your games" +msgstr "Spill dine spill" + +#: ../data/org.gnome.Games.appdata.xml.in.h:9 +msgid "Resume your game to where you left it" +msgstr "Gjenoppta et spill der du forlot det" + +#: ../data/org.gnome.Games.desktop.in.h:2 +msgid "Video game player" +msgstr "" + +#: ../data/org.gnome.Games.desktop.in.h:3 +msgid "View and play your video games collection" +msgstr "" + +#: ../data/org.gnome.Games.desktop.in.h:4 +msgid "game;videogame;video game;player;" +msgstr "spill;videospill;spiller;" + +#: ../data/org.gnome.Games.gschema.xml.h:1 ../data/ui/display-header-bar.ui.h:3 +msgid "Fullscreen" +msgstr "Fullskjerm" + +#: ../data/org.gnome.Games.gschema.xml.h:2 +msgid "Whether the games should be displayed in full screen or not." +msgstr "" + +#: ../data/org.gnome.Games.gschema.xml.h:3 +msgid "Video filter" +msgstr "Videofilter" + +#: ../data/org.gnome.Games.gschema.xml.h:4 +msgid "" +"Filter for the game video output. Allowed values are: “smooth” (blurry " +"pixels), “sharp” (blocky pixels)." +msgstr "" + +#: ../data/org.gnome.Games.gschema.xml.h:5 +msgid "Window maximized" +msgstr "" + +#: ../data/org.gnome.Games.gschema.xml.h:6 +msgid "Window maximized state." +msgstr "" + +#: ../data/org.gnome.Games.gschema.xml.h:7 +msgid "Window size" +msgstr "" + +#: ../data/org.gnome.Games.gschema.xml.h:8 +msgid "Window size (width and height)." +msgstr "" + +#: ../data/gtk/menus.ui.h:1 +msgid "_Preferences" +msgstr "_Brukervalg" + +#: ../data/gtk/menus.ui.h:2 +msgid "_About" +msgstr "_Om" + +#: ../data/gtk/menus.ui.h:3 +msgid "_Quit" +msgstr "A_vslutt" + +#: ../data/ui/collection-box.ui.h:1 +msgid "Loading" +msgstr "Laster" + +#: ../data/ui/collection-header-bar.ui.h:2 +msgid "Add game files…" +msgstr "Legg til spillfiler …" + +#: ../data/ui/collection-header-bar.ui.h:3 +msgid "Search" +msgstr "Søk" + +#: ../data/ui/display-header-bar.ui.h:2 ../data/ui/gamepad-configurer.ui.h:3 +msgid "Back" +msgstr "Tilbake" + +#: ../data/ui/display-header-bar.ui.h:4 +msgid "Restore" +msgstr "Gjenopprett" + +#: ../data/ui/dummy-display.ui.h:1 +msgid "This is a dummy game display" +msgstr "" + +#: ../data/ui/dummy-display.ui.h:2 +msgid "If you see this, this is a bug." +msgstr "" + +#: ../data/ui/dummy-display.ui.h:3 +msgid "Please contact the developers." +msgstr "Vennligst kontakt utviklerene." + +#: ../data/ui/empty-collection.ui.h:1 +msgid "No games found" +msgstr "Fant ingen spill" + +#: ../data/ui/empty-collection.ui.h:2 +msgid "" +"Install games or add directories containing games to your search sources." +msgstr "" + +#: ../data/ui/gamepad-configurer.ui.h:1 +msgctxt "Gamepad configuration factory reset" +msgid "Reset" +msgstr "Nullstill" + +#: ../data/ui/gamepad-configurer.ui.h:2 +msgid "Configure" +msgstr "Konfigurer" + +#: ../data/ui/gamepad-configurer.ui.h:4 ../data/ui/quit-dialog.ui.h:3 +#: ../data/ui/reset-gamepad-mapping-dialog.ui.h:3 +#: ../data/ui/resume-failed-dialog.ui.h:2 +msgid "Cancel" +msgstr "Avbryt" + +#: ../data/ui/gamepad-mapper.ui.h:1 +msgid "Skip" +msgstr "Hopp over" + +#: ../data/ui/media-menu-button.ui.h:1 +msgid "Media" +msgstr "Medie" + +#: ../data/ui/preferences-page-controllers.ui.h:1 +msgid "Gamepads" +msgstr "" + +#: ../data/ui/preferences-page-controllers.ui.h:2 +#: ../data/ui/preferences-window.ui.h:3 +msgid "Controllers" +msgstr "Kontrollere" + +#: ../data/ui/preferences-page-plugins.ui.h:1 +msgid "Plugins" +msgstr "Tillegg" + +#: ../data/ui/preferences-page-plugins.ui.h:2 +#: ../data/ui/preferences-window.ui.h:4 +msgid "Extensions" +msgstr "Utvidelser" + +#: ../data/ui/preferences-page-video.ui.h:1 +msgid "Filter" +msgstr "Filter" + +#: ../data/ui/preferences-page-video.ui.h:2 +#: ../data/ui/preferences-window.ui.h:2 +msgid "Video" +msgstr "Video" + +#: ../data/ui/preferences-window.ui.h:1 +msgid "Preferences" +msgstr "Brukervalg" + +#: ../data/ui/quit-dialog.ui.h:1 +msgid "Are you sure you want to quit?" +msgstr "Er du sikker på at du vil avslutte?" + +#: ../data/ui/quit-dialog.ui.h:2 +msgid "All unsaved progress will be lost." +msgstr "" + +#: ../data/ui/quit-dialog.ui.h:4 +msgid "Quit" +msgstr "Avslutt" + +#: ../data/ui/remote-display.ui.h:1 +msgid "Use the game’s own window to play it" +msgstr "" + +#: ../data/ui/remote-display.ui.h:2 +msgid "This game isn’t integrated to GNOME Games." +msgstr "Dette spillet er ikke integrert med GNOME spill." + +#: ../data/ui/remote-display.ui.h:3 +msgid "You have to use its own window to play it." +msgstr "Du må bruke et eget vindu for å spille det." + +#: ../data/ui/reset-gamepad-mapping-dialog.ui.h:1 +msgid "Factory reset mapping for this gamepad?" +msgstr "" + +#: ../data/ui/reset-gamepad-mapping-dialog.ui.h:2 +msgid "Your mapping will be lost." +msgstr "" + +#: ../data/ui/reset-gamepad-mapping-dialog.ui.h:4 +msgctxt "Confirm gamepad configuration factory reset" +msgid "Reset" +msgstr "Nullstill" + +#: ../data/ui/resume-dialog.ui.h:1 +msgid "Resume last game?" +msgstr "Gjenoppta forrige spill?" + +#: ../data/ui/resume-dialog.ui.h:2 +msgid "Restart" +msgstr "Start på nytt" + +#: ../data/ui/resume-dialog.ui.h:3 +msgid "Resume" +msgstr "Gjenoppta" + +#: ../data/ui/resume-failed-dialog.ui.h:1 +msgid "Resuming failed. Do you want to restart the game?" +msgstr "" + +#: ../data/ui/resume-failed-dialog.ui.h:3 +msgctxt "Resuming a game failed dialog" +msgid "Reset" +msgstr "Nullstill" + +#: ../plugins/desktop/src/desktop-plugin.vala:48 +#, c-format +msgid "Invalid command “%s”." +msgstr "Ugyldig kommando «%s»." + +#: ../plugins/desktop/src/desktop-plugin.vala:58 +#, c-format +msgid "Tracker listed file not found: “%s”." +msgstr "" + +#: ../plugins/desktop/src/desktop-plugin.vala:64 +#, c-format +msgid "Couldn’t parse desktop entry “%s”." +msgstr "" + +#: ../plugins/desktop/src/desktop-plugin.vala:74 +#, c-format +msgid "“%s” shouldn’t be displayed." +msgstr "" + +#: ../plugins/desktop/src/desktop-plugin.vala:77 +#, c-format +msgid "“%s” is hidden." +msgstr "«%s» er skjult." + +#: ../plugins/desktop/src/desktop-plugin.vala:86 +#, c-format +msgid "“%s” has blacklisted category “%s”." +msgstr "" + +#: ../plugins/desktop/src/desktop-plugin.vala:95 +#, c-format +msgid "“%s” has blacklisted executable “%s”." +msgstr "" + +#: ../plugins/desktop/src/desktop-plugin.vala:102 +#, c-format +msgid "“%s” is blacklisted." +msgstr "" + +#: ../plugins/dreamcast/src/dreamcast-header.vala:54 +msgid "The file doesn’t have a Dreamcast header." +msgstr "" + +#: ../plugins/game-cube/src/game-cube-header.vala:20 +msgid "The file doesn’t have a Game Cube header." +msgstr "" + +#: ../plugins/love/src/love-package.vala:13 +#: ../plugins/love/src/love-package.vala:17 +#, c-format +msgid "This doesn’t represent a valid LÖVE package: “%s”." +msgstr "" + +#: ../plugins/mame/src/mame-game-uri-adapter.vala:16 +#, c-format +msgid "Invalid MAME game id “%s” for “%s”." +msgstr "" + +#: ../plugins/playstation/src/playstation-header.vala:27 +#, c-format +msgid "Not a PlayStation disc: “%s”." +msgstr "" + +#: ../plugins/playstation/src/playstation-header.vala:37 +#, c-format +msgid "Invalid PlayStation header: disc ID not found in “%s”." +msgstr "" + +#: ../plugins/sega-cd/src/sega-cd-header.vala:44 +#: ../plugins/sega-cd/src/sega-cd-header.vala:63 +msgid "The file doesn’t have a Genesis/Sega 32X/Sega CD/Sega Pico header." +msgstr "" + +#: ../plugins/sega-cd/src/sega-cd-plugin.vala:78 +#: ../plugins/sega-saturn/src/sega-saturn-plugin.vala:62 +#, c-format +msgid "The file “%s” doesn’t have a track." +msgstr "" + +#: ../plugins/sega-cd/src/sega-cd-plugin.vala:84 +#: ../plugins/sega-saturn/src/sega-saturn-plugin.vala:68 +#, c-format +msgid "The file “%s” doesn’t have a valid binary file format." +msgstr "" + +#: ../plugins/sega-cd/src/sega-cd-plugin.vala:87 +#: ../plugins/sega-saturn/src/sega-saturn-plugin.vala:71 +#, c-format +msgid "The file “%s” doesn’t have a valid track mode for track %d." +msgstr "" + +#: ../plugins/sega-saturn/src/sega-saturn-header.vala:54 +msgid "The file doesn’t have a Sega Saturn header." +msgstr "" + +#: ../plugins/sega-saturn/src/sega-saturn-plugin.vala:75 +#, c-format +msgid "The file “%s” doesn’t have a valid Sega Saturn binary file." +msgstr "" + +#: ../plugins/steam/src/steam-plugin.vala:45 +#, c-format +msgid "Couldn’t get Steam appid from manifest “%s”." +msgstr "" + +#: ../plugins/steam/src/steam-registry.vala:68 +#, c-format +msgid "File “%s” doesn’t exist." +msgstr "" + +#: ../plugins/steam/src/steam-registry.vala:96 +msgid "Unexpected token '{'." +msgstr "" + +#: ../plugins/steam/src/steam-registry.vala:110 +msgid "Unexpected end of tokens." +msgstr "" + +#: ../plugins/steam/src/steam-registry.vala:113 +msgid "Unexpected token '}'." +msgstr "" + +#: ../plugins/steam/src/steam-title.vala:17 +msgid "Couldn’t get name from Steam registry." +msgstr "" + +#: ../plugins/wii/src/wii-header.vala:20 +#, c-format +msgid "Invalid Wii header size: %s" +msgstr "" + +#: ../plugins/wii/src/wii-header.vala:33 ../plugins/wii/src/wii-header.vala:44 +msgid "The file doesn’t have a Wii header." +msgstr "" + +#: ../plugins/wii/src/wii-header.vala:55 +#, c-format +msgid "Couldn’t read file: %s" +msgstr "" + +#: ../src/command/command-runner.vala:33 +msgid "The game doesn’t have a valid command." +msgstr "" + +#: ../src/command/command-runner.vala:64 +#, c-format +msgid "Couldn’t run “%s”: execution failed." +msgstr "" + +#: ../src/core/media-set/media-set.vala:30 +#, c-format +msgid "Invalid media index %u." +msgstr "" + +#: ../src/core/plugin-registrar.vala:27 +#, c-format +msgid "Invalid plugin descriptor: %s" +msgstr "" + +#: ../src/core/plugin-registrar.vala:48 ../src/core/plugin-registrar.vala:52 +#, c-format +msgid "Couldn’t create a new instance of plugin in “%s”." +msgstr "" + +#: ../src/gameinfo/gameinfo-disc-id-disc-title.vala:24 +#, c-format +msgid "Disc %d" +msgstr "" + +#: ../src/gameinfo/gameinfo-doc.vala:15 +#, c-format +msgid "No game title found for disc ID “%s”." +msgstr "" + +#: ../src/gameinfo/gameinfo-doc.vala:31 +#, c-format +msgid "No disc title found for disc ID “%s”." +msgstr "" + +#: ../src/gameinfo/gameinfo-doc.vala:41 +#, c-format +msgid "No disc set ID found for disc ID “%s”." +msgstr "" + +#: ../src/gameinfo/gameinfo-doc.vala:49 ../src/gameinfo/gameinfo-doc.vala:59 +#, c-format +msgid "No disc found for disc ID “%s”." +msgstr "" + +#: ../src/gamepad/gamepad-mapping.c:236 +msgid "The mapping string can’t be null." +msgstr "" + +#: ../src/gamepad/gamepad-mapping.c:245 +msgid "The mapping string can’t be empty." +msgstr "" + +#: ../src/gamepad/linux/linux-raw-gamepad.c:291 +#, c-format +msgid "Unable to open file “%s”: %s" +msgstr "" + +#: ../src/gamepad/linux/linux-raw-gamepad.c:304 +#, c-format +msgid "Evdev is unable to open “%s”: %s" +msgstr "" + +#: ../src/retro/retro-core-source.vala:25 +#: ../src/retro/retro-core-source.vala:37 +#, c-format +msgid "No module found for platform “%s” and MIME types [ “%s” ]." +msgstr "" + +#: ../src/retro/retro-core-source.vala:25 +#: ../src/retro/retro-core-source.vala:37 +msgid "”, “" +msgstr "" + +#: ../src/retro/retro-core-source.vala:76 +#, c-format +msgid "This game requires the %s firmware file to run." +msgstr "" + +#: ../src/retro/retro-core-source.vala:93 +#, c-format +msgid "" +"This game requires the %s firmware file with a MD5 fingerprint of %s to run." +msgstr "" + +#: ../src/retro/retro-core-source.vala:99 +#, c-format +msgid "" +"This game requires the %s firmware file with a SHA-512 fingerprint of %s to " +"run." +msgstr "" + +#: ../src/retro/retro-platform.vala:7 +msgid "Amiga" +msgstr "Amiga" + +#: ../src/retro/retro-platform.vala:9 +msgid "Atari 2600" +msgstr "Atari 2600" + +#: ../src/retro/retro-platform.vala:11 +msgid "Atari 5200" +msgstr "Atari 5200" + +#: ../src/retro/retro-platform.vala:13 +msgid "Atari 7800" +msgstr "Atari 7800" + +#: ../src/retro/retro-platform.vala:15 +msgid "Atari Lynx" +msgstr "Atari Lynx" + +#: ../src/retro/retro-platform.vala:17 +msgid "DOOM" +msgstr "DOOM" + +#: ../src/retro/retro-platform.vala:19 +msgid "Dreamcast" +msgstr "Dreamcast" + +#. translators: only released in eastern Asia +#: ../src/retro/retro-platform.vala:22 +msgid "Famicom Disk System" +msgstr "" + +#: ../src/retro/retro-platform.vala:24 +msgid "Game Boy" +msgstr "Game Boy" + +#: ../src/retro/retro-platform.vala:26 +msgid "Game Boy Color" +msgstr "Game Boy Color" + +#: ../src/retro/retro-platform.vala:28 +msgid "Game Boy Advance" +msgstr "Game Boy Advance" + +#: ../src/retro/retro-platform.vala:30 +msgid "Nintendo GameCube" +msgstr "Nintendo GameCube" + +#: ../src/retro/retro-platform.vala:32 +msgid "Game Gear" +msgstr "Game Gear" + +#. translators: the "Multiple Arcade Machine Emulator" +#: ../src/retro/retro-platform.vala:35 +msgid "MAME" +msgstr "MAME" + +#: ../src/retro/retro-platform.vala:37 +msgid "MS-DOS" +msgstr "MS-DOS" + +#: ../src/retro/retro-platform.vala:39 +msgid "Neo Geo Pocket" +msgstr "" + +#. translators: known as "Famicom" in eastern Asia +#: ../src/retro/retro-platform.vala:42 +msgid "Nintendo Entertainment System" +msgstr "" + +#: ../src/retro/retro-platform.vala:44 +msgid "Nintendo 64" +msgstr "Nintendo 64" + +#: ../src/retro/retro-platform.vala:46 +msgid "Nintendo DS" +msgstr "Nintendo DS" + +#: ../src/retro/retro-platform.vala:48 +msgid "Nintendo 3DS" +msgstr "Nintendo 3DS" + +#: ../src/retro/retro-platform.vala:50 +msgid "PlayStation" +msgstr "PlayStation" + +#: ../src/retro/retro-platform.vala:52 +msgid "PlayStation 2" +msgstr "PlayStation 2" + +#: ../src/retro/retro-platform.vala:54 +msgid "PlayStation 3" +msgstr "PlayStation 3" + +#: ../src/retro/retro-platform.vala:56 +msgid "PlayStation 4" +msgstr "PlayStation 4" + +#: ../src/retro/retro-platform.vala:58 +msgid "PlayStation Portable" +msgstr "PlayStation Portable" + +#: ../src/retro/retro-platform.vala:60 +msgid "PlayStation Vita" +msgstr "PlayStation Vita" + +#. translators: known as "Mega Drive 32X", "Mega 32X" or "Super 32X" in other places +#: ../src/retro/retro-platform.vala:63 +msgid "Genesis 32X" +msgstr "Genesis 32X" + +#. translators: known as "Mega-CD" in most of the world +#: ../src/retro/retro-platform.vala:66 +msgid "Sega CD" +msgstr "Sega CD" + +#. translators: known as "Mega-CD 32X" in most of the world +#: ../src/retro/retro-platform.vala:69 +msgid "Sega CD 32X" +msgstr "Sega CD 32X" + +#. translators: known as "Mega Drive" in most of the world +#: ../src/retro/retro-platform.vala:72 +msgid "Sega Genesis" +msgstr "Sega Genesis" + +#. translators: also known as "Sega Mark III" in eastern asia +#: ../src/retro/retro-platform.vala:75 +msgid "Sega Master System" +msgstr "Sega Master System" + +#: ../src/retro/retro-platform.vala:77 +msgid "Sega Pico" +msgstr "Sega Pico" + +#: ../src/retro/retro-platform.vala:79 +msgid "Sega Saturn" +msgstr "Sega Saturn" + +#: ../src/retro/retro-platform.vala:81 +msgid "SG-1000" +msgstr "SG-1000" + +#. translators: known as "Super Famicom" in eastern Asia +#: ../src/retro/retro-platform.vala:84 +msgid "Super Nintendo Entertainment System" +msgstr "" + +#. translators: known as "PC Engine" in eastern Asia and France +#: ../src/retro/retro-platform.vala:87 +msgid "TurboGrafx-16" +msgstr "" + +#. translators: known as "CD-ROM²" in eastern Asia and France +#: ../src/retro/retro-platform.vala:90 +msgid "TurboGrafx-CD" +msgstr "" + +#: ../src/retro/retro-platform.vala:92 +msgid "Wii" +msgstr "Wii" + +#: ../src/retro/retro-platform.vala:94 +msgid "Wii U" +msgstr "Wii U" + +#: ../src/retro/retro-platform.vala:96 +msgid "WiiWare" +msgstr "WiiWare" + +#: ../src/retro/retro-platform.vala:98 +msgid "WonderSwan" +msgstr "" + +#: ../src/retro/retro-platform.vala:100 +msgid "WonderSwan Color" +msgstr "" + +#: ../src/retro/retro-runner.vala:246 +#, c-format +msgid "No module found for “%s”." +msgstr "" + +#: ../src/retro/retro-runner.vala:577 +#, c-format +msgid "The system “%s” isn’t supported yet, but full support is planned." +msgstr "" + +#: ../src/retro/retro-runner.vala:580 +msgid "The system isn’t supported yet, but full support is planned." +msgstr "" + +#: ../src/ui/application.vala:136 +msgid "Select game files" +msgstr "Velg spillfiler" + +#: ../src/ui/application.vala:137 +msgid "_Cancel" +msgstr "A_vbryt" + +#: ../src/ui/application.vala:138 +msgid "_Add" +msgstr "_Legg til" + +#: ../src/ui/application.vala:313 +msgid "GNOME Games" +msgstr "GNOME spill" + +#: ../src/ui/application.vala:315 +msgid "A video game player for GNOME" +msgstr "" + +#: ../src/ui/application.vala:319 +msgid "Learn more about GNOME Games" +msgstr "" + +#: ../src/ui/application.vala:326 +msgid "translator-credits" +msgstr "Kjartan Maraas " + +#: ../src/ui/application-window.vala:283 +msgid "An unexpected error occurred." +msgstr "" + +#: ../src/ui/application-window.vala:524 ../src/ui/application-window.vala:541 +msgid "Playing a game" +msgstr "" + +#: ../src/ui/error-display.vala:13 +#, c-format +msgid "Oops! Unable to run “%s”" +msgstr "" + +#: ../src/ui/error-display.vala:15 +msgid "Oops! Unable to run the game" +msgstr "" + +#. translators: testing a gamepad, %s is its name +#: ../src/ui/gamepad-configurer.vala:79 +#, c-format +msgid "Testing %s" +msgstr "Tester %s" + +#. translators: configuring a gamepad, %s is its name +#: ../src/ui/gamepad-configurer.vala:93 +#, c-format +msgid "Configuring %s" +msgstr "Konfigurerer %s" + +#: ../src/ui/gamepad-mapper.vala:134 +msgid "Press suitable button on your gamepad" +msgstr "" + +#: ../src/ui/gamepad-mapper.vala:139 +msgid "Move suitable axis left/right on your gamepad" +msgstr "" + +#: ../src/ui/gamepad-mapper.vala:141 +msgid "Move suitable axis up/down on your gamepad" +msgstr "" + +#: ../src/ui/media-selector.vala:27 +#, c-format +msgid "Media %d" +msgstr "" + +#. same as video-filters in gschema +#: ../src/ui/preferences-page-video.vala:34 +msgid "Smooth" +msgstr "Myk" + +#: ../src/ui/preferences-page-video.vala:34 +msgid "Sharp" +msgstr "Skarp" + +#: ../src/utils/cue-sheet/cue-sheet.vala:25 +#, c-format +msgid "“%s” doesn’t have a track for index %u." +msgstr "" + +#: ../src/utils/cue-sheet/cue-sheet.vala:114 +#, c-format +msgid "%s:%lu: Invalid file format %s, expected a valid file format or none." +msgstr "" + +#: ../src/utils/cue-sheet/cue-sheet.vala:121 +#, c-format +msgid "%s:%lu: Unexpected token TRACK before a FILE token." +msgstr "" + +#: ../src/utils/cue-sheet/cue-sheet.vala:130 +#, c-format +msgid "%s:%lu: Invalid track number %s, expected a number in the 1-99 range." +msgstr "" + +#: ../src/utils/cue-sheet/cue-sheet.vala:134 +#, c-format +msgid "%s:%lu: Invalid track mode %s, expected a valid track mode." +msgstr "" + +#: ../src/utils/cue-sheet/cue-sheet.vala:141 +#, c-format +msgid "%s:%lu: Unexpected end of file, expected %s." +msgstr "" + +#: ../src/utils/cue-sheet/cue-sheet.vala:144 +#, c-format +msgid "%s:%lu: Unexpected token %s, expected %s." +msgstr "" + +#: ../src/utils/cue-sheet/cue-sheet.vala:151 +#, c-format +msgid "%s:%lu: Unexpected end of file, expected a token." +msgstr "" + +#: ../src/utils/cue-sheet/cue-sheet.vala:154 +#, c-format +msgid "%s:%lu: Unexpected end of line, expected a token." +msgstr "" + +#: ../src/utils/cue-sheet/cue-sheet.vala:177 +#, c-format +msgid "%s:%lu: Unexpected token %s, expected end of line." +msgstr "" diff -Nru gnome-games-app-3.26.2/po/pl.po gnome-games-app-3.28.0/po/pl.po --- gnome-games-app-3.26.2/po/pl.po 2017-09-30 11:23:08.000000000 +0000 +++ gnome-games-app-3.28.0/po/pl.po 2018-01-30 09:48:30.000000000 +0000 @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: gnome-games\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2017-09-20 02:11+0200\n" -"PO-Revision-Date: 2017-09-20 02:12+0200\n" +"POT-Creation-Date: 2017-11-19 19:38+0100\n" +"PO-Revision-Date: 2017-11-19 19:39+0100\n" "Last-Translator: Piotr Drąg \n" "Language-Team: Polish \n" "Language: pl\n" @@ -102,10 +102,10 @@ #: ../data/org.gnome.Games.gschema.xml.h:4 msgid "" "Filter for the game video output. Allowed values are: “smooth” (blurry " -"pixels), “sharp” (blocky pixels)." +"pixels), “sharp” (blocky pixels), “crt” (CRT emulation)." msgstr "" "Filtr wyjścia obrazu gry. Dozwolone wartości: „smooth” (rozmyte piksele), " -"„sharp” (kanciaste piksele)." +"„sharp” (kanciaste piksele), „crt” (emulacja monitora kineskopowego)." #: ../data/org.gnome.Games.gschema.xml.h:5 msgid "Window maximized" @@ -482,24 +482,6 @@ msgid "No disc found for disc ID “%s”." msgstr "Nie odnaleziono płyty dla identyfikatora „%s”." -#: ../src/gamepad/gamepad-mapping.c:236 -msgid "The mapping string can’t be null." -msgstr "Ciąg mapowania nie może wynosić „null”." - -#: ../src/gamepad/gamepad-mapping.c:245 -msgid "The mapping string can’t be empty." -msgstr "Ciąg mapowania nie może być pusty." - -#: ../src/gamepad/linux/linux-raw-gamepad.c:291 -#, c-format -msgid "Unable to open file “%s”: %s" -msgstr "Nie można otworzyć pliku „%s”: %s" - -#: ../src/gamepad/linux/linux-raw-gamepad.c:304 -#, c-format -msgid "Evdev is unable to open “%s”: %s" -msgstr "Evdev nie może otworzyć pliku „%s”: %s" - #: ../src/retro/retro-core-source.vala:25 #: ../src/retro/retro-core-source.vala:37 #, c-format @@ -712,17 +694,17 @@ msgid "WonderSwan Color" msgstr "WonderSwan Color" -#: ../src/retro/retro-runner.vala:246 +#: ../src/retro/retro-runner.vala:239 #, c-format msgid "No module found for “%s”." msgstr "Nie odnaleziono modułu dla „%s”." -#: ../src/retro/retro-runner.vala:577 +#: ../src/retro/retro-runner.vala:568 #, c-format msgid "The system “%s” isn’t supported yet, but full support is planned." msgstr "Konsola „%s” nie jest jeszcze obsługiwana, ale jest w planach." -#: ../src/retro/retro-runner.vala:580 +#: ../src/retro/retro-runner.vala:571 msgid "The system isn’t supported yet, but full support is planned." msgstr "Konsola nie jest jeszcze obsługiwana, ale jest w planach." @@ -731,26 +713,26 @@ msgstr "Wybór plików gry" #: ../src/ui/application.vala:137 -msgid "_Cancel" -msgstr "_Anuluj" - -#: ../src/ui/application.vala:138 msgid "_Add" msgstr "_Dodaj" -#: ../src/ui/application.vala:313 +#: ../src/ui/application.vala:137 +msgid "_Cancel" +msgstr "_Anuluj" + +#: ../src/ui/application.vala:310 msgid "GNOME Games" msgstr "Gry GNOME" -#: ../src/ui/application.vala:315 +#: ../src/ui/application.vala:312 msgid "A video game player for GNOME" msgstr "Uruchamianie gier w środowisku GNOME" -#: ../src/ui/application.vala:319 +#: ../src/ui/application.vala:316 msgid "Learn more about GNOME Games" msgstr "Więcej informacji o Grach GNOME" -#: ../src/ui/application.vala:326 +#: ../src/ui/application.vala:323 msgid "translator-credits" msgstr "" "Piotr Drąg , 2016-2017\n" @@ -774,26 +756,26 @@ msgstr "Nie można uruchomić gry" #. translators: testing a gamepad, %s is its name -#: ../src/ui/gamepad-configurer.vala:79 +#: ../src/ui/gamepad-configurer.vala:78 #, c-format msgid "Testing %s" msgstr "Testowanie „%s”" #. translators: configuring a gamepad, %s is its name -#: ../src/ui/gamepad-configurer.vala:93 +#: ../src/ui/gamepad-configurer.vala:92 #, c-format msgid "Configuring %s" msgstr "Konfigurowanie „%s”" -#: ../src/ui/gamepad-mapper.vala:134 +#: ../src/ui/gamepad-mapper.vala:129 msgid "Press suitable button on your gamepad" msgstr "Proszę nacisnąć odpowiedni przycisk na kontrolerze." -#: ../src/ui/gamepad-mapper.vala:139 +#: ../src/ui/gamepad-mapper.vala:134 msgid "Move suitable axis left/right on your gamepad" msgstr "Proszę przesunąć odpowiednią oś w lewo/prawo na kontrolerze." -#: ../src/ui/gamepad-mapper.vala:141 +#: ../src/ui/gamepad-mapper.vala:136 msgid "Move suitable axis up/down on your gamepad" msgstr "Proszę przesunąć odpowiednią oś w górę/dół na kontrolerze." @@ -811,6 +793,10 @@ msgid "Sharp" msgstr "Kanciasty" +#: ../src/ui/preferences-page-video.vala:34 +msgid "CRT" +msgstr "Monitor kineskopowy" + #: ../src/utils/cue-sheet/cue-sheet.vala:25 #, c-format msgid "“%s” doesn’t have a track for index %u." diff -Nru gnome-games-app-3.26.2/po/POTFILES.in gnome-games-app-3.28.0/po/POTFILES.in --- gnome-games-app-3.26.2/po/POTFILES.in 2017-09-21 12:48:06.000000000 +0000 +++ gnome-games-app-3.28.0/po/POTFILES.in 2018-01-30 09:48:30.000000000 +0000 @@ -41,8 +41,6 @@ src/core/plugin-registrar.vala src/gameinfo/gameinfo-disc-id-disc-title.vala src/gameinfo/gameinfo-doc.vala -src/gamepad/gamepad-mapping.c -src/gamepad/linux/linux-raw-gamepad.c src/retro/retro-core-source.vala src/retro/retro-platform.vala src/retro/retro-runner.vala diff -Nru gnome-games-app-3.26.2/po/pt_BR.po gnome-games-app-3.28.0/po/pt_BR.po --- gnome-games-app-3.26.2/po/pt_BR.po 2017-10-30 08:01:27.000000000 +0000 +++ gnome-games-app-3.28.0/po/pt_BR.po 2018-01-30 09:48:30.000000000 +0000 @@ -1,15 +1,14 @@ # Brazilian Portuguese translation for gnome-games. -# Copyright (C) 2017 gnome-games's COPYRIGHT HOLDER +# Copyright (C) 2018 gnome-games's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-games package. # Enrico Nicoletto , 2016. -# Rafael Fontenelle , 2016, 2017. +# Rafael Fontenelle , 2016-2018. msgid "" msgstr "" "Project-Id-Version: gnome-games master\n" -"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" -"games&keywords=I18N+L10N&component=general\n" -"POT-Creation-Date: 2017-09-18 08:28+0000\n" -"PO-Revision-Date: 2017-10-07 03:59-0200\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-games/issues\n" +"POT-Creation-Date: 2017-11-24 18:28+0000\n" +"PO-Revision-Date: 2018-01-09 09:15-0200\n" "Last-Translator: Rafael Fontenelle \n" "Language-Team: Brazilian Portuguese \n" "Language: pt_BR\n" @@ -99,12 +98,15 @@ msgstr "Filtro de vídeo" #: ../data/org.gnome.Games.gschema.xml.h:4 +#| msgid "" +#| "Filter for the game video output. Allowed values are: “smooth” (blurry " +#| "pixels), “sharp” (blocky pixels)." msgid "" "Filter for the game video output. Allowed values are: “smooth” (blurry " -"pixels), “sharp” (blocky pixels)." +"pixels), “sharp” (blocky pixels), “crt” (CRT emulation)." msgstr "" -"Filtro para a saída de vídeo do jogo. Valores permitidos são: " -"“smooth” (pixels embaçados), “sharp” (pixels em blocos)." +"Filtro para a saída de vídeo do jogo. Valores permitidos são: “smooth” (" +"pixels embaçados), “sharp” (pixels em blocos), “crt” (emulação de CRT)." #: ../data/org.gnome.Games.gschema.xml.h:5 msgid "Window maximized" @@ -178,7 +180,6 @@ "pesquisa." #: ../data/ui/gamepad-configurer.ui.h:1 -#| msgid "Reset" msgctxt "Gamepad configuration factory reset" msgid "Reset" msgstr "Redefinir" @@ -265,7 +266,6 @@ msgstr "Seu mapeamento será perdido." #: ../data/ui/reset-gamepad-mapping-dialog.ui.h:4 -#| msgid "Reset" msgctxt "Confirm gamepad configuration factory reset" msgid "Reset" msgstr "Redefinir" @@ -287,7 +287,6 @@ msgstr "Falha ao continuar. Você deseja reiniciar o jogo?" #: ../data/ui/resume-failed-dialog.ui.h:3 -#| msgid "Reset" msgctxt "Resuming a game failed dialog" msgid "Reset" msgstr "Reiniciar" @@ -482,24 +481,6 @@ msgid "No disc found for disc ID “%s”." msgstr "Nenhum disco localizado para o ID de disco “%s”." -#: ../src/gamepad/gamepad-mapping.c:236 -msgid "The mapping string can’t be null." -msgstr "A string de mapeamento não pode ser nula." - -#: ../src/gamepad/gamepad-mapping.c:245 -msgid "The mapping string can’t be empty." -msgstr "A string de mapeamento não pode estar vazia." - -#: ../src/gamepad/linux/linux-raw-gamepad.c:291 -#, c-format -msgid "Unable to open file “%s”: %s" -msgstr "Não foi possível abrir o arquivo “%s”: %s" - -#: ../src/gamepad/linux/linux-raw-gamepad.c:304 -#, c-format -msgid "Evdev is unable to open “%s”: %s" -msgstr "Evdev não é capaz de abrir “%s”: %s" - #: ../src/retro/retro-core-source.vala:25 #: ../src/retro/retro-core-source.vala:37 #, c-format @@ -712,18 +693,18 @@ msgid "WonderSwan Color" msgstr "WonderSwan Color" -#: ../src/retro/retro-runner.vala:246 +#: ../src/retro/retro-runner.vala:239 #, c-format msgid "No module found for “%s”." msgstr "Nenhum módulo localizado para “%s”." -#: ../src/retro/retro-runner.vala:577 +#: ../src/retro/retro-runner.vala:568 #, c-format msgid "The system “%s” isn’t supported yet, but full support is planned." msgstr "" "Não há suporte ao sistema “%s” ainda, mas suporte complete está nos planos." -#: ../src/retro/retro-runner.vala:580 +#: ../src/retro/retro-runner.vala:571 msgid "The system isn’t supported yet, but full support is planned." msgstr "Não há suporte ao sistema ainda, mas suporte completo está nos planos." @@ -732,26 +713,26 @@ msgstr "Selecione arquivos de jogos" #: ../src/ui/application.vala:137 -msgid "_Cancel" -msgstr "_Cancelar" - -#: ../src/ui/application.vala:138 msgid "_Add" msgstr "_Adicionar" -#: ../src/ui/application.vala:313 +#: ../src/ui/application.vala:137 +msgid "_Cancel" +msgstr "_Cancelar" + +#: ../src/ui/application.vala:310 msgid "GNOME Games" msgstr "GNOME Jogos" -#: ../src/ui/application.vala:315 +#: ../src/ui/application.vala:312 msgid "A video game player for GNOME" msgstr "Um executor de video game para o GNOME" -#: ../src/ui/application.vala:319 +#: ../src/ui/application.vala:316 msgid "Learn more about GNOME Games" msgstr "Aprenda mais sobre o GNOME Jogos" -#: ../src/ui/application.vala:326 +#: ../src/ui/application.vala:323 msgid "translator-credits" msgstr "" "Enrico Nicoletto , 2016.\n" @@ -775,26 +756,26 @@ msgstr "Ops! Não foi possível jogar o jogo" #. translators: testing a gamepad, %s is its name -#: ../src/ui/gamepad-configurer.vala:79 +#: ../src/ui/gamepad-configurer.vala:78 #, c-format msgid "Testing %s" msgstr "Testando %s" #. translators: configuring a gamepad, %s is its name -#: ../src/ui/gamepad-configurer.vala:93 +#: ../src/ui/gamepad-configurer.vala:92 #, c-format msgid "Configuring %s" msgstr "Configurando %s" -#: ../src/ui/gamepad-mapper.vala:134 +#: ../src/ui/gamepad-mapper.vala:129 msgid "Press suitable button on your gamepad" msgstr "Pressione o botão adequado em seu gamepad" -#: ../src/ui/gamepad-mapper.vala:139 +#: ../src/ui/gamepad-mapper.vala:134 msgid "Move suitable axis left/right on your gamepad" msgstr "Mova o eixo adequado para esquerdo/direito em seu gamepad" -#: ../src/ui/gamepad-mapper.vala:141 +#: ../src/ui/gamepad-mapper.vala:136 msgid "Move suitable axis up/down on your gamepad" msgstr "Mova o eixo adequado para cima/baixo em seu gamepad" @@ -812,6 +793,10 @@ msgid "Sharp" msgstr "Nítido" +#: ../src/ui/preferences-page-video.vala:34 +msgid "CRT" +msgstr "CRT" + #: ../src/utils/cue-sheet/cue-sheet.vala:25 #, c-format msgid "“%s” doesn’t have a track for index %u." @@ -866,6 +851,18 @@ msgid "%s:%lu: Unexpected token %s, expected end of line." msgstr "%s:%lu: Token %s inesperado, esperava fim de linha." +#~ msgid "The mapping string can’t be null." +#~ msgstr "A string de mapeamento não pode ser nula." + +#~ msgid "The mapping string can’t be empty." +#~ msgstr "A string de mapeamento não pode estar vazia." + +#~ msgid "Unable to open file “%s”: %s" +#~ msgstr "Não foi possível abrir o arquivo “%s”: %s" + +#~ msgid "Evdev is unable to open “%s”: %s" +#~ msgstr "Evdev não é capaz de abrir “%s”: %s" + #~ msgid "No game file found for media “%s”." #~ msgstr "Nenhum arquivo de jogo localizado para a mídia “%s”." diff -Nru gnome-games-app-3.26.2/po/sv.po gnome-games-app-3.28.0/po/sv.po --- gnome-games-app-3.26.2/po/sv.po 2017-09-30 11:23:08.000000000 +0000 +++ gnome-games-app-3.28.0/po/sv.po 2018-03-12 14:10:38.000000000 +0000 @@ -1,16 +1,15 @@ # Swedish translation for gnome-games. -# Copyright © 2016, 2017 gnome-games's COPYRIGHT HOLDER +# Copyright © 2016, 2017, 2018 gnome-games's COPYRIGHT HOLDER # This file is distributed under the same license as the gnome-games package. -# Anders Jonsson , 2016, 2017. +# Anders Jonsson , 2016, 2017, 2018. # Josef Andersson , 2016, 2017. # msgid "" msgstr "" "Project-Id-Version: gnome-games master\n" -"Report-Msgid-Bugs-To: https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" -"games&keywords=I18N+L10N&component=general\n" -"POT-Creation-Date: 2017-09-18 08:28+0000\n" -"PO-Revision-Date: 2017-09-19 01:08+0200\n" +"Report-Msgid-Bugs-To: https://gitlab.gnome.org/GNOME/gnome-games/issues\n" +"POT-Creation-Date: 2017-11-24 18:28+0000\n" +"PO-Revision-Date: 2018-03-11 17:28+0100\n" "Last-Translator: Anders Jonsson \n" "Language-Team: Swedish \n" "Language: sv\n" @@ -18,7 +17,7 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Poedit 2.0.3\n" +"X-Generator: Poedit 2.0.6\n" #: ../data/org.gnome.Games.appdata.xml.in.h:1 #: ../data/org.gnome.Games.desktop.in.h:1 @@ -98,10 +97,10 @@ #: ../data/org.gnome.Games.gschema.xml.h:4 msgid "" "Filter for the game video output. Allowed values are: “smooth” (blurry " -"pixels), “sharp” (blocky pixels)." +"pixels), “sharp” (blocky pixels), “crt” (CRT emulation)." msgstr "" "Filter för videoutdata för spel. Tillåtna värden är: ”smooth” (suddiga " -"bildpunkter), ”sharp” (kantiga bildpunkter)." +"bildpunkter), ”sharp” (kantiga bildpunkter), ”crt” (CRT-emulering)." #: ../data/org.gnome.Games.gschema.xml.h:5 msgid "Window maximized" @@ -476,24 +475,6 @@ msgid "No disc found for disc ID “%s”." msgstr "Hittade ingen skiva för skiv-ID ”%s”." -#: ../src/gamepad/gamepad-mapping.c:236 -msgid "The mapping string can’t be null." -msgstr "Mappningssträngen kan inte vara null." - -#: ../src/gamepad/gamepad-mapping.c:245 -msgid "The mapping string can’t be empty." -msgstr "Mappningssträngen kan inte vara tom." - -#: ../src/gamepad/linux/linux-raw-gamepad.c:291 -#, c-format -msgid "Unable to open file “%s”: %s" -msgstr "Kunde inte öppna filen ”%s”: %s" - -#: ../src/gamepad/linux/linux-raw-gamepad.c:304 -#, c-format -msgid "Evdev is unable to open “%s”: %s" -msgstr "Evdev kunde inte öppna ”%s”: %s" - #: ../src/retro/retro-core-source.vala:25 #: ../src/retro/retro-core-source.vala:37 #, c-format @@ -706,17 +687,17 @@ msgid "WonderSwan Color" msgstr "WonderSwan Color" -#: ../src/retro/retro-runner.vala:246 +#: ../src/retro/retro-runner.vala:239 #, c-format msgid "No module found for “%s”." msgstr "Ingen modul hittades för ”%s”." -#: ../src/retro/retro-runner.vala:577 +#: ../src/retro/retro-runner.vala:568 #, c-format msgid "The system “%s” isn’t supported yet, but full support is planned." msgstr "Systemet ”%s” stöds inte ännu, men fullständigt stöd planeras." -#: ../src/retro/retro-runner.vala:580 +#: ../src/retro/retro-runner.vala:571 msgid "The system isn’t supported yet, but full support is planned." msgstr "Systemet stöds inte ännu, men fullständigt stöd planeras." @@ -725,26 +706,26 @@ msgstr "Välj spelfiler" #: ../src/ui/application.vala:137 -msgid "_Cancel" -msgstr "_Avbryt" - -#: ../src/ui/application.vala:138 msgid "_Add" msgstr "_Lägg till" -#: ../src/ui/application.vala:313 +#: ../src/ui/application.vala:137 +msgid "_Cancel" +msgstr "_Avbryt" + +#: ../src/ui/application.vala:310 msgid "GNOME Games" msgstr "GNOME Spel" -#: ../src/ui/application.vala:315 +#: ../src/ui/application.vala:312 msgid "A video game player for GNOME" msgstr "En spelarkad för GNOME" -#: ../src/ui/application.vala:319 +#: ../src/ui/application.vala:316 msgid "Learn more about GNOME Games" msgstr "Lär dig mer om GNOME Spel" -#: ../src/ui/application.vala:326 +#: ../src/ui/application.vala:323 msgid "translator-credits" msgstr "" "Anders Jonsson \n" @@ -769,26 +750,26 @@ msgstr "Ojdå! Kunde inte köra spelet" #. translators: testing a gamepad, %s is its name -#: ../src/ui/gamepad-configurer.vala:79 +#: ../src/ui/gamepad-configurer.vala:78 #, c-format msgid "Testing %s" msgstr "Testar %s" #. translators: configuring a gamepad, %s is its name -#: ../src/ui/gamepad-configurer.vala:93 +#: ../src/ui/gamepad-configurer.vala:92 #, c-format msgid "Configuring %s" msgstr "Konfigurerar %s" -#: ../src/ui/gamepad-mapper.vala:134 +#: ../src/ui/gamepad-mapper.vala:129 msgid "Press suitable button on your gamepad" msgstr "Tryck ned passande knapp på din handkontroll" -#: ../src/ui/gamepad-mapper.vala:139 +#: ../src/ui/gamepad-mapper.vala:134 msgid "Move suitable axis left/right on your gamepad" msgstr "Flytta passande axel vänster/höger på din handkontroll" -#: ../src/ui/gamepad-mapper.vala:141 +#: ../src/ui/gamepad-mapper.vala:136 msgid "Move suitable axis up/down on your gamepad" msgstr "Flytta passande axel upp/ned på din handkontroll" @@ -806,6 +787,10 @@ msgid "Sharp" msgstr "Skarp" +#: ../src/ui/preferences-page-video.vala:34 +msgid "CRT" +msgstr "CRT" + #: ../src/utils/cue-sheet/cue-sheet.vala:25 #, c-format msgid "“%s” doesn’t have a track for index %u." @@ -857,6 +842,18 @@ msgid "%s:%lu: Unexpected token %s, expected end of line." msgstr "%s:%lu: Oväntat token %s, förväntade radavslut." +#~ msgid "The mapping string can’t be null." +#~ msgstr "Mappningssträngen kan inte vara null." + +#~ msgid "The mapping string can’t be empty." +#~ msgstr "Mappningssträngen kan inte vara tom." + +#~ msgid "Unable to open file “%s”: %s" +#~ msgstr "Kunde inte öppna filen ”%s”: %s" + +#~ msgid "Evdev is unable to open “%s”: %s" +#~ msgstr "Evdev kunde inte öppna ”%s”: %s" + #~ msgid "The file doesn’t have a Master System header." #~ msgstr "Filen har inte ett Master System-filhuvud." diff -Nru gnome-games-app-3.26.2/src/command/command-error.c gnome-games-app-3.28.0/src/command/command-error.c --- gnome-games-app-3.26.2/src/command/command-error.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/command/command-error.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* command-error.c generated by valac 0.38.2, the Vala compiler +/* command-error.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from command-error.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/src/command/command-runner.c gnome-games-app-3.28.0/src/command/command-runner.c --- gnome-games-app-3.26.2/src/command/command-runner.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/command/command-runner.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* command-runner.c generated by valac 0.38.2, the Vala compiler +/* command-runner.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from command-runner.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -39,15 +39,6 @@ typedef struct _GamesCommandRunner GamesCommandRunner; typedef struct _GamesCommandRunnerClass GamesCommandRunnerClass; typedef struct _GamesCommandRunnerPrivate GamesCommandRunnerPrivate; -enum { - GAMES_COMMAND_RUNNER_DUMMY_PROPERTY, - GAMES_COMMAND_RUNNER_CAN_FULLSCREEN_PROPERTY, - GAMES_COMMAND_RUNNER_CAN_QUIT_SAFELY_PROPERTY, - GAMES_COMMAND_RUNNER_CAN_RESUME_PROPERTY, - GAMES_COMMAND_RUNNER_MEDIA_SET_PROPERTY, - GAMES_COMMAND_RUNNER_LAST_PROPERTY -}; -static GParamSpec* games_command_runner_properties[GAMES_COMMAND_RUNNER_LAST_PROPERTY]; #define _g_free0(var) (var = (g_free (var), NULL)) #define GAMES_TYPE_REMOTE_DISPLAY (games_remote_display_get_type ()) @@ -105,6 +96,13 @@ GType games_runner_get_type (void) G_GNUC_CONST; GType games_command_runner_get_type (void) G_GNUC_CONST; #define GAMES_COMMAND_RUNNER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_COMMAND_RUNNER, GamesCommandRunnerPrivate)) +enum { + GAMES_COMMAND_RUNNER_0_PROPERTY, + GAMES_COMMAND_RUNNER_CAN_FULLSCREEN_PROPERTY, + GAMES_COMMAND_RUNNER_CAN_QUIT_SAFELY_PROPERTY, + GAMES_COMMAND_RUNNER_CAN_RESUME_PROPERTY, + GAMES_COMMAND_RUNNER_MEDIA_SET_PROPERTY +}; GamesCommandRunner* games_command_runner_new (gchar** args, int args_length1, gboolean watch_child); GamesCommandRunner* games_command_runner_construct (GType object_type, gchar** args, int args_length1, gboolean watch_child); static gchar** _vala_array_dup1 (gchar** self, int length); @@ -504,10 +502,10 @@ g_type_class_add_private (klass, sizeof (GamesCommandRunnerPrivate)); G_OBJECT_CLASS (klass)->get_property = _vala_games_command_runner_get_property; G_OBJECT_CLASS (klass)->finalize = games_command_runner_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_COMMAND_RUNNER_CAN_FULLSCREEN_PROPERTY, games_command_runner_properties[GAMES_COMMAND_RUNNER_CAN_FULLSCREEN_PROPERTY] = g_param_spec_boolean ("can-fullscreen", "can-fullscreen", "can-fullscreen", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_COMMAND_RUNNER_CAN_QUIT_SAFELY_PROPERTY, games_command_runner_properties[GAMES_COMMAND_RUNNER_CAN_QUIT_SAFELY_PROPERTY] = g_param_spec_boolean ("can-quit-safely", "can-quit-safely", "can-quit-safely", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_COMMAND_RUNNER_CAN_RESUME_PROPERTY, games_command_runner_properties[GAMES_COMMAND_RUNNER_CAN_RESUME_PROPERTY] = g_param_spec_boolean ("can-resume", "can-resume", "can-resume", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_COMMAND_RUNNER_MEDIA_SET_PROPERTY, games_command_runner_properties[GAMES_COMMAND_RUNNER_MEDIA_SET_PROPERTY] = g_param_spec_object ("media-set", "media-set", "media-set", GAMES_TYPE_MEDIA_SET, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_COMMAND_RUNNER_CAN_FULLSCREEN_PROPERTY, g_param_spec_boolean ("can-fullscreen", "can-fullscreen", "can-fullscreen", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_COMMAND_RUNNER_CAN_QUIT_SAFELY_PROPERTY, g_param_spec_boolean ("can-quit-safely", "can-quit-safely", "can-quit-safely", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_COMMAND_RUNNER_CAN_RESUME_PROPERTY, g_param_spec_boolean ("can-resume", "can-resume", "can-resume", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_COMMAND_RUNNER_MEDIA_SET_PROPERTY, g_param_spec_object ("media-set", "media-set", "media-set", GAMES_TYPE_MEDIA_SET, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); } diff -Nru gnome-games-app-3.26.2/src/config.c gnome-games-app-3.28.0/src/config.c --- gnome-games-app-3.26.2/src/config.c 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/config.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* config.c generated by valac 0.38.2, the Vala compiler +/* config.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from config.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/src/core/cover.c gnome-games-app-3.28.0/src/core/cover.c --- gnome-games-app-3.26.2/src/core/cover.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/core/cover.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* cover.c generated by valac 0.38.2, the Vala compiler +/* cover.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from cover.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -17,9 +17,9 @@ typedef struct _GamesCoverIface GamesCoverIface; enum { GAMES_COVER_CHANGED_SIGNAL, - GAMES_COVER_LAST_SIGNAL + GAMES_COVER_NUM_SIGNALS }; -static guint games_cover_signals[GAMES_COVER_LAST_SIGNAL] = {0}; +static guint games_cover_signals[GAMES_COVER_NUM_SIGNALS] = {0}; struct _GamesCoverIface { GTypeInterface parent_iface; diff -Nru gnome-games-app-3.26.2/src/core/game.c gnome-games-app-3.28.0/src/core/game.c --- gnome-games-app-3.26.2/src/core/game.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/core/game.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* game.c generated by valac 0.38.2, the Vala compiler +/* game.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from game.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/src/core/game-callback.c gnome-games-app-3.28.0/src/core/game-callback.c --- gnome-games-app-3.26.2/src/core/game-callback.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/core/game-callback.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* game-callback.c generated by valac 0.38.2, the Vala compiler +/* game-callback.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from game-callback.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/src/core/game-collection.c gnome-games-app-3.28.0/src/core/game-collection.c --- gnome-games-app-3.26.2/src/core/game-collection.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/core/game-collection.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* game-collection.c generated by valac 0.38.2, the Vala compiler +/* game-collection.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from game-collection.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -97,11 +97,6 @@ typedef struct _GamesUriGameFactory GamesUriGameFactory; typedef struct _GamesUriGameFactoryIface GamesUriGameFactoryIface; -enum { - GAMES_GAME_COLLECTION_DUMMY_PROPERTY, - GAMES_GAME_COLLECTION_LAST_PROPERTY -}; -static GParamSpec* games_game_collection_properties[GAMES_GAME_COLLECTION_LAST_PROPERTY]; #define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL))) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) @@ -453,6 +448,9 @@ GType games_uri_source_get_type (void) G_GNUC_CONST; GType games_uri_game_factory_get_type (void) G_GNUC_CONST; #define GAMES_GAME_COLLECTION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_GAME_COLLECTION, GamesGameCollectionPrivate)) +enum { + GAMES_GAME_COLLECTION_0_PROPERTY +}; GListStore* games_game_collection_get_list_store (GamesGameCollection* self); void games_game_collection_add_source (GamesGameCollection* self, GamesUriSource* source); static void _vala_array_add1 (GamesUriSource** * array, int* length, int* size, GamesUriSource* value); diff -Nru gnome-games-app-3.26.2/src/core/game-uri-adapter.c gnome-games-app-3.28.0/src/core/game-uri-adapter.c --- gnome-games-app-3.26.2/src/core/game-uri-adapter.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/core/game-uri-adapter.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* game-uri-adapter.c generated by valac 0.38.2, the Vala compiler +/* game-uri-adapter.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from game-uri-adapter.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/src/core/icon.c gnome-games-app-3.28.0/src/core/icon.c --- gnome-games-app-3.26.2/src/core/icon.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/core/icon.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* icon.c generated by valac 0.38.2, the Vala compiler +/* icon.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from icon.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/src/core/input-capabilities.c gnome-games-app-3.28.0/src/core/input-capabilities.c --- gnome-games-app-3.26.2/src/core/input-capabilities.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/core/input-capabilities.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* input-capabilities.c generated by valac 0.38.2, the Vala compiler +/* input-capabilities.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from input-capabilities.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/src/core/media.c gnome-games-app-3.28.0/src/core/media.c --- gnome-games-app-3.26.2/src/core/media.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/core/media.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* media.c generated by valac 0.38.2, the Vala compiler +/* media.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from media.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -47,12 +47,6 @@ typedef struct _GamesUri GamesUri; typedef struct _GamesUriClass GamesUriClass; -enum { - GAMES_MEDIA_DUMMY_PROPERTY, - GAMES_MEDIA_TITLE_PROPERTY, - GAMES_MEDIA_LAST_PROPERTY -}; -static GParamSpec* games_media_properties[GAMES_MEDIA_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) struct _GamesMedia { @@ -91,6 +85,10 @@ gpointer games_value_get_uri (const GValue* value); GType games_uri_get_type (void) G_GNUC_CONST; #define GAMES_MEDIA_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_MEDIA, GamesMediaPrivate)) +enum { + GAMES_MEDIA_0_PROPERTY, + GAMES_MEDIA_TITLE_PROPERTY +}; GamesMedia* games_media_new (GamesTitle* title); GamesMedia* games_media_construct (GType object_type, GamesTitle* title); GamesMediaInfo* games_media_info_new (const gchar* platform, const gchar* game_id, const gchar* media_id, guint media_index); @@ -248,7 +246,7 @@ _tmp1_ = _g_object_ref0 (_tmp0_); _g_object_unref0 (self->priv->_title); self->priv->_title = _tmp1_; - g_object_notify_by_pspec ((GObject *) self, games_media_properties[GAMES_MEDIA_TITLE_PROPERTY]); + g_object_notify ((GObject *) self, "title"); } } @@ -259,7 +257,7 @@ G_OBJECT_CLASS (klass)->get_property = _vala_games_media_get_property; G_OBJECT_CLASS (klass)->set_property = _vala_games_media_set_property; G_OBJECT_CLASS (klass)->finalize = games_media_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_MEDIA_TITLE_PROPERTY, games_media_properties[GAMES_MEDIA_TITLE_PROPERTY] = g_param_spec_object ("title", "title", "title", GAMES_TYPE_TITLE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_MEDIA_TITLE_PROPERTY, g_param_spec_object ("title", "title", "title", GAMES_TYPE_TITLE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); } diff -Nru gnome-games-app-3.26.2/src/core/media-info.c gnome-games-app-3.28.0/src/core/media-info.c --- gnome-games-app-3.26.2/src/core/media-info.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/core/media-info.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* media-info.c generated by valac 0.38.2, the Vala compiler +/* media-info.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from media-info.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -19,15 +19,6 @@ typedef struct _GamesMediaInfo GamesMediaInfo; typedef struct _GamesMediaInfoClass GamesMediaInfoClass; typedef struct _GamesMediaInfoPrivate GamesMediaInfoPrivate; -enum { - GAMES_MEDIA_INFO_DUMMY_PROPERTY, - GAMES_MEDIA_INFO_PLATFORM_PROPERTY, - GAMES_MEDIA_INFO_GAME_ID_PROPERTY, - GAMES_MEDIA_INFO_MEDIA_ID_PROPERTY, - GAMES_MEDIA_INFO_MEDIA_INDEX_PROPERTY, - GAMES_MEDIA_INFO_LAST_PROPERTY -}; -static GParamSpec* games_media_info_properties[GAMES_MEDIA_INFO_LAST_PROPERTY]; #define _g_free0(var) (var = (g_free (var), NULL)) struct _GamesMediaInfo { @@ -51,6 +42,13 @@ GType games_media_info_get_type (void) G_GNUC_CONST; #define GAMES_MEDIA_INFO_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_MEDIA_INFO, GamesMediaInfoPrivate)) +enum { + GAMES_MEDIA_INFO_0_PROPERTY, + GAMES_MEDIA_INFO_PLATFORM_PROPERTY, + GAMES_MEDIA_INFO_GAME_ID_PROPERTY, + GAMES_MEDIA_INFO_MEDIA_ID_PROPERTY, + GAMES_MEDIA_INFO_MEDIA_INDEX_PROPERTY +}; GamesMediaInfo* games_media_info_new (const gchar* platform, const gchar* game_id, const gchar* media_id, guint media_index); GamesMediaInfo* games_media_info_construct (GType object_type, const gchar* platform, const gchar* game_id, const gchar* media_id, guint media_index); static void games_media_info_set_platform (GamesMediaInfo* self, const gchar* value); @@ -111,7 +109,7 @@ _tmp1_ = g_strdup (_tmp0_); _g_free0 (self->priv->_platform); self->priv->_platform = _tmp1_; - g_object_notify_by_pspec ((GObject *) self, games_media_info_properties[GAMES_MEDIA_INFO_PLATFORM_PROPERTY]); + g_object_notify ((GObject *) self, "platform"); } } @@ -135,7 +133,7 @@ _tmp1_ = g_strdup (_tmp0_); _g_free0 (self->priv->_game_id); self->priv->_game_id = _tmp1_; - g_object_notify_by_pspec ((GObject *) self, games_media_info_properties[GAMES_MEDIA_INFO_GAME_ID_PROPERTY]); + g_object_notify ((GObject *) self, "game-id"); } } @@ -159,7 +157,7 @@ _tmp1_ = g_strdup (_tmp0_); _g_free0 (self->priv->_media_id); self->priv->_media_id = _tmp1_; - g_object_notify_by_pspec ((GObject *) self, games_media_info_properties[GAMES_MEDIA_INFO_MEDIA_ID_PROPERTY]); + g_object_notify ((GObject *) self, "media-id"); } } @@ -180,7 +178,7 @@ guint _tmp0_; _tmp0_ = value; self->priv->_media_index = _tmp0_; - g_object_notify_by_pspec ((GObject *) self, games_media_info_properties[GAMES_MEDIA_INFO_MEDIA_INDEX_PROPERTY]); + g_object_notify ((GObject *) self, "media-index"); } } @@ -191,10 +189,10 @@ G_OBJECT_CLASS (klass)->get_property = _vala_games_media_info_get_property; G_OBJECT_CLASS (klass)->set_property = _vala_games_media_info_set_property; G_OBJECT_CLASS (klass)->finalize = games_media_info_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_MEDIA_INFO_PLATFORM_PROPERTY, games_media_info_properties[GAMES_MEDIA_INFO_PLATFORM_PROPERTY] = g_param_spec_string ("platform", "platform", "platform", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_MEDIA_INFO_GAME_ID_PROPERTY, games_media_info_properties[GAMES_MEDIA_INFO_GAME_ID_PROPERTY] = g_param_spec_string ("game-id", "game-id", "game-id", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_MEDIA_INFO_MEDIA_ID_PROPERTY, games_media_info_properties[GAMES_MEDIA_INFO_MEDIA_ID_PROPERTY] = g_param_spec_string ("media-id", "media-id", "media-id", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_MEDIA_INFO_MEDIA_INDEX_PROPERTY, games_media_info_properties[GAMES_MEDIA_INFO_MEDIA_INDEX_PROPERTY] = g_param_spec_uint ("media-index", "media-index", "media-index", 0, G_MAXUINT, 0U, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_MEDIA_INFO_PLATFORM_PROPERTY, g_param_spec_string ("platform", "platform", "platform", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_MEDIA_INFO_GAME_ID_PROPERTY, g_param_spec_string ("game-id", "game-id", "game-id", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_MEDIA_INFO_MEDIA_ID_PROPERTY, g_param_spec_string ("media-id", "media-id", "media-id", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_MEDIA_INFO_MEDIA_INDEX_PROPERTY, g_param_spec_uint ("media-index", "media-index", "media-index", 0, G_MAXUINT, 0U, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); } diff -Nru gnome-games-app-3.26.2/src/core/media-set/media-set.c gnome-games-app-3.28.0/src/core/media-set/media-set.c --- gnome-games-app-3.26.2/src/core/media-set/media-set.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/core/media-set/media-set.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* media-set.c generated by valac 0.38.2, the Vala compiler +/* media-set.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from media-set.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -29,13 +29,6 @@ typedef struct _GamesMedia GamesMedia; typedef struct _GamesMediaClass GamesMediaClass; -enum { - GAMES_MEDIA_SET_DUMMY_PROPERTY, - GAMES_MEDIA_SET_SELECTED_MEDIA_NUMBER_PROPERTY, - GAMES_MEDIA_SET_ICON_PROPERTY, - GAMES_MEDIA_SET_LAST_PROPERTY -}; -static GParamSpec* games_media_set_properties[GAMES_MEDIA_SET_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) struct _GamesMediaSet { @@ -66,6 +59,11 @@ GType games_media_set_get_type (void) G_GNUC_CONST; GType games_media_get_type (void) G_GNUC_CONST; #define GAMES_MEDIA_SET_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_MEDIA_SET, GamesMediaSetPrivate)) +enum { + GAMES_MEDIA_SET_0_PROPERTY, + GAMES_MEDIA_SET_SELECTED_MEDIA_NUMBER_PROPERTY, + GAMES_MEDIA_SET_ICON_PROPERTY +}; void games_media_set_add_media (GamesMediaSet* self, GamesMedia* media); static void _vala_array_add7 (GamesMedia** * array, int* length, int* size, GamesMedia* value); gint games_media_set_get_size (GamesMediaSet* self); @@ -246,7 +244,7 @@ gint _tmp0_; _tmp0_ = value; self->priv->_selected_media_number = _tmp0_; - g_object_notify_by_pspec ((GObject *) self, games_media_set_properties[GAMES_MEDIA_SET_SELECTED_MEDIA_NUMBER_PROPERTY]); + g_object_notify ((GObject *) self, "selected-media-number"); } } @@ -270,7 +268,7 @@ _tmp1_ = _g_object_ref0 (_tmp0_); _g_object_unref0 (self->priv->_icon); self->priv->_icon = _tmp1_; - g_object_notify_by_pspec ((GObject *) self, games_media_set_properties[GAMES_MEDIA_SET_ICON_PROPERTY]); + g_object_notify ((GObject *) self, "icon"); } } @@ -281,8 +279,8 @@ G_OBJECT_CLASS (klass)->get_property = _vala_games_media_set_get_property; G_OBJECT_CLASS (klass)->set_property = _vala_games_media_set_set_property; G_OBJECT_CLASS (klass)->finalize = games_media_set_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_MEDIA_SET_SELECTED_MEDIA_NUMBER_PROPERTY, games_media_set_properties[GAMES_MEDIA_SET_SELECTED_MEDIA_NUMBER_PROPERTY] = g_param_spec_int ("selected-media-number", "selected-media-number", "selected-media-number", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_MEDIA_SET_ICON_PROPERTY, games_media_set_properties[GAMES_MEDIA_SET_ICON_PROPERTY] = g_param_spec_object ("icon", "icon", "icon", g_icon_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_MEDIA_SET_SELECTED_MEDIA_NUMBER_PROPERTY, g_param_spec_int ("selected-media-number", "selected-media-number", "selected-media-number", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_MEDIA_SET_ICON_PROPERTY, g_param_spec_object ("icon", "icon", "icon", g_icon_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); } diff -Nru gnome-games-app-3.26.2/src/core/media-set/media-set-error.c gnome-games-app-3.28.0/src/core/media-set/media-set-error.c --- gnome-games-app-3.26.2/src/core/media-set/media-set-error.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/core/media-set/media-set-error.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* media-set-error.c generated by valac 0.38.2, the Vala compiler +/* media-set-error.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from media-set-error.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/src/core/plugin.c gnome-games-app-3.28.0/src/core/plugin.c --- gnome-games-app-3.26.2/src/core/plugin.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/core/plugin.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* plugin.c generated by valac 0.38.2, the Vala compiler +/* plugin.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from plugin.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/src/core/plugin-register.c gnome-games-app-3.28.0/src/core/plugin-register.c --- gnome-games-app-3.26.2/src/core/plugin-register.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/core/plugin-register.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* plugin-register.c generated by valac 0.38.2, the Vala compiler +/* plugin-register.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from plugin-register.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -29,11 +29,6 @@ typedef struct _GamesPluginRegistrar GamesPluginRegistrar; typedef struct _GamesPluginRegistrarClass GamesPluginRegistrarClass; -enum { - GAMES_PLUGIN_REGISTER_DUMMY_PROPERTY, - GAMES_PLUGIN_REGISTER_LAST_PROPERTY -}; -static GParamSpec* games_plugin_register_properties[GAMES_PLUGIN_REGISTER_LAST_PROPERTY]; #define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL))) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) @@ -74,6 +69,9 @@ GType games_plugin_register_get_type (void) G_GNUC_CONST; GType games_plugin_registrar_get_type (void) G_GNUC_CONST; #define GAMES_PLUGIN_REGISTER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_PLUGIN_REGISTER, GamesPluginRegisterPrivate)) +enum { + GAMES_PLUGIN_REGISTER_0_PROPERTY +}; static GamesPluginRegister* games_plugin_register_new (void); static GamesPluginRegister* games_plugin_register_construct (GType object_type); static void _g_free0_ (gpointer var); diff -Nru gnome-games-app-3.26.2/src/core/plugin-register-iterator.c gnome-games-app-3.28.0/src/core/plugin-register-iterator.c --- gnome-games-app-3.26.2/src/core/plugin-register-iterator.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/core/plugin-register-iterator.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* plugin-register-iterator.c generated by valac 0.38.2, the Vala compiler +/* plugin-register-iterator.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from plugin-register-iterator.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -41,11 +41,6 @@ typedef struct _GamesPluginRegistrar GamesPluginRegistrar; typedef struct _GamesPluginRegistrarClass GamesPluginRegistrarClass; -enum { - GAMES_PLUGIN_REGISTER_ITERATOR_DUMMY_PROPERTY, - GAMES_PLUGIN_REGISTER_ITERATOR_LAST_PROPERTY -}; -static GParamSpec* games_plugin_register_iterator_properties[GAMES_PLUGIN_REGISTER_ITERATOR_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) #define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) @@ -85,6 +80,9 @@ GType games_plugin_register_get_type (void) G_GNUC_CONST; GType games_plugin_registrar_get_type (void) G_GNUC_CONST; #define GAMES_PLUGIN_REGISTER_ITERATOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_PLUGIN_REGISTER_ITERATOR, GamesPluginRegisterIteratorPrivate)) +enum { + GAMES_PLUGIN_REGISTER_ITERATOR_0_PROPERTY +}; GamesPluginRegisterIterator* games_plugin_register_iterator_new (GamesPluginRegister* plugin_register); GamesPluginRegisterIterator* games_plugin_register_iterator_construct (GType object_type, GamesPluginRegister* plugin_register); GamesPluginRegistrar* games_plugin_register_iterator_get (GamesPluginRegisterIterator* self); diff -Nru gnome-games-app-3.26.2/src/core/plugin-registrar.c gnome-games-app-3.28.0/src/core/plugin-registrar.c --- gnome-games-app-3.26.2/src/core/plugin-registrar.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/core/plugin-registrar.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* plugin-registrar.c generated by valac 0.38.2, the Vala compiler +/* plugin-registrar.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from plugin-registrar.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -107,13 +107,6 @@ typedef struct _GamesMediaSet GamesMediaSet; typedef struct _GamesMediaSetClass GamesMediaSetClass; -enum { - GAMES_PLUGIN_REGISTRAR_DUMMY_PROPERTY, - GAMES_PLUGIN_REGISTRAR_NAME_PROPERTY, - GAMES_PLUGIN_REGISTRAR_DESCRIPTION_PROPERTY, - GAMES_PLUGIN_REGISTRAR_LAST_PROPERTY -}; -static GParamSpec* games_plugin_registrar_properties[GAMES_PLUGIN_REGISTRAR_LAST_PROPERTY]; #define _g_free0(var) (var = (g_free (var), NULL)) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_module_close0(var) ((var == NULL) ? NULL : (var = (g_module_close (var), NULL))) @@ -233,6 +226,11 @@ GType games_uri_game_factory_get_type (void) G_GNUC_CONST; GType games_plugin_get_type (void) G_GNUC_CONST; #define GAMES_PLUGIN_REGISTRAR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_PLUGIN_REGISTRAR, GamesPluginRegistrarPrivate)) +enum { + GAMES_PLUGIN_REGISTRAR_0_PROPERTY, + GAMES_PLUGIN_REGISTRAR_NAME_PROPERTY, + GAMES_PLUGIN_REGISTRAR_DESCRIPTION_PROPERTY +}; GQuark games_plugin_error_quark (void); GamesPluginRegistrar* games_plugin_registrar_new (const gchar* plugin_filename, GError** error); GamesPluginRegistrar* games_plugin_registrar_construct (GType object_type, const gchar* plugin_filename, GError** error); @@ -543,7 +541,7 @@ _tmp1_ = g_strdup (_tmp0_); _g_free0 (self->priv->_name); self->priv->_name = _tmp1_; - g_object_notify_by_pspec ((GObject *) self, games_plugin_registrar_properties[GAMES_PLUGIN_REGISTRAR_NAME_PROPERTY]); + g_object_notify ((GObject *) self, "name"); } } @@ -567,7 +565,7 @@ _tmp1_ = g_strdup (_tmp0_); _g_free0 (self->priv->_description); self->priv->_description = _tmp1_; - g_object_notify_by_pspec ((GObject *) self, games_plugin_registrar_properties[GAMES_PLUGIN_REGISTRAR_DESCRIPTION_PROPERTY]); + g_object_notify ((GObject *) self, "description"); } } @@ -579,8 +577,8 @@ G_OBJECT_CLASS (klass)->get_property = _vala_games_plugin_registrar_get_property; G_OBJECT_CLASS (klass)->set_property = _vala_games_plugin_registrar_set_property; G_OBJECT_CLASS (klass)->finalize = games_plugin_registrar_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_PLUGIN_REGISTRAR_NAME_PROPERTY, games_plugin_registrar_properties[GAMES_PLUGIN_REGISTRAR_NAME_PROPERTY] = g_param_spec_string ("name", "name", "name", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_PLUGIN_REGISTRAR_DESCRIPTION_PROPERTY, games_plugin_registrar_properties[GAMES_PLUGIN_REGISTRAR_DESCRIPTION_PROPERTY] = g_param_spec_string ("description", "description", "description", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_PLUGIN_REGISTRAR_NAME_PROPERTY, g_param_spec_string ("name", "name", "name", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_PLUGIN_REGISTRAR_DESCRIPTION_PROPERTY, g_param_spec_string ("description", "description", "description", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); } diff -Nru gnome-games-app-3.26.2/src/core/runner.c gnome-games-app-3.28.0/src/core/runner.c --- gnome-games-app-3.26.2/src/core/runner.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/core/runner.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* runner.c generated by valac 0.38.2, the Vala compiler +/* runner.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from runner.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -29,9 +29,9 @@ typedef struct _GamesMediaSetClass GamesMediaSetClass; enum { GAMES_RUNNER_STOPPED_SIGNAL, - GAMES_RUNNER_LAST_SIGNAL + GAMES_RUNNER_NUM_SIGNALS }; -static guint games_runner_signals[GAMES_RUNNER_LAST_SIGNAL] = {0}; +static guint games_runner_signals[GAMES_RUNNER_NUM_SIGNALS] = {0}; struct _GamesRunnerIface { GTypeInterface parent_iface; diff -Nru gnome-games-app-3.26.2/src/core/title.c gnome-games-app-3.28.0/src/core/title.c --- gnome-games-app-3.26.2/src/core/title.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/core/title.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* title.c generated by valac 0.38.2, the Vala compiler +/* title.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from title.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/src/core/uid.c gnome-games-app-3.28.0/src/core/uid.c --- gnome-games-app-3.26.2/src/core/uid.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/core/uid.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* uid.c generated by valac 0.38.2, the Vala compiler +/* uid.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from uid.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/src/core/uri-game-factory.c gnome-games-app-3.28.0/src/core/uri-game-factory.c --- gnome-games-app-3.26.2/src/core/uri-game-factory.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/core/uri-game-factory.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* uri-game-factory.c generated by valac 0.38.2, the Vala compiler +/* uri-game-factory.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from uri-game-factory.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -72,9 +72,9 @@ typedef struct _GamesMediaSetClass GamesMediaSetClass; enum { GAMES_URI_GAME_FACTORY_GAME_ADDED_SIGNAL, - GAMES_URI_GAME_FACTORY_LAST_SIGNAL + GAMES_URI_GAME_FACTORY_NUM_SIGNALS }; -static guint games_uri_game_factory_signals[GAMES_URI_GAME_FACTORY_LAST_SIGNAL] = {0}; +static guint games_uri_game_factory_signals[GAMES_URI_GAME_FACTORY_NUM_SIGNALS] = {0}; struct _GamesIconIface { GTypeInterface parent_iface; diff -Nru gnome-games-app-3.26.2/src/core/uri-iterator.c gnome-games-app-3.28.0/src/core/uri-iterator.c --- gnome-games-app-3.26.2/src/core/uri-iterator.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/core/uri-iterator.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* uri-iterator.c generated by valac 0.38.2, the Vala compiler +/* uri-iterator.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from uri-iterator.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/src/core/uri-source.c gnome-games-app-3.28.0/src/core/uri-source.c --- gnome-games-app-3.26.2/src/core/uri-source.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/core/uri-source.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* uri-source.c generated by valac 0.38.2, the Vala compiler +/* uri-source.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from uri-source.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/src/credits.c gnome-games-app-3.28.0/src/credits.c --- gnome-games-app-3.26.2/src/credits.c 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/credits.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* credits.c generated by valac 0.38.2, the Vala compiler +/* credits.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from credits.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/src/database/database.c gnome-games-app-3.28.0/src/database/database.c --- gnome-games-app-3.26.2/src/database/database.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/database/database.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* database.c generated by valac 0.38.2, the Vala compiler +/* database.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from database.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -20,11 +20,6 @@ typedef struct _GamesDatabase GamesDatabase; typedef struct _GamesDatabaseClass GamesDatabaseClass; typedef struct _GamesDatabasePrivate GamesDatabasePrivate; -enum { - GAMES_DATABASE_DUMMY_PROPERTY, - GAMES_DATABASE_LAST_PROPERTY -}; -static GParamSpec* games_database_properties[GAMES_DATABASE_LAST_PROPERTY]; #define _sqlite3_close0(var) ((var == NULL) ? NULL : (var = (sqlite3_close (var), NULL))) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) @@ -75,6 +70,9 @@ GType games_database_get_type (void) G_GNUC_CONST; #define GAMES_DATABASE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_DATABASE, GamesDatabasePrivate)) +enum { + GAMES_DATABASE_0_PROPERTY +}; #define GAMES_DATABASE_CREATE_TABLE_QUERY "\n" \ "\t\tCREATE TABLE IF NOT EXISTS game_resources (\n" \ "\t\t\tid INTEGER PRIMARY KEY NOT NULL,\n" \ diff -Nru gnome-games-app-3.26.2/src/database/database-error.c gnome-games-app-3.28.0/src/database/database-error.c --- gnome-games-app-3.26.2/src/database/database-error.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/database/database-error.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* database-error.c generated by valac 0.38.2, the Vala compiler +/* database-error.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from database-error.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/src/database/database-uri-iterator.c gnome-games-app-3.28.0/src/database/database-uri-iterator.c --- gnome-games-app-3.26.2/src/database/database-uri-iterator.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/database/database-uri-iterator.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* database-uri-iterator.c generated by valac 0.38.2, the Vala compiler +/* database-uri-iterator.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from database-uri-iterator.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -38,11 +38,6 @@ typedef struct _GamesDatabaseUriIterator GamesDatabaseUriIterator; typedef struct _GamesDatabaseUriIteratorClass GamesDatabaseUriIteratorClass; typedef struct _GamesDatabaseUriIteratorPrivate GamesDatabaseUriIteratorPrivate; -enum { - GAMES_DATABASE_URI_ITERATOR_DUMMY_PROPERTY, - GAMES_DATABASE_URI_ITERATOR_LAST_PROPERTY -}; -static GParamSpec* games_database_uri_iterator_properties[GAMES_DATABASE_URI_ITERATOR_LAST_PROPERTY]; #define _sqlite3_finalize0(var) ((var == NULL) ? NULL : (var = (sqlite3_finalize (var), NULL))) #define _games_uri_unref0(var) ((var == NULL) ? NULL : (var = (games_uri_unref (var), NULL))) #define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) @@ -81,6 +76,9 @@ GType games_uri_iterator_get_type (void) G_GNUC_CONST; GType games_database_uri_iterator_get_type (void) G_GNUC_CONST; #define GAMES_DATABASE_URI_ITERATOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_DATABASE_URI_ITERATOR, GamesDatabaseUriIteratorPrivate)) +enum { + GAMES_DATABASE_URI_ITERATOR_0_PROPERTY +}; #define GAMES_DATABASE_URI_ITERATOR_SELECT_GAME_RESOURCE_QUERY "\n\t\tSELECT uri FROM game_resources;\n\t" GamesDatabaseUriIterator* games_database_uri_iterator_new (sqlite3* database); GamesDatabaseUriIterator* games_database_uri_iterator_construct (GType object_type, sqlite3* database); diff -Nru gnome-games-app-3.26.2/src/database/database-uri-source.c gnome-games-app-3.28.0/src/database/database-uri-source.c --- gnome-games-app-3.26.2/src/database/database-uri-source.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/database/database-uri-source.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* database-uri-source.c generated by valac 0.38.2, the Vala compiler +/* database-uri-source.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from database-uri-source.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -44,11 +44,6 @@ typedef struct _GamesDatabaseUriSource GamesDatabaseUriSource; typedef struct _GamesDatabaseUriSourceClass GamesDatabaseUriSourceClass; typedef struct _GamesDatabaseUriSourcePrivate GamesDatabaseUriSourcePrivate; -enum { - GAMES_DATABASE_URI_SOURCE_DUMMY_PROPERTY, - GAMES_DATABASE_URI_SOURCE_LAST_PROPERTY -}; -static GParamSpec* games_database_uri_source_properties[GAMES_DATABASE_URI_SOURCE_LAST_PROPERTY]; #define GAMES_TYPE_DATABASE_URI_ITERATOR (games_database_uri_iterator_get_type ()) #define GAMES_DATABASE_URI_ITERATOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_DATABASE_URI_ITERATOR, GamesDatabaseUriIterator)) @@ -99,6 +94,9 @@ GType games_uri_source_get_type (void) G_GNUC_CONST; GType games_database_uri_source_get_type (void) G_GNUC_CONST; #define GAMES_DATABASE_URI_SOURCE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_DATABASE_URI_SOURCE, GamesDatabaseUriSourcePrivate)) +enum { + GAMES_DATABASE_URI_SOURCE_0_PROPERTY +}; GamesDatabaseUriSource* games_database_uri_source_new (sqlite3* database); GamesDatabaseUriSource* games_database_uri_source_construct (GType object_type, sqlite3* database); static GamesUriIterator* games_database_uri_source_real_iterator (GamesUriSource* base); diff -Nru gnome-games-app-3.26.2/src/dummy/dummy-cover.c gnome-games-app-3.28.0/src/dummy/dummy-cover.c --- gnome-games-app-3.26.2/src/dummy/dummy-cover.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/dummy/dummy-cover.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* dummy-cover.c generated by valac 0.38.2, the Vala compiler +/* dummy-cover.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from dummy-cover.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -26,11 +26,6 @@ typedef struct _GamesDummyCover GamesDummyCover; typedef struct _GamesDummyCoverClass GamesDummyCoverClass; typedef struct _GamesDummyCoverPrivate GamesDummyCoverPrivate; -enum { - GAMES_DUMMY_COVER_DUMMY_PROPERTY, - GAMES_DUMMY_COVER_LAST_PROPERTY -}; -static GParamSpec* games_dummy_cover_properties[GAMES_DUMMY_COVER_LAST_PROPERTY]; struct _GamesCoverIface { GTypeInterface parent_iface; @@ -52,6 +47,9 @@ GType games_cover_get_type (void) G_GNUC_CONST; GType games_dummy_cover_get_type (void) G_GNUC_CONST; +enum { + GAMES_DUMMY_COVER_0_PROPERTY +}; static GIcon* games_dummy_cover_real_get_cover (GamesCover* base); GamesDummyCover* games_dummy_cover_new (void); GamesDummyCover* games_dummy_cover_construct (GType object_type); diff -Nru gnome-games-app-3.26.2/src/dummy/dummy-game.c gnome-games-app-3.28.0/src/dummy/dummy-game.c --- gnome-games-app-3.26.2/src/dummy/dummy-game.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/dummy/dummy-game.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* dummy-game.c generated by valac 0.38.2, the Vala compiler +/* dummy-game.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from dummy-game.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -63,12 +63,6 @@ typedef struct _GamesDummyGame GamesDummyGame; typedef struct _GamesDummyGameClass GamesDummyGameClass; typedef struct _GamesDummyGamePrivate GamesDummyGamePrivate; -enum { - GAMES_DUMMY_GAME_DUMMY_PROPERTY, - GAMES_DUMMY_GAME_NAME_PROPERTY, - GAMES_DUMMY_GAME_LAST_PROPERTY -}; -static GParamSpec* games_dummy_game_properties[GAMES_DUMMY_GAME_LAST_PROPERTY]; #define _g_free0(var) (var = (g_free (var), NULL)) #define GAMES_TYPE_URI (games_uri_get_type ()) @@ -168,6 +162,10 @@ GType games_game_get_type (void) G_GNUC_CONST; GType games_dummy_game_get_type (void) G_GNUC_CONST; #define GAMES_DUMMY_GAME_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_DUMMY_GAME, GamesDummyGamePrivate)) +enum { + GAMES_DUMMY_GAME_0_PROPERTY, + GAMES_DUMMY_GAME_NAME_PROPERTY +}; GamesDummyGame* games_dummy_game_new (const gchar* name); GamesDummyGame* games_dummy_game_construct (GType object_type, const gchar* name); gpointer games_uri_ref (gpointer instance); @@ -346,7 +344,7 @@ g_type_class_add_private (klass, sizeof (GamesDummyGamePrivate)); G_OBJECT_CLASS (klass)->get_property = _vala_games_dummy_game_get_property; G_OBJECT_CLASS (klass)->finalize = games_dummy_game_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DUMMY_GAME_NAME_PROPERTY, games_dummy_game_properties[GAMES_DUMMY_GAME_NAME_PROPERTY] = g_param_spec_string ("name", "name", "name", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DUMMY_GAME_NAME_PROPERTY, g_param_spec_string ("name", "name", "name", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); } diff -Nru gnome-games-app-3.26.2/src/dummy/dummy-icon.c gnome-games-app-3.28.0/src/dummy/dummy-icon.c --- gnome-games-app-3.26.2/src/dummy/dummy-icon.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/dummy/dummy-icon.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* dummy-icon.c generated by valac 0.38.2, the Vala compiler +/* dummy-icon.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from dummy-icon.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -26,11 +26,6 @@ typedef struct _GamesDummyIcon GamesDummyIcon; typedef struct _GamesDummyIconClass GamesDummyIconClass; typedef struct _GamesDummyIconPrivate GamesDummyIconPrivate; -enum { - GAMES_DUMMY_ICON_DUMMY_PROPERTY, - GAMES_DUMMY_ICON_LAST_PROPERTY -}; -static GParamSpec* games_dummy_icon_properties[GAMES_DUMMY_ICON_LAST_PROPERTY]; struct _GamesIconIface { GTypeInterface parent_iface; @@ -52,6 +47,9 @@ GType games_icon_get_type (void) G_GNUC_CONST; GType games_dummy_icon_get_type (void) G_GNUC_CONST; +enum { + GAMES_DUMMY_ICON_0_PROPERTY +}; static GIcon* games_dummy_icon_real_get_icon (GamesIcon* base); GamesDummyIcon* games_dummy_icon_new (void); GamesDummyIcon* games_dummy_icon_construct (GType object_type); diff -Nru gnome-games-app-3.26.2/src/dummy/dummy-runner.c gnome-games-app-3.28.0/src/dummy/dummy-runner.c --- gnome-games-app-3.26.2/src/dummy/dummy-runner.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/dummy/dummy-runner.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* dummy-runner.c generated by valac 0.38.2, the Vala compiler +/* dummy-runner.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from dummy-runner.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -38,15 +38,6 @@ typedef struct _GamesDummyRunner GamesDummyRunner; typedef struct _GamesDummyRunnerClass GamesDummyRunnerClass; typedef struct _GamesDummyRunnerPrivate GamesDummyRunnerPrivate; -enum { - GAMES_DUMMY_RUNNER_DUMMY_PROPERTY, - GAMES_DUMMY_RUNNER_CAN_FULLSCREEN_PROPERTY, - GAMES_DUMMY_RUNNER_CAN_QUIT_SAFELY_PROPERTY, - GAMES_DUMMY_RUNNER_CAN_RESUME_PROPERTY, - GAMES_DUMMY_RUNNER_MEDIA_SET_PROPERTY, - GAMES_DUMMY_RUNNER_LAST_PROPERTY -}; -static GParamSpec* games_dummy_runner_properties[GAMES_DUMMY_RUNNER_LAST_PROPERTY]; #define _g_free0(var) (var = (g_free (var), NULL)) #define GAMES_TYPE_DUMMY_DISPLAY (games_dummy_display_get_type ()) @@ -89,6 +80,13 @@ GType games_media_set_get_type (void) G_GNUC_CONST; GType games_runner_get_type (void) G_GNUC_CONST; GType games_dummy_runner_get_type (void) G_GNUC_CONST; +enum { + GAMES_DUMMY_RUNNER_0_PROPERTY, + GAMES_DUMMY_RUNNER_CAN_FULLSCREEN_PROPERTY, + GAMES_DUMMY_RUNNER_CAN_QUIT_SAFELY_PROPERTY, + GAMES_DUMMY_RUNNER_CAN_RESUME_PROPERTY, + GAMES_DUMMY_RUNNER_MEDIA_SET_PROPERTY +}; static gboolean games_dummy_runner_real_check_is_valid (GamesRunner* base, gchar* * error_message, GError** error); static GtkWidget* games_dummy_runner_real_get_display (GamesRunner* base); GamesDummyDisplay* games_dummy_display_new (void); @@ -209,10 +207,10 @@ static void games_dummy_runner_class_init (GamesDummyRunnerClass * klass) { games_dummy_runner_parent_class = g_type_class_peek_parent (klass); G_OBJECT_CLASS (klass)->get_property = _vala_games_dummy_runner_get_property; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DUMMY_RUNNER_CAN_FULLSCREEN_PROPERTY, games_dummy_runner_properties[GAMES_DUMMY_RUNNER_CAN_FULLSCREEN_PROPERTY] = g_param_spec_boolean ("can-fullscreen", "can-fullscreen", "can-fullscreen", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DUMMY_RUNNER_CAN_QUIT_SAFELY_PROPERTY, games_dummy_runner_properties[GAMES_DUMMY_RUNNER_CAN_QUIT_SAFELY_PROPERTY] = g_param_spec_boolean ("can-quit-safely", "can-quit-safely", "can-quit-safely", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DUMMY_RUNNER_CAN_RESUME_PROPERTY, games_dummy_runner_properties[GAMES_DUMMY_RUNNER_CAN_RESUME_PROPERTY] = g_param_spec_boolean ("can-resume", "can-resume", "can-resume", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DUMMY_RUNNER_MEDIA_SET_PROPERTY, games_dummy_runner_properties[GAMES_DUMMY_RUNNER_MEDIA_SET_PROPERTY] = g_param_spec_object ("media-set", "media-set", "media-set", GAMES_TYPE_MEDIA_SET, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DUMMY_RUNNER_CAN_FULLSCREEN_PROPERTY, g_param_spec_boolean ("can-fullscreen", "can-fullscreen", "can-fullscreen", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DUMMY_RUNNER_CAN_QUIT_SAFELY_PROPERTY, g_param_spec_boolean ("can-quit-safely", "can-quit-safely", "can-quit-safely", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DUMMY_RUNNER_CAN_RESUME_PROPERTY, g_param_spec_boolean ("can-resume", "can-resume", "can-resume", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DUMMY_RUNNER_MEDIA_SET_PROPERTY, g_param_spec_object ("media-set", "media-set", "media-set", GAMES_TYPE_MEDIA_SET, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); } diff -Nru gnome-games-app-3.26.2/src/event/event.c gnome-games-app-3.28.0/src/event/event.c --- gnome-games-app-3.26.2/src/event/event.c 2017-08-01 09:54:51.000000000 +0000 +++ gnome-games-app-3.28.0/src/event/event.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,39 +0,0 @@ -// This file is part of GNOME Games. License: GPL-3.0+. - -#include "event.h" - -#include - -G_DEFINE_BOXED_TYPE (GamesEvent, games_event, games_event_copy, games_event_free) - -GamesEvent * -games_event_new (void) -{ - GamesEvent *self; - - self = g_slice_new0 (GamesEvent); - - return self; -} - -GamesEvent * -games_event_copy (GamesEvent *self) -{ - GamesEvent *copy; - - g_return_val_if_fail (self, NULL); - - copy = games_event_new (); - - memcpy(copy, self, sizeof (GamesEvent)); - - return copy; -} - -void -games_event_free (GamesEvent *self) -{ - g_return_if_fail (self); - - g_slice_free (GamesEvent, self); -} diff -Nru gnome-games-app-3.26.2/src/event/event-codes.vapi gnome-games-app-3.28.0/src/event/event-codes.vapi --- gnome-games-app-3.26.2/src/event/event-codes.vapi 2017-08-01 09:54:51.000000000 +0000 +++ gnome-games-app-3.28.0/src/event/event-codes.vapi 1970-01-01 00:00:00.000000000 +0000 @@ -1,33 +0,0 @@ -// This file is part of GNOME Games. License: GPL-3.0+. - -[CCode (cheader_filename = "linux/input-event-codes.h", cprefix = "", lower_case_cprefix = "")] -namespace Games.EventCode { - public const uint16 EV_KEY; - public const uint16 EV_ABS; - public const uint16 EV_MAX; - - public const uint16 BTN_A; - public const uint16 BTN_B; - public const uint16 BTN_X; - public const uint16 BTN_Y; - public const uint16 BTN_TL; - public const uint16 BTN_TR; - public const uint16 BTN_TL2; - public const uint16 BTN_TR2; - public const uint16 BTN_SELECT; - public const uint16 BTN_START; - public const uint16 BTN_MODE; - public const uint16 BTN_THUMBL; - public const uint16 BTN_THUMBR; - public const uint16 BTN_DPAD_UP; - public const uint16 BTN_DPAD_DOWN; - public const uint16 BTN_DPAD_LEFT; - public const uint16 BTN_DPAD_RIGHT; - public const uint16 KEY_MAX; - - public const uint16 ABS_X; - public const uint16 ABS_Y; - public const uint16 ABS_RX; - public const uint16 ABS_RY; - public const uint16 ABS_MAX; -} diff -Nru gnome-games-app-3.26.2/src/event/event.h gnome-games-app-3.28.0/src/event/event.h --- gnome-games-app-3.26.2/src/event/event.h 2017-09-11 05:05:55.000000000 +0000 +++ gnome-games-app-3.28.0/src/event/event.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,95 +0,0 @@ -// This file is part of GNOME Games. License: GPL-3.0+. - -#ifndef GAMES_EVENT_H -#define GAMES_EVENT_H - -#include - -G_BEGIN_DECLS - -#define GAMES_TYPE_EVENT (games_event_get_type()) - -typedef struct _GamesEventAny GamesEventAny; -typedef struct _GamesEventGamepad GamesEventGamepad; -typedef struct _GamesEventGamepadButton GamesEventGamepadButton; -typedef struct _GamesEventGamepadAxis GamesEventGamepadAxis; -typedef struct _GamesEventGamepadHat GamesEventGamepadHat; - -typedef union _GamesEvent GamesEvent; - -typedef enum -{ - GAMES_EVENT_NOTHING = -1, - GAMES_EVENT_GAMEPAD_BUTTON_PRESS = 0, - GAMES_EVENT_GAMEPAD_BUTTON_RELEASE = 1, - GAMES_EVENT_GAMEPAD_AXIS = 2, - GAMES_EVENT_GAMEPAD_HAT = 3, - GAMES_LAST_EVENT, -} GamesEventType; - -struct _GamesEventAny { - GamesEventType type; - guint32 time; -}; - -struct _GamesEventGamepad { - GamesEventType type; - guint32 time; - guint16 hardware_type; - guint16 hardware_code; - gint32 hardware_value; - guint8 hardware_index; -}; - -struct _GamesEventGamepadButton { - GamesEventType type; - guint32 time; - guint16 hardware_type; - guint16 hardware_code; - gint32 hardware_value; - guint8 hardware_index; - guint16 button; -}; - -struct _GamesEventGamepadAxis { - GamesEventType type; - guint32 time; - guint16 hardware_type; - guint16 hardware_code; - gint32 hardware_value; - guint8 hardware_index; - guint16 axis; - gdouble value; -}; - -struct _GamesEventGamepadHat { - GamesEventType type; - guint32 time; - guint16 hardware_type; - guint16 hardware_code; - gint32 hardware_value; - guint8 hardware_index; - guint16 axis; - gint8 value; -}; - -union _GamesEvent { - GamesEventType type; - GamesEventAny any; - GamesEventGamepad gamepad; - GamesEventGamepadButton gamepad_button; - GamesEventGamepadAxis gamepad_axis; - GamesEventGamepadHat gamepad_hat; -}; - -GType games_event_get_type (void) G_GNUC_CONST; - -GamesEvent *games_event_new (void); -GamesEvent *games_event_copy (GamesEvent *self); -void games_event_free (GamesEvent *self); - -G_DEFINE_AUTOPTR_CLEANUP_FUNC (GamesEvent, games_event_free) - -G_END_DECLS - -#endif /* GAMES_EVENT_H */ diff -Nru gnome-games-app-3.26.2/src/event/event.vapi gnome-games-app-3.28.0/src/event/event.vapi --- gnome-games-app-3.26.2/src/event/event.vapi 2017-09-11 05:05:55.000000000 +0000 +++ gnome-games-app-3.28.0/src/event/event.vapi 1970-01-01 00:00:00.000000000 +0000 @@ -1,81 +0,0 @@ -// This file is part of GNOME Games. License: GPL-3.0+. - -[CCode (cheader_filename = "event.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "games_event_get_type ()")] -[Compact] -public class Games.Event { - public Games.EventType type; - [CCode (has_construct_function = false)] - public Event (Games.EventType type); - public Games.Event copy (); - public void free (); - public Games.EventAny any {[CCode (cname = "(GamesEventAny *)")] get; } - public Games.EventGamepad gamepad {[CCode (cname = "(GamesEventGamepad *)")] get; } - public Games.EventGamepadButton gamepad_button {[CCode (cname = "(GamesEventGamepadButton *)")] get; } - public Games.EventGamepadAxis gamepad_axis {[CCode (cname = "(GamesEventGamepadAxis *)")] get; } - public Games.EventGamepadHat gamepad_hat {[CCode (cname = "(GamesEventGamepadHat *)")] get; } -} - -[CCode (cheader_filename = "event.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "games_event_get_type ()")] -[Compact] -public class Games.EventAny : Games.Event { - public Games.EventType type; - public uint32 time; -} - -[CCode (cheader_filename = "event.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "games_event_get_type ()")] -[Compact] -public class Games.EventGamepad : Games.Event { - public Games.EventType type; - public uint32 time; - public uint16 hardware_type; - public uint16 hardware_code; - public int32 hardware_value; -} - -[CCode (cheader_filename = "event.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "games_event_get_type ()")] -[Compact] -public class Games.EventGamepadButton : Games.Event { - public Games.EventType type; - public uint32 time; - public uint16 hardware_type; - public uint16 hardware_code; - public int32 hardware_value; - public uint8 hardware_index; - public uint16 button; -} - -[CCode (cheader_filename = "event.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "games_event_get_type ()")] -[Compact] -public class Games.EventGamepadAxis : Games.Event { - public Games.EventType type; - public uint32 time; - public uint16 hardware_type; - public uint16 hardware_code; - public int32 hardware_value; - public uint8 hardware_index; - public uint16 axis; - public double value; -} - -[CCode (cheader_filename = "event.h", copy_function = "g_boxed_copy", free_function = "g_boxed_free", type_id = "games_event_get_type ()")] -[Compact] -public class Games.EventGamepadHat : Games.Event { - public Games.EventType type; - public uint32 time; - public uint16 hardware_type; - public uint16 hardware_code; - public int32 hardware_value; - public uint8 hardware_index; - public uint16 axis; - public int8 value; -} - -[CCode (cheader_filename = "event.h", cprefix = "GAMES_")] -public enum Games.EventType { - EVENT_NOTHING, - EVENT_GAMEPAD_BUTTON_PRESS, - EVENT_GAMEPAD_BUTTON_RELEASE, - EVENT_GAMEPAD_AXIS, - EVENT_GAMEPAD_HAT, - LAST_EVENT, -} diff -Nru gnome-games-app-3.26.2/src/event/linux/input-event-codes.h gnome-games-app-3.28.0/src/event/linux/input-event-codes.h --- gnome-games-app-3.26.2/src/event/linux/input-event-codes.h 2017-08-01 09:54:51.000000000 +0000 +++ gnome-games-app-3.28.0/src/event/linux/input-event-codes.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,838 +0,0 @@ -/* - * Input event codes - * - * *** IMPORTANT *** - * This file is not only included from C-code but also from devicetree source - * files. As such this file MUST only contain comments and defines. - * - * Copyright (c) 1999-2002 Vojtech Pavlik - * Copyright (c) 2015 Hans de Goede - * - * This program is free software; you can redistribute it and/or modify it - * under the terms of the GNU General Public License version 2 as published by - * the Free Software Foundation. - */ -#ifndef _UAPI_INPUT_EVENT_CODES_H -#define _UAPI_INPUT_EVENT_CODES_H - -/* - * Device properties and quirks - */ - -#define INPUT_PROP_POINTER 0x00 /* needs a pointer */ -#define INPUT_PROP_DIRECT 0x01 /* direct input devices */ -#define INPUT_PROP_BUTTONPAD 0x02 /* has button(s) under pad */ -#define INPUT_PROP_SEMI_MT 0x03 /* touch rectangle only */ -#define INPUT_PROP_TOPBUTTONPAD 0x04 /* softbuttons at top of pad */ -#define INPUT_PROP_POINTING_STICK 0x05 /* is a pointing stick */ -#define INPUT_PROP_ACCELEROMETER 0x06 /* has accelerometer */ - -#define INPUT_PROP_MAX 0x1f -#define INPUT_PROP_CNT (INPUT_PROP_MAX + 1) - -/* - * Event types - */ - -#define EV_SYN 0x00 -#define EV_KEY 0x01 -#define EV_REL 0x02 -#define EV_ABS 0x03 -#define EV_MSC 0x04 -#define EV_SW 0x05 -#define EV_LED 0x11 -#define EV_SND 0x12 -#define EV_REP 0x14 -#define EV_FF 0x15 -#define EV_PWR 0x16 -#define EV_FF_STATUS 0x17 -#define EV_MAX 0x1f -#define EV_CNT (EV_MAX+1) - -/* - * Synchronization events. - */ - -#define SYN_REPORT 0 -#define SYN_CONFIG 1 -#define SYN_MT_REPORT 2 -#define SYN_DROPPED 3 -#define SYN_MAX 0xf -#define SYN_CNT (SYN_MAX+1) - -/* - * Keys and buttons - * - * Most of the keys/buttons are modeled after USB HUT 1.12 - * (see http://www.usb.org/developers/hidpage). - * Abbreviations in the comments: - * AC - Application Control - * AL - Application Launch Button - * SC - System Control - */ - -#define KEY_RESERVED 0 -#define KEY_ESC 1 -#define KEY_1 2 -#define KEY_2 3 -#define KEY_3 4 -#define KEY_4 5 -#define KEY_5 6 -#define KEY_6 7 -#define KEY_7 8 -#define KEY_8 9 -#define KEY_9 10 -#define KEY_0 11 -#define KEY_MINUS 12 -#define KEY_EQUAL 13 -#define KEY_BACKSPACE 14 -#define KEY_TAB 15 -#define KEY_Q 16 -#define KEY_W 17 -#define KEY_E 18 -#define KEY_R 19 -#define KEY_T 20 -#define KEY_Y 21 -#define KEY_U 22 -#define KEY_I 23 -#define KEY_O 24 -#define KEY_P 25 -#define KEY_LEFTBRACE 26 -#define KEY_RIGHTBRACE 27 -#define KEY_ENTER 28 -#define KEY_LEFTCTRL 29 -#define KEY_A 30 -#define KEY_S 31 -#define KEY_D 32 -#define KEY_F 33 -#define KEY_G 34 -#define KEY_H 35 -#define KEY_J 36 -#define KEY_K 37 -#define KEY_L 38 -#define KEY_SEMICOLON 39 -#define KEY_APOSTROPHE 40 -#define KEY_GRAVE 41 -#define KEY_LEFTSHIFT 42 -#define KEY_BACKSLASH 43 -#define KEY_Z 44 -#define KEY_X 45 -#define KEY_C 46 -#define KEY_V 47 -#define KEY_B 48 -#define KEY_N 49 -#define KEY_M 50 -#define KEY_COMMA 51 -#define KEY_DOT 52 -#define KEY_SLASH 53 -#define KEY_RIGHTSHIFT 54 -#define KEY_KPASTERISK 55 -#define KEY_LEFTALT 56 -#define KEY_SPACE 57 -#define KEY_CAPSLOCK 58 -#define KEY_F1 59 -#define KEY_F2 60 -#define KEY_F3 61 -#define KEY_F4 62 -#define KEY_F5 63 -#define KEY_F6 64 -#define KEY_F7 65 -#define KEY_F8 66 -#define KEY_F9 67 -#define KEY_F10 68 -#define KEY_NUMLOCK 69 -#define KEY_SCROLLLOCK 70 -#define KEY_KP7 71 -#define KEY_KP8 72 -#define KEY_KP9 73 -#define KEY_KPMINUS 74 -#define KEY_KP4 75 -#define KEY_KP5 76 -#define KEY_KP6 77 -#define KEY_KPPLUS 78 -#define KEY_KP1 79 -#define KEY_KP2 80 -#define KEY_KP3 81 -#define KEY_KP0 82 -#define KEY_KPDOT 83 - -#define KEY_ZENKAKUHANKAKU 85 -#define KEY_102ND 86 -#define KEY_F11 87 -#define KEY_F12 88 -#define KEY_RO 89 -#define KEY_KATAKANA 90 -#define KEY_HIRAGANA 91 -#define KEY_HENKAN 92 -#define KEY_KATAKANAHIRAGANA 93 -#define KEY_MUHENKAN 94 -#define KEY_KPJPCOMMA 95 -#define KEY_KPENTER 96 -#define KEY_RIGHTCTRL 97 -#define KEY_KPSLASH 98 -#define KEY_SYSRQ 99 -#define KEY_RIGHTALT 100 -#define KEY_LINEFEED 101 -#define KEY_HOME 102 -#define KEY_UP 103 -#define KEY_PAGEUP 104 -#define KEY_LEFT 105 -#define KEY_RIGHT 106 -#define KEY_END 107 -#define KEY_DOWN 108 -#define KEY_PAGEDOWN 109 -#define KEY_INSERT 110 -#define KEY_DELETE 111 -#define KEY_MACRO 112 -#define KEY_MUTE 113 -#define KEY_VOLUMEDOWN 114 -#define KEY_VOLUMEUP 115 -#define KEY_POWER 116 /* SC System Power Down */ -#define KEY_KPEQUAL 117 -#define KEY_KPPLUSMINUS 118 -#define KEY_PAUSE 119 -#define KEY_SCALE 120 /* AL Compiz Scale (Expose) */ - -#define KEY_KPCOMMA 121 -#define KEY_HANGEUL 122 -#define KEY_HANGUEL KEY_HANGEUL -#define KEY_HANJA 123 -#define KEY_YEN 124 -#define KEY_LEFTMETA 125 -#define KEY_RIGHTMETA 126 -#define KEY_COMPOSE 127 - -#define KEY_STOP 128 /* AC Stop */ -#define KEY_AGAIN 129 -#define KEY_PROPS 130 /* AC Properties */ -#define KEY_UNDO 131 /* AC Undo */ -#define KEY_FRONT 132 -#define KEY_COPY 133 /* AC Copy */ -#define KEY_OPEN 134 /* AC Open */ -#define KEY_PASTE 135 /* AC Paste */ -#define KEY_FIND 136 /* AC Search */ -#define KEY_CUT 137 /* AC Cut */ -#define KEY_HELP 138 /* AL Integrated Help Center */ -#define KEY_MENU 139 /* Menu (show menu) */ -#define KEY_CALC 140 /* AL Calculator */ -#define KEY_SETUP 141 -#define KEY_SLEEP 142 /* SC System Sleep */ -#define KEY_WAKEUP 143 /* System Wake Up */ -#define KEY_FILE 144 /* AL Local Machine Browser */ -#define KEY_SENDFILE 145 -#define KEY_DELETEFILE 146 -#define KEY_XFER 147 -#define KEY_PROG1 148 -#define KEY_PROG2 149 -#define KEY_WWW 150 /* AL Internet Browser */ -#define KEY_MSDOS 151 -#define KEY_COFFEE 152 /* AL Terminal Lock/Screensaver */ -#define KEY_SCREENLOCK KEY_COFFEE -#define KEY_ROTATE_DISPLAY 153 /* Display orientation for e.g. tablets */ -#define KEY_DIRECTION KEY_ROTATE_DISPLAY -#define KEY_CYCLEWINDOWS 154 -#define KEY_MAIL 155 -#define KEY_BOOKMARKS 156 /* AC Bookmarks */ -#define KEY_COMPUTER 157 -#define KEY_BACK 158 /* AC Back */ -#define KEY_FORWARD 159 /* AC Forward */ -#define KEY_CLOSECD 160 -#define KEY_EJECTCD 161 -#define KEY_EJECTCLOSECD 162 -#define KEY_NEXTSONG 163 -#define KEY_PLAYPAUSE 164 -#define KEY_PREVIOUSSONG 165 -#define KEY_STOPCD 166 -#define KEY_RECORD 167 -#define KEY_REWIND 168 -#define KEY_PHONE 169 /* Media Select Telephone */ -#define KEY_ISO 170 -#define KEY_CONFIG 171 /* AL Consumer Control Configuration */ -#define KEY_HOMEPAGE 172 /* AC Home */ -#define KEY_REFRESH 173 /* AC Refresh */ -#define KEY_EXIT 174 /* AC Exit */ -#define KEY_MOVE 175 -#define KEY_EDIT 176 -#define KEY_SCROLLUP 177 -#define KEY_SCROLLDOWN 178 -#define KEY_KPLEFTPAREN 179 -#define KEY_KPRIGHTPAREN 180 -#define KEY_NEW 181 /* AC New */ -#define KEY_REDO 182 /* AC Redo/Repeat */ - -#define KEY_F13 183 -#define KEY_F14 184 -#define KEY_F15 185 -#define KEY_F16 186 -#define KEY_F17 187 -#define KEY_F18 188 -#define KEY_F19 189 -#define KEY_F20 190 -#define KEY_F21 191 -#define KEY_F22 192 -#define KEY_F23 193 -#define KEY_F24 194 - -#define KEY_PLAYCD 200 -#define KEY_PAUSECD 201 -#define KEY_PROG3 202 -#define KEY_PROG4 203 -#define KEY_DASHBOARD 204 /* AL Dashboard */ -#define KEY_SUSPEND 205 -#define KEY_CLOSE 206 /* AC Close */ -#define KEY_PLAY 207 -#define KEY_FASTFORWARD 208 -#define KEY_BASSBOOST 209 -#define KEY_PRINT 210 /* AC Print */ -#define KEY_HP 211 -#define KEY_CAMERA 212 -#define KEY_SOUND 213 -#define KEY_QUESTION 214 -#define KEY_EMAIL 215 -#define KEY_CHAT 216 -#define KEY_SEARCH 217 -#define KEY_CONNECT 218 -#define KEY_FINANCE 219 /* AL Checkbook/Finance */ -#define KEY_SPORT 220 -#define KEY_SHOP 221 -#define KEY_ALTERASE 222 -#define KEY_CANCEL 223 /* AC Cancel */ -#define KEY_BRIGHTNESSDOWN 224 -#define KEY_BRIGHTNESSUP 225 -#define KEY_MEDIA 226 - -#define KEY_SWITCHVIDEOMODE 227 /* Cycle between available video - outputs (Monitor/LCD/TV-out/etc) */ -#define KEY_KBDILLUMTOGGLE 228 -#define KEY_KBDILLUMDOWN 229 -#define KEY_KBDILLUMUP 230 - -#define KEY_SEND 231 /* AC Send */ -#define KEY_REPLY 232 /* AC Reply */ -#define KEY_FORWARDMAIL 233 /* AC Forward Msg */ -#define KEY_SAVE 234 /* AC Save */ -#define KEY_DOCUMENTS 235 - -#define KEY_BATTERY 236 - -#define KEY_BLUETOOTH 237 -#define KEY_WLAN 238 -#define KEY_UWB 239 - -#define KEY_UNKNOWN 240 - -#define KEY_VIDEO_NEXT 241 /* drive next video source */ -#define KEY_VIDEO_PREV 242 /* drive previous video source */ -#define KEY_BRIGHTNESS_CYCLE 243 /* brightness up, after max is min */ -#define KEY_BRIGHTNESS_AUTO 244 /* Set Auto Brightness: manual - brightness control is off, - rely on ambient */ -#define KEY_BRIGHTNESS_ZERO KEY_BRIGHTNESS_AUTO -#define KEY_DISPLAY_OFF 245 /* display device to off state */ - -#define KEY_WWAN 246 /* Wireless WAN (LTE, UMTS, GSM, etc.) */ -#define KEY_WIMAX KEY_WWAN -#define KEY_RFKILL 247 /* Key that controls all radios */ - -#define KEY_MICMUTE 248 /* Mute / unmute the microphone */ - -/* Code 255 is reserved for special needs of AT keyboard driver */ - -#define BTN_MISC 0x100 -#define BTN_0 0x100 -#define BTN_1 0x101 -#define BTN_2 0x102 -#define BTN_3 0x103 -#define BTN_4 0x104 -#define BTN_5 0x105 -#define BTN_6 0x106 -#define BTN_7 0x107 -#define BTN_8 0x108 -#define BTN_9 0x109 - -#define BTN_MOUSE 0x110 -#define BTN_LEFT 0x110 -#define BTN_RIGHT 0x111 -#define BTN_MIDDLE 0x112 -#define BTN_SIDE 0x113 -#define BTN_EXTRA 0x114 -#define BTN_FORWARD 0x115 -#define BTN_BACK 0x116 -#define BTN_TASK 0x117 - -#define BTN_JOYSTICK 0x120 -#define BTN_TRIGGER 0x120 -#define BTN_THUMB 0x121 -#define BTN_THUMB2 0x122 -#define BTN_TOP 0x123 -#define BTN_TOP2 0x124 -#define BTN_PINKIE 0x125 -#define BTN_BASE 0x126 -#define BTN_BASE2 0x127 -#define BTN_BASE3 0x128 -#define BTN_BASE4 0x129 -#define BTN_BASE5 0x12a -#define BTN_BASE6 0x12b -#define BTN_DEAD 0x12f - -#define BTN_GAMEPAD 0x130 -#define BTN_SOUTH 0x130 -#define BTN_A BTN_SOUTH -#define BTN_EAST 0x131 -#define BTN_B BTN_EAST -#define BTN_C 0x132 -#define BTN_NORTH 0x133 -#define BTN_X BTN_NORTH -#define BTN_WEST 0x134 -#define BTN_Y BTN_WEST -#define BTN_Z 0x135 -#define BTN_TL 0x136 -#define BTN_TR 0x137 -#define BTN_TL2 0x138 -#define BTN_TR2 0x139 -#define BTN_SELECT 0x13a -#define BTN_START 0x13b -#define BTN_MODE 0x13c -#define BTN_THUMBL 0x13d -#define BTN_THUMBR 0x13e - -#define BTN_DIGI 0x140 -#define BTN_TOOL_PEN 0x140 -#define BTN_TOOL_RUBBER 0x141 -#define BTN_TOOL_BRUSH 0x142 -#define BTN_TOOL_PENCIL 0x143 -#define BTN_TOOL_AIRBRUSH 0x144 -#define BTN_TOOL_FINGER 0x145 -#define BTN_TOOL_MOUSE 0x146 -#define BTN_TOOL_LENS 0x147 -#define BTN_TOOL_QUINTTAP 0x148 /* Five fingers on trackpad */ -#define BTN_TOUCH 0x14a -#define BTN_STYLUS 0x14b -#define BTN_STYLUS2 0x14c -#define BTN_TOOL_DOUBLETAP 0x14d -#define BTN_TOOL_TRIPLETAP 0x14e -#define BTN_TOOL_QUADTAP 0x14f /* Four fingers on trackpad */ - -#define BTN_WHEEL 0x150 -#define BTN_GEAR_DOWN 0x150 -#define BTN_GEAR_UP 0x151 - -#define KEY_OK 0x160 -#define KEY_SELECT 0x161 -#define KEY_GOTO 0x162 -#define KEY_CLEAR 0x163 -#define KEY_POWER2 0x164 -#define KEY_OPTION 0x165 -#define KEY_INFO 0x166 /* AL OEM Features/Tips/Tutorial */ -#define KEY_TIME 0x167 -#define KEY_VENDOR 0x168 -#define KEY_ARCHIVE 0x169 -#define KEY_PROGRAM 0x16a /* Media Select Program Guide */ -#define KEY_CHANNEL 0x16b -#define KEY_FAVORITES 0x16c -#define KEY_EPG 0x16d -#define KEY_PVR 0x16e /* Media Select Home */ -#define KEY_MHP 0x16f -#define KEY_LANGUAGE 0x170 -#define KEY_TITLE 0x171 -#define KEY_SUBTITLE 0x172 -#define KEY_ANGLE 0x173 -#define KEY_ZOOM 0x174 -#define KEY_MODE 0x175 -#define KEY_KEYBOARD 0x176 -#define KEY_SCREEN 0x177 -#define KEY_PC 0x178 /* Media Select Computer */ -#define KEY_TV 0x179 /* Media Select TV */ -#define KEY_TV2 0x17a /* Media Select Cable */ -#define KEY_VCR 0x17b /* Media Select VCR */ -#define KEY_VCR2 0x17c /* VCR Plus */ -#define KEY_SAT 0x17d /* Media Select Satellite */ -#define KEY_SAT2 0x17e -#define KEY_CD 0x17f /* Media Select CD */ -#define KEY_TAPE 0x180 /* Media Select Tape */ -#define KEY_RADIO 0x181 -#define KEY_TUNER 0x182 /* Media Select Tuner */ -#define KEY_PLAYER 0x183 -#define KEY_TEXT 0x184 -#define KEY_DVD 0x185 /* Media Select DVD */ -#define KEY_AUX 0x186 -#define KEY_MP3 0x187 -#define KEY_AUDIO 0x188 /* AL Audio Browser */ -#define KEY_VIDEO 0x189 /* AL Movie Browser */ -#define KEY_DIRECTORY 0x18a -#define KEY_LIST 0x18b -#define KEY_MEMO 0x18c /* Media Select Messages */ -#define KEY_CALENDAR 0x18d -#define KEY_RED 0x18e -#define KEY_GREEN 0x18f -#define KEY_YELLOW 0x190 -#define KEY_BLUE 0x191 -#define KEY_CHANNELUP 0x192 /* Channel Increment */ -#define KEY_CHANNELDOWN 0x193 /* Channel Decrement */ -#define KEY_FIRST 0x194 -#define KEY_LAST 0x195 /* Recall Last */ -#define KEY_AB 0x196 -#define KEY_NEXT 0x197 -#define KEY_RESTART 0x198 -#define KEY_SLOW 0x199 -#define KEY_SHUFFLE 0x19a -#define KEY_BREAK 0x19b -#define KEY_PREVIOUS 0x19c -#define KEY_DIGITS 0x19d -#define KEY_TEEN 0x19e -#define KEY_TWEN 0x19f -#define KEY_VIDEOPHONE 0x1a0 /* Media Select Video Phone */ -#define KEY_GAMES 0x1a1 /* Media Select Games */ -#define KEY_ZOOMIN 0x1a2 /* AC Zoom In */ -#define KEY_ZOOMOUT 0x1a3 /* AC Zoom Out */ -#define KEY_ZOOMRESET 0x1a4 /* AC Zoom */ -#define KEY_WORDPROCESSOR 0x1a5 /* AL Word Processor */ -#define KEY_EDITOR 0x1a6 /* AL Text Editor */ -#define KEY_SPREADSHEET 0x1a7 /* AL Spreadsheet */ -#define KEY_GRAPHICSEDITOR 0x1a8 /* AL Graphics Editor */ -#define KEY_PRESENTATION 0x1a9 /* AL Presentation App */ -#define KEY_DATABASE 0x1aa /* AL Database App */ -#define KEY_NEWS 0x1ab /* AL Newsreader */ -#define KEY_VOICEMAIL 0x1ac /* AL Voicemail */ -#define KEY_ADDRESSBOOK 0x1ad /* AL Contacts/Address Book */ -#define KEY_MESSENGER 0x1ae /* AL Instant Messaging */ -#define KEY_DISPLAYTOGGLE 0x1af /* Turn display (LCD) on and off */ -#define KEY_BRIGHTNESS_TOGGLE KEY_DISPLAYTOGGLE -#define KEY_SPELLCHECK 0x1b0 /* AL Spell Check */ -#define KEY_LOGOFF 0x1b1 /* AL Logoff */ - -#define KEY_DOLLAR 0x1b2 -#define KEY_EURO 0x1b3 - -#define KEY_FRAMEBACK 0x1b4 /* Consumer - transport controls */ -#define KEY_FRAMEFORWARD 0x1b5 -#define KEY_CONTEXT_MENU 0x1b6 /* GenDesc - system context menu */ -#define KEY_MEDIA_REPEAT 0x1b7 /* Consumer - transport control */ -#define KEY_10CHANNELSUP 0x1b8 /* 10 channels up (10+) */ -#define KEY_10CHANNELSDOWN 0x1b9 /* 10 channels down (10-) */ -#define KEY_IMAGES 0x1ba /* AL Image Browser */ - -#define KEY_DEL_EOL 0x1c0 -#define KEY_DEL_EOS 0x1c1 -#define KEY_INS_LINE 0x1c2 -#define KEY_DEL_LINE 0x1c3 - -#define KEY_FN 0x1d0 -#define KEY_FN_ESC 0x1d1 -#define KEY_FN_F1 0x1d2 -#define KEY_FN_F2 0x1d3 -#define KEY_FN_F3 0x1d4 -#define KEY_FN_F4 0x1d5 -#define KEY_FN_F5 0x1d6 -#define KEY_FN_F6 0x1d7 -#define KEY_FN_F7 0x1d8 -#define KEY_FN_F8 0x1d9 -#define KEY_FN_F9 0x1da -#define KEY_FN_F10 0x1db -#define KEY_FN_F11 0x1dc -#define KEY_FN_F12 0x1dd -#define KEY_FN_1 0x1de -#define KEY_FN_2 0x1df -#define KEY_FN_D 0x1e0 -#define KEY_FN_E 0x1e1 -#define KEY_FN_F 0x1e2 -#define KEY_FN_S 0x1e3 -#define KEY_FN_B 0x1e4 - -#define KEY_BRL_DOT1 0x1f1 -#define KEY_BRL_DOT2 0x1f2 -#define KEY_BRL_DOT3 0x1f3 -#define KEY_BRL_DOT4 0x1f4 -#define KEY_BRL_DOT5 0x1f5 -#define KEY_BRL_DOT6 0x1f6 -#define KEY_BRL_DOT7 0x1f7 -#define KEY_BRL_DOT8 0x1f8 -#define KEY_BRL_DOT9 0x1f9 -#define KEY_BRL_DOT10 0x1fa - -#define KEY_NUMERIC_0 0x200 /* used by phones, remote controls, */ -#define KEY_NUMERIC_1 0x201 /* and other keypads */ -#define KEY_NUMERIC_2 0x202 -#define KEY_NUMERIC_3 0x203 -#define KEY_NUMERIC_4 0x204 -#define KEY_NUMERIC_5 0x205 -#define KEY_NUMERIC_6 0x206 -#define KEY_NUMERIC_7 0x207 -#define KEY_NUMERIC_8 0x208 -#define KEY_NUMERIC_9 0x209 -#define KEY_NUMERIC_STAR 0x20a -#define KEY_NUMERIC_POUND 0x20b -#define KEY_NUMERIC_A 0x20c /* Phone key A - HUT Telephony 0xb9 */ -#define KEY_NUMERIC_B 0x20d -#define KEY_NUMERIC_C 0x20e -#define KEY_NUMERIC_D 0x20f - -#define KEY_CAMERA_FOCUS 0x210 -#define KEY_WPS_BUTTON 0x211 /* WiFi Protected Setup key */ - -#define KEY_TOUCHPAD_TOGGLE 0x212 /* Request switch touchpad on or off */ -#define KEY_TOUCHPAD_ON 0x213 -#define KEY_TOUCHPAD_OFF 0x214 - -#define KEY_CAMERA_ZOOMIN 0x215 -#define KEY_CAMERA_ZOOMOUT 0x216 -#define KEY_CAMERA_UP 0x217 -#define KEY_CAMERA_DOWN 0x218 -#define KEY_CAMERA_LEFT 0x219 -#define KEY_CAMERA_RIGHT 0x21a - -#define KEY_ATTENDANT_ON 0x21b -#define KEY_ATTENDANT_OFF 0x21c -#define KEY_ATTENDANT_TOGGLE 0x21d /* Attendant call on or off */ -#define KEY_LIGHTS_TOGGLE 0x21e /* Reading light on or off */ - -#define BTN_DPAD_UP 0x220 -#define BTN_DPAD_DOWN 0x221 -#define BTN_DPAD_LEFT 0x222 -#define BTN_DPAD_RIGHT 0x223 - -#define KEY_ALS_TOGGLE 0x230 /* Ambient light sensor */ - -#define KEY_BUTTONCONFIG 0x240 /* AL Button Configuration */ -#define KEY_TASKMANAGER 0x241 /* AL Task/Project Manager */ -#define KEY_JOURNAL 0x242 /* AL Log/Journal/Timecard */ -#define KEY_CONTROLPANEL 0x243 /* AL Control Panel */ -#define KEY_APPSELECT 0x244 /* AL Select Task/Application */ -#define KEY_SCREENSAVER 0x245 /* AL Screen Saver */ -#define KEY_VOICECOMMAND 0x246 /* Listening Voice Command */ - -#define KEY_BRIGHTNESS_MIN 0x250 /* Set Brightness to Minimum */ -#define KEY_BRIGHTNESS_MAX 0x251 /* Set Brightness to Maximum */ - -#define KEY_KBDINPUTASSIST_PREV 0x260 -#define KEY_KBDINPUTASSIST_NEXT 0x261 -#define KEY_KBDINPUTASSIST_PREVGROUP 0x262 -#define KEY_KBDINPUTASSIST_NEXTGROUP 0x263 -#define KEY_KBDINPUTASSIST_ACCEPT 0x264 -#define KEY_KBDINPUTASSIST_CANCEL 0x265 - -/* Diagonal movement keys */ -#define KEY_RIGHT_UP 0x266 -#define KEY_RIGHT_DOWN 0x267 -#define KEY_LEFT_UP 0x268 -#define KEY_LEFT_DOWN 0x269 - -#define KEY_ROOT_MENU 0x26a /* Show Device's Root Menu */ -/* Show Top Menu of the Media (e.g. DVD) */ -#define KEY_MEDIA_TOP_MENU 0x26b -#define KEY_NUMERIC_11 0x26c -#define KEY_NUMERIC_12 0x26d -/* - * Toggle Audio Description: refers to an audio service that helps blind and - * visually impaired consumers understand the action in a program. Note: in - * some countries this is referred to as "Video Description". - */ -#define KEY_AUDIO_DESC 0x26e -#define KEY_3D_MODE 0x26f -#define KEY_NEXT_FAVORITE 0x270 -#define KEY_STOP_RECORD 0x271 -#define KEY_PAUSE_RECORD 0x272 -#define KEY_VOD 0x273 /* Video on Demand */ -#define KEY_UNMUTE 0x274 -#define KEY_FASTREVERSE 0x275 -#define KEY_SLOWREVERSE 0x276 -/* - * Control a data application associated with the currently viewed channel, - * e.g. teletext or data broadcast application (MHEG, MHP, HbbTV, etc.) - */ -#define KEY_DATA 0x277 -#define KEY_ONSCREEN_KEYBOARD 0x278 - -#define BTN_TRIGGER_HAPPY 0x2c0 -#define BTN_TRIGGER_HAPPY1 0x2c0 -#define BTN_TRIGGER_HAPPY2 0x2c1 -#define BTN_TRIGGER_HAPPY3 0x2c2 -#define BTN_TRIGGER_HAPPY4 0x2c3 -#define BTN_TRIGGER_HAPPY5 0x2c4 -#define BTN_TRIGGER_HAPPY6 0x2c5 -#define BTN_TRIGGER_HAPPY7 0x2c6 -#define BTN_TRIGGER_HAPPY8 0x2c7 -#define BTN_TRIGGER_HAPPY9 0x2c8 -#define BTN_TRIGGER_HAPPY10 0x2c9 -#define BTN_TRIGGER_HAPPY11 0x2ca -#define BTN_TRIGGER_HAPPY12 0x2cb -#define BTN_TRIGGER_HAPPY13 0x2cc -#define BTN_TRIGGER_HAPPY14 0x2cd -#define BTN_TRIGGER_HAPPY15 0x2ce -#define BTN_TRIGGER_HAPPY16 0x2cf -#define BTN_TRIGGER_HAPPY17 0x2d0 -#define BTN_TRIGGER_HAPPY18 0x2d1 -#define BTN_TRIGGER_HAPPY19 0x2d2 -#define BTN_TRIGGER_HAPPY20 0x2d3 -#define BTN_TRIGGER_HAPPY21 0x2d4 -#define BTN_TRIGGER_HAPPY22 0x2d5 -#define BTN_TRIGGER_HAPPY23 0x2d6 -#define BTN_TRIGGER_HAPPY24 0x2d7 -#define BTN_TRIGGER_HAPPY25 0x2d8 -#define BTN_TRIGGER_HAPPY26 0x2d9 -#define BTN_TRIGGER_HAPPY27 0x2da -#define BTN_TRIGGER_HAPPY28 0x2db -#define BTN_TRIGGER_HAPPY29 0x2dc -#define BTN_TRIGGER_HAPPY30 0x2dd -#define BTN_TRIGGER_HAPPY31 0x2de -#define BTN_TRIGGER_HAPPY32 0x2df -#define BTN_TRIGGER_HAPPY33 0x2e0 -#define BTN_TRIGGER_HAPPY34 0x2e1 -#define BTN_TRIGGER_HAPPY35 0x2e2 -#define BTN_TRIGGER_HAPPY36 0x2e3 -#define BTN_TRIGGER_HAPPY37 0x2e4 -#define BTN_TRIGGER_HAPPY38 0x2e5 -#define BTN_TRIGGER_HAPPY39 0x2e6 -#define BTN_TRIGGER_HAPPY40 0x2e7 - -/* We avoid low common keys in module aliases so they don't get huge. */ -#define KEY_MIN_INTERESTING KEY_MUTE -#define KEY_MAX 0x2ff -#define KEY_CNT (KEY_MAX+1) - -/* - * Relative axes - */ - -#define REL_X 0x00 -#define REL_Y 0x01 -#define REL_Z 0x02 -#define REL_RX 0x03 -#define REL_RY 0x04 -#define REL_RZ 0x05 -#define REL_HWHEEL 0x06 -#define REL_DIAL 0x07 -#define REL_WHEEL 0x08 -#define REL_MISC 0x09 -#define REL_MAX 0x0f -#define REL_CNT (REL_MAX+1) - -/* - * Absolute axes - */ - -#define ABS_X 0x00 -#define ABS_Y 0x01 -#define ABS_Z 0x02 -#define ABS_RX 0x03 -#define ABS_RY 0x04 -#define ABS_RZ 0x05 -#define ABS_THROTTLE 0x06 -#define ABS_RUDDER 0x07 -#define ABS_WHEEL 0x08 -#define ABS_GAS 0x09 -#define ABS_BRAKE 0x0a -#define ABS_HAT0X 0x10 -#define ABS_HAT0Y 0x11 -#define ABS_HAT1X 0x12 -#define ABS_HAT1Y 0x13 -#define ABS_HAT2X 0x14 -#define ABS_HAT2Y 0x15 -#define ABS_HAT3X 0x16 -#define ABS_HAT3Y 0x17 -#define ABS_PRESSURE 0x18 -#define ABS_DISTANCE 0x19 -#define ABS_TILT_X 0x1a -#define ABS_TILT_Y 0x1b -#define ABS_TOOL_WIDTH 0x1c - -#define ABS_VOLUME 0x20 - -#define ABS_MISC 0x28 - -#define ABS_MT_SLOT 0x2f /* MT slot being modified */ -#define ABS_MT_TOUCH_MAJOR 0x30 /* Major axis of touching ellipse */ -#define ABS_MT_TOUCH_MINOR 0x31 /* Minor axis (omit if circular) */ -#define ABS_MT_WIDTH_MAJOR 0x32 /* Major axis of approaching ellipse */ -#define ABS_MT_WIDTH_MINOR 0x33 /* Minor axis (omit if circular) */ -#define ABS_MT_ORIENTATION 0x34 /* Ellipse orientation */ -#define ABS_MT_POSITION_X 0x35 /* Center X touch position */ -#define ABS_MT_POSITION_Y 0x36 /* Center Y touch position */ -#define ABS_MT_TOOL_TYPE 0x37 /* Type of touching device */ -#define ABS_MT_BLOB_ID 0x38 /* Group a set of packets as a blob */ -#define ABS_MT_TRACKING_ID 0x39 /* Unique ID of initiated contact */ -#define ABS_MT_PRESSURE 0x3a /* Pressure on contact area */ -#define ABS_MT_DISTANCE 0x3b /* Contact hover distance */ -#define ABS_MT_TOOL_X 0x3c /* Center X tool position */ -#define ABS_MT_TOOL_Y 0x3d /* Center Y tool position */ - - -#define ABS_MAX 0x3f -#define ABS_CNT (ABS_MAX+1) - -/* - * Switch events - */ - -#define SW_LID 0x00 /* set = lid shut */ -#define SW_TABLET_MODE 0x01 /* set = tablet mode */ -#define SW_HEADPHONE_INSERT 0x02 /* set = inserted */ -#define SW_RFKILL_ALL 0x03 /* rfkill master switch, type "any" - set = radio enabled */ -#define SW_RADIO SW_RFKILL_ALL /* deprecated */ -#define SW_MICROPHONE_INSERT 0x04 /* set = inserted */ -#define SW_DOCK 0x05 /* set = plugged into dock */ -#define SW_LINEOUT_INSERT 0x06 /* set = inserted */ -#define SW_JACK_PHYSICAL_INSERT 0x07 /* set = mechanical switch set */ -#define SW_VIDEOOUT_INSERT 0x08 /* set = inserted */ -#define SW_CAMERA_LENS_COVER 0x09 /* set = lens covered */ -#define SW_KEYPAD_SLIDE 0x0a /* set = keypad slide out */ -#define SW_FRONT_PROXIMITY 0x0b /* set = front proximity sensor active */ -#define SW_ROTATE_LOCK 0x0c /* set = rotate locked/disabled */ -#define SW_LINEIN_INSERT 0x0d /* set = inserted */ -#define SW_MUTE_DEVICE 0x0e /* set = device disabled */ -#define SW_PEN_INSERTED 0x0f /* set = pen inserted */ -#define SW_MAX 0x0f -#define SW_CNT (SW_MAX+1) - -/* - * Misc events - */ - -#define MSC_SERIAL 0x00 -#define MSC_PULSELED 0x01 -#define MSC_GESTURE 0x02 -#define MSC_RAW 0x03 -#define MSC_SCAN 0x04 -#define MSC_TIMESTAMP 0x05 -#define MSC_MAX 0x07 -#define MSC_CNT (MSC_MAX+1) - -/* - * LEDs - */ - -#define LED_NUML 0x00 -#define LED_CAPSL 0x01 -#define LED_SCROLLL 0x02 -#define LED_COMPOSE 0x03 -#define LED_KANA 0x04 -#define LED_SLEEP 0x05 -#define LED_SUSPEND 0x06 -#define LED_MUTE 0x07 -#define LED_MISC 0x08 -#define LED_MAIL 0x09 -#define LED_CHARGING 0x0a -#define LED_MAX 0x0f -#define LED_CNT (LED_MAX+1) - -/* - * Autorepeat values - */ - -#define REP_DELAY 0x00 -#define REP_PERIOD 0x01 -#define REP_MAX 0x01 -#define REP_CNT (REP_MAX+1) - -/* - * Sounds - */ - -#define SND_CLICK 0x00 -#define SND_BELL 0x01 -#define SND_TONE 0x02 -#define SND_MAX 0x07 -#define SND_CNT (SND_MAX+1) - -#endif diff -Nru gnome-games-app-3.26.2/src/gameinfo/gameinfo-disc-id-disc-title.c gnome-games-app-3.28.0/src/gameinfo/gameinfo-disc-id-disc-title.c --- gnome-games-app-3.26.2/src/gameinfo/gameinfo-disc-id-disc-title.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/gameinfo/gameinfo-disc-id-disc-title.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* gameinfo-disc-id-disc-title.c generated by valac 0.38.2, the Vala compiler +/* gameinfo-disc-id-disc-title.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from gameinfo-disc-id-disc-title.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -38,11 +38,6 @@ typedef struct _GamesGameinfoDoc GamesGameinfoDoc; typedef struct _GamesGameinfoDocClass GamesGameinfoDocClass; -enum { - GAMES_GAMEINFO_DISC_ID_DISC_TITLE_DUMMY_PROPERTY, - GAMES_GAMEINFO_DISC_ID_DISC_TITLE_LAST_PROPERTY -}; -static GParamSpec* games_gameinfo_disc_id_disc_title_properties[GAMES_GAMEINFO_DISC_ID_DISC_TITLE_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) #define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) @@ -76,6 +71,9 @@ GType games_gameinfo_disc_id_disc_title_get_type (void) G_GNUC_CONST; GType games_gameinfo_doc_get_type (void) G_GNUC_CONST; #define GAMES_GAMEINFO_DISC_ID_DISC_TITLE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_GAMEINFO_DISC_ID_DISC_TITLE, GamesGameinfoDiscIdDiscTitlePrivate)) +enum { + GAMES_GAMEINFO_DISC_ID_DISC_TITLE_0_PROPERTY +}; GamesGameinfoDiscIdDiscTitle* games_gameinfo_disc_id_disc_title_new (GamesGameinfoDoc* gameinfo, const gchar* disc_id, const gchar* domain); GamesGameinfoDiscIdDiscTitle* games_gameinfo_disc_id_disc_title_construct (GType object_type, GamesGameinfoDoc* gameinfo, const gchar* disc_id, const gchar* domain); static gchar* games_gameinfo_disc_id_disc_title_real_get_title (GamesTitle* base, GError** error); diff -Nru gnome-games-app-3.26.2/src/gameinfo/gameinfo-disc-id-game-title.c gnome-games-app-3.28.0/src/gameinfo/gameinfo-disc-id-game-title.c --- gnome-games-app-3.26.2/src/gameinfo/gameinfo-disc-id-game-title.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/gameinfo/gameinfo-disc-id-game-title.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* gameinfo-disc-id-game-title.c generated by valac 0.38.2, the Vala compiler +/* gameinfo-disc-id-game-title.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from gameinfo-disc-id-game-title.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -38,11 +38,6 @@ typedef struct _GamesGameinfoDoc GamesGameinfoDoc; typedef struct _GamesGameinfoDocClass GamesGameinfoDocClass; -enum { - GAMES_GAMEINFO_DISC_ID_GAME_TITLE_DUMMY_PROPERTY, - GAMES_GAMEINFO_DISC_ID_GAME_TITLE_LAST_PROPERTY -}; -static GParamSpec* games_gameinfo_disc_id_game_title_properties[GAMES_GAMEINFO_DISC_ID_GAME_TITLE_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) @@ -75,6 +70,9 @@ GType games_gameinfo_disc_id_game_title_get_type (void) G_GNUC_CONST; GType games_gameinfo_doc_get_type (void) G_GNUC_CONST; #define GAMES_GAMEINFO_DISC_ID_GAME_TITLE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_GAMEINFO_DISC_ID_GAME_TITLE, GamesGameinfoDiscIdGameTitlePrivate)) +enum { + GAMES_GAMEINFO_DISC_ID_GAME_TITLE_0_PROPERTY +}; GamesGameinfoDiscIdGameTitle* games_gameinfo_disc_id_game_title_new (GamesGameinfoDoc* gameinfo, const gchar* disc_id, const gchar* domain); GamesGameinfoDiscIdGameTitle* games_gameinfo_disc_id_game_title_construct (GType object_type, GamesGameinfoDoc* gameinfo, const gchar* disc_id, const gchar* domain); static gchar* games_gameinfo_disc_id_game_title_real_get_title (GamesTitle* base, GError** error); diff -Nru gnome-games-app-3.26.2/src/gameinfo/gameinfo-disc-id-input-capabilities.c gnome-games-app-3.28.0/src/gameinfo/gameinfo-disc-id-input-capabilities.c --- gnome-games-app-3.26.2/src/gameinfo/gameinfo-disc-id-input-capabilities.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/gameinfo/gameinfo-disc-id-input-capabilities.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* gameinfo-disc-id-input-capabilities.c generated by valac 0.38.2, the Vala compiler +/* gameinfo-disc-id-input-capabilities.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from gameinfo-disc-id-input-capabilities.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -37,13 +37,6 @@ typedef struct _GamesGameinfoDoc GamesGameinfoDoc; typedef struct _GamesGameinfoDocClass GamesGameinfoDocClass; -enum { - GAMES_GAMEINFO_DISC_ID_INPUT_CAPABILITIES_DUMMY_PROPERTY, - GAMES_GAMEINFO_DISC_ID_INPUT_CAPABILITIES_DEFAULT_ALLOW_CLASSIC_GAMEPADS_PROPERTY, - GAMES_GAMEINFO_DISC_ID_INPUT_CAPABILITIES_DEFAULT_ALLOW_ANALOG_GAMEPADS_PROPERTY, - GAMES_GAMEINFO_DISC_ID_INPUT_CAPABILITIES_LAST_PROPERTY -}; -static GParamSpec* games_gameinfo_disc_id_input_capabilities_properties[GAMES_GAMEINFO_DISC_ID_INPUT_CAPABILITIES_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) @@ -80,6 +73,11 @@ GType games_gameinfo_disc_id_input_capabilities_get_type (void) G_GNUC_CONST; GType games_gameinfo_doc_get_type (void) G_GNUC_CONST; #define GAMES_GAMEINFO_DISC_ID_INPUT_CAPABILITIES_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_GAMEINFO_DISC_ID_INPUT_CAPABILITIES, GamesGameinfoDiscIdInputCapabilitiesPrivate)) +enum { + GAMES_GAMEINFO_DISC_ID_INPUT_CAPABILITIES_0_PROPERTY, + GAMES_GAMEINFO_DISC_ID_INPUT_CAPABILITIES_DEFAULT_ALLOW_CLASSIC_GAMEPADS_PROPERTY, + GAMES_GAMEINFO_DISC_ID_INPUT_CAPABILITIES_DEFAULT_ALLOW_ANALOG_GAMEPADS_PROPERTY +}; GamesGameinfoDiscIdInputCapabilities* games_gameinfo_disc_id_input_capabilities_new (GamesGameinfoDoc* gameinfo, const gchar* disc_id); GamesGameinfoDiscIdInputCapabilities* games_gameinfo_disc_id_input_capabilities_construct (GType object_type, GamesGameinfoDoc* gameinfo, const gchar* disc_id); static gboolean games_gameinfo_disc_id_input_capabilities_real_get_allow_classic_gamepads (GamesInputCapabilities* base, GError** error); @@ -273,7 +271,7 @@ gboolean _tmp0_; _tmp0_ = value; self->priv->_default_allow_classic_gamepads = _tmp0_; - g_object_notify_by_pspec ((GObject *) self, games_gameinfo_disc_id_input_capabilities_properties[GAMES_GAMEINFO_DISC_ID_INPUT_CAPABILITIES_DEFAULT_ALLOW_CLASSIC_GAMEPADS_PROPERTY]); + g_object_notify ((GObject *) self, "default-allow-classic-gamepads"); } } @@ -294,7 +292,7 @@ gboolean _tmp0_; _tmp0_ = value; self->priv->_default_allow_analog_gamepads = _tmp0_; - g_object_notify_by_pspec ((GObject *) self, games_gameinfo_disc_id_input_capabilities_properties[GAMES_GAMEINFO_DISC_ID_INPUT_CAPABILITIES_DEFAULT_ALLOW_ANALOG_GAMEPADS_PROPERTY]); + g_object_notify ((GObject *) self, "default-allow-analog-gamepads"); } } @@ -305,8 +303,8 @@ G_OBJECT_CLASS (klass)->get_property = _vala_games_gameinfo_disc_id_input_capabilities_get_property; G_OBJECT_CLASS (klass)->set_property = _vala_games_gameinfo_disc_id_input_capabilities_set_property; G_OBJECT_CLASS (klass)->finalize = games_gameinfo_disc_id_input_capabilities_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_GAMEINFO_DISC_ID_INPUT_CAPABILITIES_DEFAULT_ALLOW_CLASSIC_GAMEPADS_PROPERTY, games_gameinfo_disc_id_input_capabilities_properties[GAMES_GAMEINFO_DISC_ID_INPUT_CAPABILITIES_DEFAULT_ALLOW_CLASSIC_GAMEPADS_PROPERTY] = g_param_spec_boolean ("default-allow-classic-gamepads", "default-allow-classic-gamepads", "default-allow-classic-gamepads", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_GAMEINFO_DISC_ID_INPUT_CAPABILITIES_DEFAULT_ALLOW_ANALOG_GAMEPADS_PROPERTY, games_gameinfo_disc_id_input_capabilities_properties[GAMES_GAMEINFO_DISC_ID_INPUT_CAPABILITIES_DEFAULT_ALLOW_ANALOG_GAMEPADS_PROPERTY] = g_param_spec_boolean ("default-allow-analog-gamepads", "default-allow-analog-gamepads", "default-allow-analog-gamepads", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_GAMEINFO_DISC_ID_INPUT_CAPABILITIES_DEFAULT_ALLOW_CLASSIC_GAMEPADS_PROPERTY, g_param_spec_boolean ("default-allow-classic-gamepads", "default-allow-classic-gamepads", "default-allow-classic-gamepads", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_GAMEINFO_DISC_ID_INPUT_CAPABILITIES_DEFAULT_ALLOW_ANALOG_GAMEPADS_PROPERTY, g_param_spec_boolean ("default-allow-analog-gamepads", "default-allow-analog-gamepads", "default-allow-analog-gamepads", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); } diff -Nru gnome-games-app-3.26.2/src/gameinfo/gameinfo-doc.c gnome-games-app-3.28.0/src/gameinfo/gameinfo-doc.c --- gnome-games-app-3.26.2/src/gameinfo/gameinfo-doc.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/gameinfo/gameinfo-doc.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* gameinfo-doc.c generated by valac 0.38.2, the Vala compiler +/* gameinfo-doc.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from gameinfo-doc.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -31,11 +31,6 @@ typedef struct _GamesXmlDoc GamesXmlDoc; typedef struct _GamesXmlDocClass GamesXmlDocClass; -enum { - GAMES_GAMEINFO_DOC_DUMMY_PROPERTY, - GAMES_GAMEINFO_DOC_LAST_PROPERTY -}; -static GParamSpec* games_gameinfo_doc_properties[GAMES_GAMEINFO_DOC_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) @@ -62,6 +57,9 @@ GType games_gameinfo_doc_get_type (void) G_GNUC_CONST; GType games_xml_doc_get_type (void) G_GNUC_CONST; #define GAMES_GAMEINFO_DOC_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_GAMEINFO_DOC, GamesGameinfoDocPrivate)) +enum { + GAMES_GAMEINFO_DOC_0_PROPERTY +}; GamesGameinfoDoc* games_gameinfo_doc_new_from_data (guint8* data, int data_length1, GError** error); GamesGameinfoDoc* games_gameinfo_doc_construct_from_data (GType object_type, guint8* data, int data_length1, GError** error); GamesXmlDoc* games_xml_doc_new_from_data (guint8* data, int data_length1, GError** error); diff -Nru gnome-games-app-3.26.2/src/gameinfo/gameinfo-error.c gnome-games-app-3.28.0/src/gameinfo/gameinfo-error.c --- gnome-games-app-3.26.2/src/gameinfo/gameinfo-error.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/gameinfo/gameinfo-error.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* gameinfo-error.c generated by valac 0.38.2, the Vala compiler +/* gameinfo-error.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from gameinfo-error.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/src/gamepad/event-codes.vapi gnome-games-app-3.28.0/src/gamepad/event-codes.vapi --- gnome-games-app-3.26.2/src/gamepad/event-codes.vapi 1970-01-01 00:00:00.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/event-codes.vapi 2018-01-30 09:48:30.000000000 +0000 @@ -0,0 +1,33 @@ +// This file is part of GNOME Games. License: GPL-3.0+. + +[CCode (cheader_filename = "linux/input-event-codes.h", cprefix = "", lower_case_cprefix = "")] +namespace Games.EventCode { + public const uint16 EV_KEY; + public const uint16 EV_ABS; + public const uint16 EV_MAX; + + public const uint16 BTN_A; + public const uint16 BTN_B; + public const uint16 BTN_X; + public const uint16 BTN_Y; + public const uint16 BTN_TL; + public const uint16 BTN_TR; + public const uint16 BTN_TL2; + public const uint16 BTN_TR2; + public const uint16 BTN_SELECT; + public const uint16 BTN_START; + public const uint16 BTN_MODE; + public const uint16 BTN_THUMBL; + public const uint16 BTN_THUMBR; + public const uint16 BTN_DPAD_UP; + public const uint16 BTN_DPAD_DOWN; + public const uint16 BTN_DPAD_LEFT; + public const uint16 BTN_DPAD_RIGHT; + public const uint16 KEY_MAX; + + public const uint16 ABS_X; + public const uint16 ABS_Y; + public const uint16 ABS_RX; + public const uint16 ABS_RY; + public const uint16 ABS_MAX; +} diff -Nru gnome-games-app-3.26.2/src/gamepad/gamepad.c gnome-games-app-3.28.0/src/gamepad/gamepad.c --- gnome-games-app-3.26.2/src/gamepad/gamepad.c 2017-09-21 12:48:06.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/gamepad.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,374 +0,0 @@ -// This file is part of GNOME Games. License: GPL-3.0+. - -#include "gamepad.h" - -#include -#include -#include "../event/event.h" - -struct _GamesGamepad { - GObject parent_instance; - - GamesRawGamepad *raw_gamepad; - GamesGamepadMapping *mapping; -}; - -G_DEFINE_TYPE (GamesGamepad, games_gamepad, G_TYPE_OBJECT) - -enum { - SIGNAL_EVENT, - SIGNAL_BUTTON_PRESS_EVENT, - SIGNAL_BUTTON_RELEASE_EVENT, - SIGNAL_AXIS_EVENT, - SIGNAL_HAT_EVENT, - SIGNAL_UNPLUGGED, - LAST_SIGNAL, -}; - -static guint signals[LAST_SIGNAL] = { 0 }; - -/* Private */ - -static void -forward_event (GamesGamepad *self, - GamesEvent *event) -{ - switch (event->type) { - case GAMES_EVENT_GAMEPAD_BUTTON_PRESS: - g_signal_emit (self, signals[SIGNAL_BUTTON_PRESS_EVENT], 0, event); - - return; - case GAMES_EVENT_GAMEPAD_BUTTON_RELEASE: - g_signal_emit (self, signals[SIGNAL_BUTTON_RELEASE_EVENT], 0, event); - - return; - case GAMES_EVENT_GAMEPAD_AXIS: - g_signal_emit (self, signals[SIGNAL_AXIS_EVENT], 0, event); - - return; - case GAMES_EVENT_GAMEPAD_HAT: - g_signal_emit (self, signals[SIGNAL_HAT_EVENT], 0, event); - - return; - default: - return; - } -} - -static void -map_button_event (GamesGamepad *self, - GamesEventGamepadButton *games_event) -{ - GamesGamepadInput destination; - GamesEvent *mapped_event; - guint signal; - gboolean pressed; - - mapped_event = games_event_copy ((GamesEvent *) games_event); - games_gamepad_mapping_get_button_mapping (self->mapping, - games_event->hardware_index, - &destination); - - pressed = games_event->type == GAMES_EVENT_GAMEPAD_BUTTON_PRESS; - - switch (destination.type) { - case EV_ABS: - signal = SIGNAL_AXIS_EVENT; - mapped_event->gamepad_axis.axis = destination.code; - mapped_event->gamepad_axis.value = pressed ? 1 : 0; - - break; - case EV_KEY: - signal = pressed ? SIGNAL_BUTTON_PRESS_EVENT : SIGNAL_BUTTON_RELEASE_EVENT; - mapped_event->gamepad_button.button = destination.code; - - break; - default: - games_event_free (mapped_event); - - return; - } - - g_signal_emit (self, signals[signal], 0, mapped_event); - - games_event_free (mapped_event); -} - -static void -map_axis_event (GamesGamepad *self, - GamesEventGamepadAxis *games_event) -{ - GamesGamepadInput destination; - GamesEvent *mapped_event; - guint signal; - gboolean pressed; - - mapped_event = games_event_copy ((GamesEvent *) games_event); - games_gamepad_mapping_get_axis_mapping (self->mapping, games_event->hardware_index, &destination); - - pressed = games_event->value > 0.; - - switch (destination.type) { - case EV_ABS: - signal = SIGNAL_AXIS_EVENT; - mapped_event->gamepad_axis.axis = destination.code; - - break; - case EV_KEY: - signal = pressed ? SIGNAL_BUTTON_PRESS_EVENT : SIGNAL_BUTTON_RELEASE_EVENT; - mapped_event->gamepad_button.button = destination.code; - - break; - default: - games_event_free (mapped_event); - - return; - } - - g_signal_emit (self, signals[signal], 0, mapped_event); - - games_event_free (mapped_event); -} - -static void -map_hat_event (GamesGamepad *self, - GamesEventGamepadHat *games_event) -{ - GamesGamepadInput destination; - GamesEvent *mapped_event; - guint signal; - gboolean pressed; - - mapped_event = games_event_copy ((GamesEvent *) games_event); - games_gamepad_mapping_get_dpad_mapping (self->mapping, - games_event->hardware_index / 2, - games_event->hardware_index % 2, - games_event->value, - &destination); - - pressed = abs (games_event->value); - - switch (destination.type) { - case EV_ABS: - signal = SIGNAL_AXIS_EVENT; - mapped_event->gamepad_axis.axis = destination.code; - mapped_event->gamepad_axis.value = abs (games_event->value); - - break; - case EV_KEY: - signal = pressed ? SIGNAL_BUTTON_PRESS_EVENT : SIGNAL_BUTTON_RELEASE_EVENT; - mapped_event->gamepad_button.button = destination.code; - - break; - default: - games_event_free (mapped_event); - - return; - } - - g_signal_emit (self, signals[signal], 0, mapped_event); - - games_event_free (mapped_event); -} - -static void -map_event (GamesGamepad *self, - GamesEvent *event) -{ - switch (event->type) { - case GAMES_EVENT_GAMEPAD_BUTTON_PRESS: - case GAMES_EVENT_GAMEPAD_BUTTON_RELEASE: - map_button_event (self, &event->gamepad_button); - - break; - case GAMES_EVENT_GAMEPAD_AXIS: - map_axis_event (self, &event->gamepad_axis); - - break; - case GAMES_EVENT_GAMEPAD_HAT: - map_hat_event (self, &event->gamepad_hat); - - break; - default: - break; - } -} - -static void -on_event (GamesRawGamepad *sender, - GamesEvent *event, - gpointer data) -{ - GamesGamepad *self; - - self = GAMES_GAMEPAD (data); - - g_return_if_fail (self != NULL); - - g_signal_emit (self, signals[SIGNAL_EVENT], 0, event); - - if (self->mapping == NULL) - forward_event (self, event); - else - map_event (self, event); -} - -static void -on_unplugged (GamesRawGamepad *sender, - gpointer target) -{ - g_signal_emit (target, signals[SIGNAL_UNPLUGGED], 0); -} - -/* Public */ - -const gchar * -games_gamepad_get_guid (GamesGamepad *self) -{ - return games_raw_gamepad_get_guid (self->raw_gamepad); -} - -const gchar * -games_gamepad_get_name (GamesGamepad *self) -{ - return games_raw_gamepad_get_name (self->raw_gamepad); -} - -void -games_gamepad_set_mapping (GamesGamepad *self, - GamesGamepadMapping *mapping) -{ - if (self->mapping != NULL) - g_object_unref (self->mapping); - - self->mapping = mapping ? g_object_ref (mapping) : NULL; -} - -GamesGamepad * -games_gamepad_new (GamesRawGamepad *raw_gamepad) -{ - GamesGamepad *self = NULL; - - g_return_val_if_fail (raw_gamepad != NULL, NULL); - - self = (GamesGamepad*) g_object_new (GAMES_TYPE_GAMEPAD, NULL); - - self->raw_gamepad = g_object_ref (raw_gamepad); - - g_signal_connect_object (raw_gamepad, - "event", - (GCallback) on_event, - self, - 0); - g_signal_connect_object (raw_gamepad, - "unplugged", - (GCallback) on_unplugged, - self, - 0); - - return self; -} - -/* Type */ - -static void finalize (GObject *obj) { - GamesGamepad *self; - self = G_TYPE_CHECK_INSTANCE_CAST (obj, GAMES_TYPE_GAMEPAD, GamesGamepad); - g_object_unref (self->raw_gamepad); - g_object_unref (self->mapping); - G_OBJECT_CLASS (games_gamepad_parent_class)->finalize (obj); -} - -static void games_gamepad_class_init (GamesGamepadClass *klass) { - games_gamepad_parent_class = g_type_class_peek_parent (klass); - G_OBJECT_CLASS (klass)->finalize = finalize; - - /** - * GamesGamepad::event: - * @event: the event emitted by the gamepad - **/ - signals[SIGNAL_EVENT] = - g_signal_new ("event", - GAMES_TYPE_GAMEPAD, - G_SIGNAL_RUN_LAST, - 0, NULL, NULL, - g_cclosure_marshal_VOID__BOXED, - G_TYPE_NONE, 1, - GAMES_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE); - - /** - * GamesGamepad::button-press-event: - * @event: the event emitted by the gamepad - * - * Emitted when a button is pressed. - */ - signals[SIGNAL_BUTTON_PRESS_EVENT] = - g_signal_new ("button-press-event", - GAMES_TYPE_GAMEPAD, - G_SIGNAL_RUN_LAST, - 0, NULL, NULL, - g_cclosure_marshal_VOID__BOXED, - G_TYPE_NONE, 1, - GAMES_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE); - - /** - * GamesGamepad::button-release-event: - * @event: the event emitted by the gamepad - * - * Emitted when a button is released. - */ - signals[SIGNAL_BUTTON_RELEASE_EVENT] = - g_signal_new ("button-release-event", - GAMES_TYPE_GAMEPAD, - G_SIGNAL_RUN_LAST, - 0, NULL, NULL, - g_cclosure_marshal_VOID__BOXED, - G_TYPE_NONE, 1, - GAMES_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE); - - /** - * GamesGamepad::axis-event: - * @event: the event emitted by the gamepad - * - * Emitted when a axis' value changes. - */ - signals[SIGNAL_AXIS_EVENT] = - g_signal_new ("axis-event", - GAMES_TYPE_GAMEPAD, - G_SIGNAL_RUN_LAST, - 0, NULL, NULL, - g_cclosure_marshal_VOID__BOXED, - G_TYPE_NONE, 1, - GAMES_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE); - - /** - * GamesGamepad::hat-event: - * @event: the event emitted by the gamepad - * - * Emitted when a axis from a hat's value changes. - */ - signals[SIGNAL_HAT_EVENT] = - g_signal_new ("hat-event", - GAMES_TYPE_GAMEPAD, - G_SIGNAL_RUN_LAST, - 0, NULL, NULL, - g_cclosure_marshal_VOID__BOXED, - G_TYPE_NONE, 1, - GAMES_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE); - - /** - * GamesGamepad::unplugged: - * - * Emitted when the gamepad is unplugged. - */ - signals[SIGNAL_UNPLUGGED] = - g_signal_new ("unplugged", - GAMES_TYPE_GAMEPAD, - G_SIGNAL_RUN_LAST, - 0, NULL, NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0); -} - -static void games_gamepad_init (GamesGamepad *self) { -} diff -Nru gnome-games-app-3.26.2/src/gamepad/gamepad-dpad.c gnome-games-app-3.28.0/src/gamepad/gamepad-dpad.c --- gnome-games-app-3.26.2/src/gamepad/gamepad-dpad.c 2017-08-01 09:54:51.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/gamepad-dpad.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,36 +1,61 @@ -// This file is part of GNOME Games. License: GPL-3.0+. +/* gamepad-dpad.c generated by valac 0.36.12.13-3ae08, the Vala compiler + * generated from gamepad-dpad.vala, do not modify */ -#include "gamepad-dpad.h" +/* This file is part of GNOME Games. License: GPL-3.0+.*/ +#include +#include #include -GamesGamepadDPad * -games_gamepad_dpad_dup (const GamesGamepadDPad *self) -{ - GamesGamepadDPad *dup; - dup = g_new0 (GamesGamepadDPad, 1); - memcpy (dup, self, sizeof (GamesGamepadDPad)); +#define GAMES_TYPE_GAMEPAD_DPAD (games_gamepad_dpad_get_type ()) - return dup; +#define GAMES_TYPE_GAMEPAD_INPUT (games_gamepad_input_get_type ()) +typedef struct _GamesGamepadInput GamesGamepadInput; +typedef struct _GamesGamepadDPad GamesGamepadDPad; + +struct _GamesGamepadInput { + guint16 type; + guint16 code; +}; + +struct _GamesGamepadDPad { + GamesGamepadInput inputs[4]; + gint32 axis_values[2]; +}; + + + +GType games_gamepad_dpad_get_type (void) G_GNUC_CONST; +GType games_gamepad_input_get_type (void) G_GNUC_CONST; +GamesGamepadInput* games_gamepad_input_dup (const GamesGamepadInput* self); +void games_gamepad_input_free (GamesGamepadInput* self); +GamesGamepadDPad* games_gamepad_dpad_dup (const GamesGamepadDPad* self); +void games_gamepad_dpad_free (GamesGamepadDPad* self); + + +GamesGamepadDPad* games_gamepad_dpad_dup (const GamesGamepadDPad* self) { + GamesGamepadDPad* dup; + dup = g_new0 (GamesGamepadDPad, 1); + memcpy (dup, self, sizeof (GamesGamepadDPad)); + return dup; } -void -games_gamepad_dpad_free (GamesGamepadDPad *self) -{ - g_free (self); + +void games_gamepad_dpad_free (GamesGamepadDPad* self) { + g_free (self); } -GType -games_gamepad_dpad_get_type (void) -{ - static volatile gsize type_id = 0; - - if (g_once_init_enter (&type_id)) - g_once_init_leave (&type_id, - g_boxed_type_register_static ("GamesGamepadDPad", - (GBoxedCopyFunc) games_gamepad_dpad_dup, - (GBoxedFreeFunc) games_gamepad_dpad_free)); - return type_id; +GType games_gamepad_dpad_get_type (void) { + static volatile gsize games_gamepad_dpad_type_id__volatile = 0; + if (g_once_init_enter (&games_gamepad_dpad_type_id__volatile)) { + GType games_gamepad_dpad_type_id; + games_gamepad_dpad_type_id = g_boxed_type_register_static ("GamesGamepadDPad", (GBoxedCopyFunc) games_gamepad_dpad_dup, (GBoxedFreeFunc) games_gamepad_dpad_free); + g_once_init_leave (&games_gamepad_dpad_type_id__volatile, games_gamepad_dpad_type_id); + } + return games_gamepad_dpad_type_id__volatile; } + + + diff -Nru gnome-games-app-3.26.2/src/gamepad/gamepad-dpad.h gnome-games-app-3.28.0/src/gamepad/gamepad-dpad.h --- gnome-games-app-3.26.2/src/gamepad/gamepad-dpad.h 2017-09-11 05:05:55.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/gamepad-dpad.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ -// This file is part of GNOME Games. License: GPL-3.0+. - -#ifndef GAMES_GAMEPAD_DPAD_H -#define GAMES_GAMEPAD_DPAD_H - -#include -#include "gamepad-input.h" - -G_BEGIN_DECLS - -#define GAMES_TYPE_GAMEPAD_DPAD (games_gamepad_dpad_get_type ()) - -typedef struct { - GamesGamepadInput inputs[4]; - gint32 axis_values[2]; -} GamesGamepadDPad; - -GType games_gamepad_dpad_get_type (void) G_GNUC_CONST; -GamesGamepadDPad *games_gamepad_dpad_dup (const GamesGamepadDPad *self); -void games_gamepad_dpad_free (GamesGamepadDPad *self); - -G_END_DECLS - -#endif /* GAMES_GAMEPAD_DPAD_H */ diff -Nru gnome-games-app-3.26.2/src/gamepad/gamepad-dpad.vala gnome-games-app-3.28.0/src/gamepad/gamepad-dpad.vala --- gnome-games-app-3.26.2/src/gamepad/gamepad-dpad.vala 1970-01-01 00:00:00.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/gamepad-dpad.vala 2018-01-30 09:48:30.000000000 +0000 @@ -0,0 +1,6 @@ +// This file is part of GNOME Games. License: GPL-3.0+. + +private struct Games.GamepadDPad { + GamepadInput inputs[4]; + int32 axis_values[2]; +} diff -Nru gnome-games-app-3.26.2/src/gamepad/gamepad-dpad.vapi gnome-games-app-3.28.0/src/gamepad/gamepad-dpad.vapi --- gnome-games-app-3.26.2/src/gamepad/gamepad-dpad.vapi 2017-09-21 12:48:06.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/gamepad-dpad.vapi 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -// This file is part of GNOME Games. License: GPL-3.0+. - -[CCode (cheader_filename = "gamepad-dpad.h")] -private struct Games.GamepadDPad { - Games.GamepadInput inputs[4]; - int32 axis_values[2]; -} diff -Nru gnome-games-app-3.26.2/src/gamepad/gamepad.h gnome-games-app-3.28.0/src/gamepad/gamepad.h --- gnome-games-app-3.26.2/src/gamepad/gamepad.h 2017-09-21 12:48:06.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/gamepad.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,24 +0,0 @@ -// This file is part of GNOME Games. License: GPL-3.0+. - -#ifndef GAMES_GAMEPAD_H -#define GAMES_GAMEPAD_H - -#include -#include "raw-gamepad.h" -#include "gamepad-mapping.h" - -G_BEGIN_DECLS - -#define GAMES_TYPE_GAMEPAD (games_gamepad_get_type()) - -G_DECLARE_FINAL_TYPE (GamesGamepad, games_gamepad, GAMES, GAMEPAD, GObject) - -GamesGamepad *games_gamepad_new (GamesRawGamepad *raw_gamepad); -const gchar *games_gamepad_get_guid (GamesGamepad *self); -const gchar *games_gamepad_get_name (GamesGamepad *self); -void games_gamepad_set_mapping (GamesGamepad *self, - GamesGamepadMapping *mapping); - -G_END_DECLS - -#endif /* GAMES_GAMEPAD_H */ diff -Nru gnome-games-app-3.26.2/src/gamepad/gamepad-input.c gnome-games-app-3.28.0/src/gamepad/gamepad-input.c --- gnome-games-app-3.26.2/src/gamepad/gamepad-input.c 2017-08-01 09:54:51.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/gamepad-input.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,36 +1,50 @@ -// This file is part of GNOME Games. License: GPL-3.0+. +/* gamepad-input.c generated by valac 0.36.12.13-3ae08, the Vala compiler + * generated from gamepad-input.vala, do not modify */ -#include "gamepad-input.h" +/* This file is part of GNOME Games. License: GPL-3.0+.*/ +#include +#include #include -GamesGamepadInput * -games_gamepad_input_dup (const GamesGamepadInput *self) -{ - GamesGamepadInput *dup; - dup = g_new0 (GamesGamepadInput, 1); - memcpy (dup, self, sizeof (GamesGamepadInput)); +#define GAMES_TYPE_GAMEPAD_INPUT (games_gamepad_input_get_type ()) +typedef struct _GamesGamepadInput GamesGamepadInput; - return dup; +struct _GamesGamepadInput { + guint16 type; + guint16 code; +}; + + + +GType games_gamepad_input_get_type (void) G_GNUC_CONST; +GamesGamepadInput* games_gamepad_input_dup (const GamesGamepadInput* self); +void games_gamepad_input_free (GamesGamepadInput* self); + + +GamesGamepadInput* games_gamepad_input_dup (const GamesGamepadInput* self) { + GamesGamepadInput* dup; + dup = g_new0 (GamesGamepadInput, 1); + memcpy (dup, self, sizeof (GamesGamepadInput)); + return dup; } -void -games_gamepad_input_free (GamesGamepadInput *self) -{ - g_free (self); + +void games_gamepad_input_free (GamesGamepadInput* self) { + g_free (self); } -GType -games_gamepad_input_get_type (void) -{ - static volatile gsize type_id = 0; - - if (g_once_init_enter (&type_id)) - g_once_init_leave (&type_id, - g_boxed_type_register_static ("GamesGamepadInput", - (GBoxedCopyFunc) games_gamepad_input_dup, - (GBoxedFreeFunc) games_gamepad_input_free)); - return type_id; +GType games_gamepad_input_get_type (void) { + static volatile gsize games_gamepad_input_type_id__volatile = 0; + if (g_once_init_enter (&games_gamepad_input_type_id__volatile)) { + GType games_gamepad_input_type_id; + games_gamepad_input_type_id = g_boxed_type_register_static ("GamesGamepadInput", (GBoxedCopyFunc) games_gamepad_input_dup, (GBoxedFreeFunc) games_gamepad_input_free); + g_once_init_leave (&games_gamepad_input_type_id__volatile, games_gamepad_input_type_id); + } + return games_gamepad_input_type_id__volatile; } + + + diff -Nru gnome-games-app-3.26.2/src/gamepad/gamepad-input.h gnome-games-app-3.28.0/src/gamepad/gamepad-input.h --- gnome-games-app-3.26.2/src/gamepad/gamepad-input.h 2017-08-01 09:54:51.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/gamepad-input.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,23 +0,0 @@ -// This file is part of GNOME Games. License: GPL-3.0+. - -#ifndef GAMES_GAMEPAD_INPUT_H -#define GAMES_GAMEPAD_INPUT_H - -#include - -G_BEGIN_DECLS - -#define GAMES_TYPE_GAMEPAD_INPUT (games_gamepad_input_get_type ()) - -typedef struct { - guint16 type; - guint16 code; -} GamesGamepadInput; - -GType games_gamepad_input_get_type (void) G_GNUC_CONST; -GamesGamepadInput *games_gamepad_input_dup (const GamesGamepadInput *self); -void games_gamepad_input_free (GamesGamepadInput *self); - -G_END_DECLS - -#endif /* GAMES_GAMEPAD_INPUT_H */ diff -Nru gnome-games-app-3.26.2/src/gamepad/gamepad-input.vala gnome-games-app-3.28.0/src/gamepad/gamepad-input.vala --- gnome-games-app-3.26.2/src/gamepad/gamepad-input.vala 1970-01-01 00:00:00.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/gamepad-input.vala 2018-01-30 09:48:30.000000000 +0000 @@ -0,0 +1,6 @@ +// This file is part of GNOME Games. License: GPL-3.0+. + +private struct Games.GamepadInput { + uint16 type; + uint16 code; +} diff -Nru gnome-games-app-3.26.2/src/gamepad/gamepad-input.vapi gnome-games-app-3.28.0/src/gamepad/gamepad-input.vapi --- gnome-games-app-3.26.2/src/gamepad/gamepad-input.vapi 2017-09-21 12:48:06.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/gamepad-input.vapi 1970-01-01 00:00:00.000000000 +0000 @@ -1,7 +0,0 @@ -// This file is part of GNOME Games. License: GPL-3.0+. - -[CCode (cheader_filename = "gamepad-input.h")] -private struct Games.GamepadInput { - uint16 type; - uint16 code; -} diff -Nru gnome-games-app-3.26.2/src/gamepad/gamepad-mapping-builder.c gnome-games-app-3.28.0/src/gamepad/gamepad-mapping-builder.c --- gnome-games-app-3.26.2/src/gamepad/gamepad-mapping-builder.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/gamepad-mapping-builder.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* gamepad-mapping-builder.c generated by valac 0.38.2, the Vala compiler +/* gamepad-mapping-builder.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from gamepad-mapping-builder.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -7,8 +7,6 @@ #include #include #include -#include -#include #include #include #include @@ -27,11 +25,12 @@ #define GAMES_GAMEPAD_MAPPING_BUILDER_TYPE_GAMEPAD_INPUT_MAPPING (games_gamepad_mapping_builder_gamepad_input_mapping_get_type ()) typedef struct _GamesGamepadMappingBuilderGamepadInputMapping GamesGamepadMappingBuilderGamepadInputMapping; -enum { - GAMES_GAMEPAD_MAPPING_BUILDER_DUMMY_PROPERTY, - GAMES_GAMEPAD_MAPPING_BUILDER_LAST_PROPERTY -}; -static GParamSpec* games_gamepad_mapping_builder_properties[GAMES_GAMEPAD_MAPPING_BUILDER_LAST_PROPERTY]; + +#define GAMES_TYPE_GAMEPAD_DPAD (games_gamepad_dpad_get_type ()) + +#define GAMES_TYPE_GAMEPAD_INPUT (games_gamepad_input_get_type ()) +typedef struct _GamesGamepadInput GamesGamepadInput; +typedef struct _GamesGamepadDPad GamesGamepadDPad; #define GAMES_GAMEPAD_MAPPING_BUILDER_TYPE_GAMEPAD_INPUT_SOURCE (games_gamepad_mapping_builder_gamepad_input_source_get_type ()) typedef struct _GamesGamepadMappingBuilderGamepadInputSource GamesGamepadMappingBuilderGamepadInputSource; @@ -51,6 +50,16 @@ gchar* destination_string; }; +struct _GamesGamepadInput { + guint16 type; + guint16 code; +}; + +struct _GamesGamepadDPad { + GamesGamepadInput inputs[4]; + gint32 axis_values[2]; +}; + struct _GamesGamepadMappingBuilderPrivate { GamesGamepadMappingBuilderGamepadInputMapping* mappings; gint mappings_length1; @@ -74,7 +83,16 @@ static void games_gamepad_mapping_builder_gamepad_input_mapping_free (GamesGamepadMappingBuilderGamepadInputMapping* self); static void games_gamepad_mapping_builder_gamepad_input_mapping_copy (const GamesGamepadMappingBuilderGamepadInputMapping* self, GamesGamepadMappingBuilderGamepadInputMapping* dest); static void games_gamepad_mapping_builder_gamepad_input_mapping_destroy (GamesGamepadMappingBuilderGamepadInputMapping* self); +GType games_gamepad_dpad_get_type (void) G_GNUC_CONST; +GType games_gamepad_input_get_type (void) G_GNUC_CONST; +GamesGamepadInput* games_gamepad_input_dup (const GamesGamepadInput* self); +void games_gamepad_input_free (GamesGamepadInput* self); +GamesGamepadDPad* games_gamepad_dpad_dup (const GamesGamepadDPad* self); +void games_gamepad_dpad_free (GamesGamepadDPad* self); #define GAMES_GAMEPAD_MAPPING_BUILDER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_GAMEPAD_MAPPING_BUILDER, GamesGamepadMappingBuilderPrivate)) +enum { + GAMES_GAMEPAD_MAPPING_BUILDER_0_PROPERTY +}; static void _vala_GamesGamepadMappingBuilderGamepadInputMapping_array_free (GamesGamepadMappingBuilderGamepadInputMapping * array, gint array_length); static GType games_gamepad_mapping_builder_gamepad_input_source_get_type (void) G_GNUC_CONST G_GNUC_UNUSED; static GamesGamepadMappingBuilderGamepadInputSource* games_gamepad_mapping_builder_gamepad_input_source_dup (const GamesGamepadMappingBuilderGamepadInputSource* self); diff -Nru gnome-games-app-3.26.2/src/gamepad/gamepad-mapping.c gnome-games-app-3.28.0/src/gamepad/gamepad-mapping.c --- gnome-games-app-3.26.2/src/gamepad/gamepad-mapping.c 2017-09-21 12:48:06.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/gamepad-mapping.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,364 +0,0 @@ -// This file is part of GNOME Games. License: GPL-3.0+. - -#include "gamepad-mapping.h" - -#include -#include -#include -#include "gamepad-dpad.h" -#include "gamepad-mapping-error.h" - -struct _GamesGamepadMapping { - GObject parent_instance; - - GArray *buttons; - GArray *axes; - GArray *dpads; -}; - -G_DEFINE_TYPE (GamesGamepadMapping, games_gamepad_mapping, G_TYPE_OBJECT) - -/* Private */ - -static void -parse_dpad_source (GamesGamepadMapping *self, - const gchar *source_string, - GamesGamepadInput destination) -{ - const gchar *source_number; - gchar **dpad_parse_array; - gint dpad_index; - gint dpad_position_2pow; - gint dpad_position; - - g_return_if_fail (self != NULL); - g_return_if_fail (source_string != NULL); - g_return_if_fail (*source_string == 'h'); - - source_number = source_string + 1; - - g_return_if_fail (source_number != NULL); - g_return_if_fail (*source_number != '\0'); - - dpad_parse_array = g_strsplit (source_number, ".", 0); - if (g_strv_length (dpad_parse_array) != 2) { - g_strfreev (dpad_parse_array); - g_debug ("Unexpected D-Pad mapping format."); - - return; - } - - dpad_index = atoi (dpad_parse_array[0]); - dpad_position_2pow = atoi (dpad_parse_array[1]); - dpad_position = 0; - - g_strfreev (dpad_parse_array); - - while (dpad_position_2pow > 1) { - dpad_position_2pow >>= 1; - dpad_position++; - } - - if (self->dpads->len <= dpad_index) - g_array_set_size (self->dpads, dpad_index + 1); - g_array_index (self->dpads, GamesGamepadDPad, dpad_index).inputs[dpad_position] = destination; -} - -static void -parse_button_source (GamesGamepadMapping *self, - const gchar *source_string, - GamesGamepadInput destination) -{ - // g_array_append_val() requires a l-value. - const gchar *source_number; - gint button; - - g_return_if_fail (self != NULL); - g_return_if_fail (source_string != NULL); - g_return_if_fail (*source_string == 'b'); - - source_number = source_string + 1; - - g_return_if_fail (source_number != NULL); - g_return_if_fail (*source_number != '\0'); - - button = atoi (source_number); - - if (self->buttons->len <= button) - g_array_set_size (self->buttons, button + 1); - g_array_index (self->buttons, GamesGamepadInput, button) = destination; -} - -static void -parse_axis_source (GamesGamepadMapping *self, - const gchar *source_string, - GamesGamepadInput destination) -{ - const gchar *source_number; - gint axis; - - g_return_if_fail (self != NULL); - g_return_if_fail (source_string != NULL); - g_return_if_fail (*source_string == 'a'); - - source_number = source_string + 1; - - g_return_if_fail (source_number != NULL); - g_return_if_fail (*source_number != '\0'); - - axis = atoi (source_number); - - if (self->axes->len <= axis) - g_array_set_size (self->axes, axis + 1); - g_array_index (self->axes, GamesGamepadInput, axis) = destination; -} - -static void -parse_destination (const gchar *destination_string, - GamesGamepadInput *destination) -{ - const static struct { - GamesGamepadInput enum_value; - const gchar *string_value; - } values[] = { - { { EV_ABS, ABS_X }, "leftx" }, - { { EV_ABS, ABS_Y }, "lefty" }, - { { EV_ABS, ABS_RX }, "rightx" }, - { { EV_ABS, ABS_RY }, "righty" }, - { { EV_KEY, BTN_A }, "a" }, - { { EV_KEY, BTN_B }, "b" }, - { { EV_KEY, BTN_DPAD_DOWN }, "dpdown" }, - { { EV_KEY, BTN_DPAD_LEFT }, "dpleft" }, - { { EV_KEY, BTN_DPAD_RIGHT }, "dpright" }, - { { EV_KEY, BTN_DPAD_UP }, "dpup" }, - { { EV_KEY, BTN_MODE }, "guide" }, - { { EV_KEY, BTN_SELECT }, "back" }, - { { EV_KEY, BTN_TL }, "leftshoulder" }, - { { EV_KEY, BTN_TR }, "rightshoulder" }, - { { EV_KEY, BTN_START }, "start" }, - { { EV_KEY, BTN_THUMBL }, "leftstick" }, - { { EV_KEY, BTN_THUMBR }, "rightstick" }, - { { EV_KEY, BTN_TL2 }, "lefttrigger" }, - { { EV_KEY, BTN_TR2 }, "righttrigger" }, - { { EV_KEY, BTN_Y }, "x" }, - { { EV_KEY, BTN_X }, "y" }, - }; - const gint length = sizeof (values) / sizeof (values[0]); - gint i; - - for (i = 0; i < length; i++) - if (g_strcmp0 (destination_string, values[i].string_value) == 0) { - *destination = values[i].enum_value; - - return; - } -} - -// This function doesn't take care of cleaning up the object's state before -// setting it. -static void -set_from_sdl_string (GamesGamepadMapping *self, - const gchar *mapping_string) -{ - gchar **mappings; - guint mappings_length; - guint i = 0; - gchar **splitted_mapping; - gchar *destination_string; - gchar *source_string; - GamesGamepadInput destination = { EV_MAX, 0 }; - - mappings = g_strsplit (mapping_string, ",", 0); - mappings_length = g_strv_length (mappings); - for (i = 0; i < mappings_length; i++) { - - splitted_mapping = g_strsplit (mappings[i], ":", 0); - - if (g_strv_length (splitted_mapping) != 2) { - g_strfreev (splitted_mapping); - - continue; - } - - destination_string = g_strdup (splitted_mapping[0]); - source_string = g_strdup (splitted_mapping[1]); - parse_destination (destination_string, &destination); - - g_strfreev (splitted_mapping); - - if (destination.type == EV_MAX) { - if (g_strcmp0 (destination_string, "platform") != 0) - g_debug ("Invalid token: %s", destination_string); - - g_free (source_string); - g_free (destination_string); - - continue; - } - - g_free (destination_string); - - switch (*source_string) { - case 'h': - parse_dpad_source (self, source_string, destination); - - break; - case 'b': - parse_button_source (self, source_string, destination); - - break; - case 'a': - parse_axis_source (self, source_string, destination); - - break; - default: - break; - } - - g_free (source_string); - } - - g_strfreev (mappings); -} - -/* Public */ - -GamesGamepadMapping * -games_gamepad_mapping_new_from_sdl_string (const gchar *mapping_string, - GError **error) -{ - GamesGamepadMapping *self = NULL; - - if (mapping_string == NULL) { - g_set_error_literal (error, - GAMES_GAMEPAD_MAPPING_ERROR, - GAMES_GAMEPAD_MAPPING_ERROR_NOT_A_MAPPING, - _("The mapping string can’t be null.")); - - return NULL; - } - - if (mapping_string[0] == '\0') { - g_set_error_literal (error, - GAMES_GAMEPAD_MAPPING_ERROR, - GAMES_GAMEPAD_MAPPING_ERROR_NOT_A_MAPPING, - _("The mapping string can’t be empty.")); - - return NULL; - } - - self = (GamesGamepadMapping*) g_object_new (GAMES_TYPE_GAMEPAD_MAPPING, NULL); - - self->buttons = g_array_new (FALSE, TRUE, sizeof (GamesGamepadInput)); - self->axes = g_array_new (FALSE, TRUE, sizeof (GamesGamepadInput)); - self->dpads = g_array_new (FALSE, TRUE, sizeof (GamesGamepadDPad)); - - set_from_sdl_string (self, mapping_string); - - return self; -} - -void -games_gamepad_mapping_get_dpad_mapping (GamesGamepadMapping *self, - gint dpad_index, - gint dpad_axis, - gint dpad_value, - GamesGamepadInput *destination) -{ - GamesGamepadDPad *dpad; - GamesGamepadInput *dpad_input; - - gint dpad_changed_value; - gint dpad_position; - - g_return_if_fail (self != NULL); - g_return_if_fail (destination != NULL); - - memset (destination, 0, sizeof (GamesGamepadInput)); - - destination->type = EV_MAX; - if (dpad_index >= self->dpads->len) - return; - - dpad = &g_array_index (self->dpads, GamesGamepadDPad, dpad_index); - if (dpad == NULL) - return; - - dpad_changed_value = (dpad_value == 0) ? - dpad->axis_values[dpad_axis] : - dpad_value; - // We add 4 so that the remainder is always positive. - dpad_position = (dpad_changed_value + dpad_axis + 4) % 4; - dpad->axis_values[dpad_axis] = dpad_value; - if (dpad_position >= 4) - return; - - dpad_input = &dpad->inputs[dpad_position]; - if (dpad_input != NULL) - *destination = *dpad_input; -} - -void -games_gamepad_mapping_get_axis_mapping (GamesGamepadMapping *self, - gint axis_number, - GamesGamepadInput *destination) -{ - g_return_if_fail (self != NULL); - g_return_if_fail (destination != NULL); - - memset (destination, 0, sizeof (GamesGamepadInput)); - - destination->type = EV_MAX; - if (axis_number >= self->axes->len) - return; - - *destination = g_array_index (self->axes, GamesGamepadInput, axis_number); -} - -void -games_gamepad_mapping_get_button_mapping (GamesGamepadMapping *self, - gint button_number, - GamesGamepadInput *destination) -{ - g_return_if_fail (self != NULL); - g_return_if_fail (destination != NULL); - - memset (destination, 0, sizeof (GamesGamepadInput)); - - destination->type = EV_MAX; - if (button_number >= self->buttons->len) - return; - - *destination = g_array_index (self->buttons, GamesGamepadInput, button_number); -} - -/* Type */ - -static void -finalize (GObject *obj) -{ - GamesGamepadMapping *self; - - self = G_TYPE_CHECK_INSTANCE_CAST (obj, GAMES_TYPE_GAMEPAD_MAPPING, GamesGamepadMapping); - - if (self->buttons != NULL) - g_array_free (self->buttons, TRUE); - if (self->axes != NULL) - g_array_free (self->axes, TRUE); - if (self->dpads != NULL) - g_array_free (self->dpads, TRUE); - - G_OBJECT_CLASS (games_gamepad_mapping_parent_class)->finalize (obj); -} - -static void -games_gamepad_mapping_class_init (GamesGamepadMappingClass *klass) -{ - games_gamepad_mapping_parent_class = g_type_class_peek_parent (klass); - G_OBJECT_CLASS (klass)->finalize = finalize; -} - -static void -games_gamepad_mapping_init (GamesGamepadMapping *self) -{ -} diff -Nru gnome-games-app-3.26.2/src/gamepad/gamepad-mapping-error.c gnome-games-app-3.28.0/src/gamepad/gamepad-mapping-error.c --- gnome-games-app-3.26.2/src/gamepad/gamepad-mapping-error.c 2017-08-01 09:54:51.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/gamepad-mapping-error.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,9 +0,0 @@ -// This file is part of GNOME Games. License: GPL-3.0+. - -#include "gamepad-mapping-error.h" - -GQuark -games_gamepad_mapping_error_quark (void) -{ - return g_quark_from_static_string ("games-gamepad-mapping-error-quark"); -} diff -Nru gnome-games-app-3.26.2/src/gamepad/gamepad-mapping-error.h gnome-games-app-3.28.0/src/gamepad/gamepad-mapping-error.h --- gnome-games-app-3.26.2/src/gamepad/gamepad-mapping-error.h 2017-08-01 09:54:51.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/gamepad-mapping-error.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,20 +0,0 @@ -// This file is part of GNOME Games. License: GPL-3.0+. - -#ifndef GAMES_GAMEPAD_MAPPING_ERROR_H -#define GAMES_GAMEPAD_MAPPING_ERROR_H - -#include - -G_BEGIN_DECLS - -#define GAMES_GAMEPAD_MAPPING_ERROR games_gamepad_mapping_error_quark () - -typedef enum { - GAMES_GAMEPAD_MAPPING_ERROR_NOT_A_MAPPING, -} GamesGamepadMappingError; - -GQuark games_gamepad_mapping_error_quark (void); - -G_END_DECLS - -#endif /* GAMES_GAMEPAD_MAPPING_ERROR_H */ diff -Nru gnome-games-app-3.26.2/src/gamepad/gamepad-mapping.h gnome-games-app-3.28.0/src/gamepad/gamepad-mapping.h --- gnome-games-app-3.26.2/src/gamepad/gamepad-mapping.h 2017-08-01 09:54:51.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/gamepad-mapping.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,31 +0,0 @@ -// This file is part of GNOME Games. License: GPL-3.0+. - -#ifndef GAMES_GAMEPAD_MAPPING_H -#define GAMES_GAMEPAD_MAPPING_H - -#include -#include "gamepad-input.h" - -G_BEGIN_DECLS - -#define GAMES_TYPE_GAMEPAD_MAPPING (games_gamepad_mapping_get_type()) - -G_DECLARE_FINAL_TYPE (GamesGamepadMapping, games_gamepad_mapping, GAMES, GAMEPAD_MAPPING, GObject) - -GamesGamepadMapping *games_gamepad_mapping_new_from_sdl_string (const gchar *mapping_string, - GError **error); -void games_gamepad_mapping_get_dpad_mapping (GamesGamepadMapping *self, - gint dpad_index, - gint dpad_axis, - gint dpad_value, - GamesGamepadInput *destination); -void games_gamepad_mapping_get_axis_mapping (GamesGamepadMapping *self, - gint axis_number, - GamesGamepadInput *destination); -void games_gamepad_mapping_get_button_mapping (GamesGamepadMapping *self, - gint button_number, - GamesGamepadInput *destination); - -G_END_DECLS - -#endif /* GAMES_GAMEPAD_MAPPING_H */ diff -Nru gnome-games-app-3.26.2/src/gamepad/gamepad-mappings-manager.c gnome-games-app-3.28.0/src/gamepad/gamepad-mappings-manager.c --- gnome-games-app-3.26.2/src/gamepad/gamepad-mappings-manager.c 2017-09-21 12:48:06.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/gamepad-mappings-manager.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,364 +0,0 @@ -// This file is part of GNOME Games. License: GPL-3.0+. - -#include "gamepad-mappings-manager.h" - -#include -#include -#include -#include -#include - -struct _GamesGamepadMappingsManager { - GObject parent_instance; - - GHashTable *names; - GHashTable *default_mappings; - GHashTable *user_mappings; - gchar *user_mappings_uri; -}; - -G_DEFINE_TYPE (GamesGamepadMappingsManager, games_gamepad_mappings_manager, G_TYPE_OBJECT); - -static GamesGamepadMappingsManager *instance = NULL; - -#define MAPPINGS_FILE_NAME "gamecontrollerdb.txt" -#define DEFAULT_MAPPINGS_URI "resource:///org/gnome/Games/gamepads/gamecontrollerdb.txt" - -// FIXME The gamepad module shouldn't have a hidden dependency on the -// application. -gchar *games_application_get_config_dir (void); - -/* Private */ - -static void -add_mapping (GamesGamepadMappingsManager *self, - const gchar *mapping_string, - GHashTable *mappings) -{ - const gchar *platform; - gchar **split; - - g_return_if_fail (self != NULL); - g_return_if_fail (mapping_string != NULL); - - if (mapping_string[0] == '\0' || mapping_string[0] == '#') - return; - - platform = g_strstr_len (mapping_string, -1, "platform"); - if (platform != NULL && !g_str_has_prefix (platform, "platform:Linux")) - return; - - split = g_strsplit (mapping_string, ",", 3); - g_hash_table_insert (self->names, - g_strdup (split[0]), - g_strdup (split[1])); - g_hash_table_insert (mappings, - g_strdup (split[0]), - g_strdup (split[2])); - g_strfreev (split); -} - -static void -add_from_input_stream (GamesGamepadMappingsManager *self, - GInputStream *input_stream, - GHashTable *mappings, - GError **error) -{ - GDataInputStream *data_stream; - gchar *mapping_string; - GError *inner_error = NULL; - - g_return_if_fail (self != NULL); - g_return_if_fail (input_stream != NULL); - - data_stream = g_data_input_stream_new (input_stream); - while (TRUE) { - mapping_string = g_data_input_stream_read_line (data_stream, - NULL, NULL, - &inner_error); - if (G_UNLIKELY (inner_error != NULL)) { - g_assert (mapping_string == NULL); - g_propagate_error (error, inner_error); - g_object_unref (data_stream); - - return; - } - - if (mapping_string == NULL) - break; - - add_mapping (self, mapping_string, mappings); - g_free (mapping_string); - } - g_object_unref (data_stream); -} - -static void -add_from_file_uri (GamesGamepadMappingsManager *self, - const gchar *file_uri, - GHashTable *mappings, - GError **error) -{ - GFile *file; - GFileInputStream *stream; - GError *inner_error = NULL; - - g_return_if_fail (self != NULL); - g_return_if_fail (file_uri != NULL); - - file = g_file_new_for_uri (file_uri); - stream = g_file_read (file, NULL, &inner_error); - if (G_UNLIKELY (inner_error != NULL)) { - g_propagate_error (error, inner_error); - g_object_unref (file); - - return; - } - - add_from_input_stream (self, G_INPUT_STREAM (stream), mappings, &inner_error); - if (G_UNLIKELY (inner_error != NULL)) { - g_propagate_error (error, inner_error); - g_object_unref (stream); - g_object_unref (file); - - return; - } - - g_object_unref (stream); - g_object_unref (file); -} - -static void -save_user_mappings (GamesGamepadMappingsManager *self, - GError **error) -{ - GHashTableIter iter; - gpointer key, value; - gchar *guid; - const gchar *name; - gchar *sdl_string; - gchar *mapping_string; - - GFile *file; - GFileOutputStream *stream; - GDataOutputStream *data_stream; - GError *inner_error = NULL; - - g_return_if_fail (self != NULL); - - file = g_file_new_for_uri (self->user_mappings_uri); - stream = g_file_replace (file, NULL, FALSE, G_FILE_CREATE_NONE, NULL, &inner_error); - if (G_UNLIKELY (inner_error != NULL)) { - g_propagate_error (error, inner_error); - g_object_unref (file); - - return; - } - data_stream = g_data_output_stream_new (G_FILE_OUTPUT_STREAM (stream)); - - g_hash_table_iter_init (&iter, self->user_mappings); - while (g_hash_table_iter_next (&iter, &key, &value)) { - guid = (gchar *) key; - name = g_hash_table_lookup (self->names, guid); - sdl_string = (gchar *) value; - - mapping_string = g_strdup_printf ("%s,%s,%s\n", guid, name, sdl_string); - - g_data_output_stream_put_string (data_stream, mapping_string, NULL, &inner_error); - if (G_UNLIKELY (inner_error != NULL)) { - g_propagate_error (error, inner_error); - g_free (mapping_string); - g_object_unref (file); - g_object_unref (stream); - g_object_unref (data_stream); - - return; - } - - g_free (mapping_string); - } - - g_object_unref (file); - g_object_unref (stream); - g_object_unref (data_stream); -} - -static GamesGamepadMappingsManager * -games_gamepad_mappings_manager_new (void) -{ - GamesGamepadMappingsManager *self = NULL; - gchar *dir; - gchar *path; - GError *inner_error = NULL; - - self = (GamesGamepadMappingsManager*) g_object_new (GAMES_TYPE_GAMEPAD_MAPPINGS_MANAGER, NULL); - - if (self->names == NULL) - self->names = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); - - if (self->default_mappings == NULL) - self->default_mappings = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); - if (self->user_mappings == NULL) - self->user_mappings = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_free); - - add_from_file_uri (self, DEFAULT_MAPPINGS_URI, self->default_mappings, &inner_error); - if (G_UNLIKELY (inner_error != NULL)) { - g_critical ("GamepadMappingsManager: Can’t add mappings from %s: %s" - DEFAULT_MAPPINGS_URI, - inner_error->message); - g_clear_error (&inner_error); - } - - // FIXME The gamepad module shouldn't have a hidden dependency on the - // application. - dir = games_application_get_config_dir (); - path = g_build_filename (dir, MAPPINGS_FILE_NAME, NULL); - - g_free (dir); - - self->user_mappings_uri = g_filename_to_uri (path, NULL, &inner_error); - if (G_UNLIKELY (inner_error != NULL)) { - g_debug ("GamepadMappingsManager: Can't build path for user config: %s", - inner_error->message); - g_free (path); - g_clear_error (&inner_error); - - return self; - } - - g_free (path); - - add_from_file_uri (self, self->user_mappings_uri, self->user_mappings, &inner_error); - if (G_UNLIKELY (inner_error != NULL)) { - g_debug ("GamepadMappingsManager: Can’t add mappings from %s: %s", - self->user_mappings_uri, - inner_error->message); - g_clear_error (&inner_error); - } - - return self; -} - -/* Public */ - -GamesGamepadMappingsManager * -games_gamepad_mappings_manager_get_instance (void) -{ - if (instance == NULL) - instance = games_gamepad_mappings_manager_new (); - - return g_object_ref (instance); -} - -gchar * -games_gamepad_mappings_manager_get_default_mapping (GamesGamepadMappingsManager *self, - const gchar *guid) -{ - const gchar *mapping; - - g_return_val_if_fail (self != NULL, NULL); - g_return_val_if_fail (guid != NULL, NULL); - - mapping = g_hash_table_lookup (self->default_mappings, guid); - - return g_strdup (mapping); -} - -gchar * -games_gamepad_mappings_manager_get_user_mapping (GamesGamepadMappingsManager *self, - const gchar *guid) -{ - const gchar *mapping; - - g_return_val_if_fail (self != NULL, NULL); - g_return_val_if_fail (guid != NULL, NULL); - - mapping = g_hash_table_lookup (self->user_mappings, guid); - - return g_strdup (mapping); -} - -gchar * -games_gamepad_mappings_manager_get_mapping (GamesGamepadMappingsManager *self, - const gchar *guid) -{ - gchar *mapping; - - g_return_val_if_fail (self != NULL, NULL); - g_return_val_if_fail (guid != NULL, NULL); - - mapping = games_gamepad_mappings_manager_get_user_mapping (self, guid); - if (mapping == NULL) - mapping = games_gamepad_mappings_manager_get_default_mapping (self, guid); - - return mapping; -} - -void -games_gamepad_mappings_manager_save_mapping (GamesGamepadMappingsManager *self, - const gchar *guid, - const gchar *name, - const gchar *mapping) -{ - GError *inner_error = NULL; - - g_return_if_fail (self != NULL); - g_return_if_fail (guid != NULL); - g_return_if_fail (name != NULL); - g_return_if_fail (mapping != NULL); - - g_hash_table_insert (self->user_mappings, g_strdup (guid), g_strdup (mapping)); - g_hash_table_insert (self->names, g_strdup (guid), g_strdup (name)); - - save_user_mappings (self, &inner_error); - if (G_UNLIKELY (inner_error != NULL)) { - g_critical ("GamepadMappingsManager: Can’t save user mappings: %s", inner_error->message); - g_clear_error (&inner_error); - } -} - -void -games_gamepad_mappings_manager_delete_mapping (GamesGamepadMappingsManager *self, - const gchar *guid) -{ - GError *inner_error = NULL; - - g_return_if_fail (self != NULL); - g_return_if_fail (guid != NULL); - - g_hash_table_remove (self->user_mappings, guid); - g_hash_table_remove (self->names, guid); - - save_user_mappings (self, &inner_error); - if (G_UNLIKELY (inner_error != NULL)) { - g_critical ("GamepadMappingsManager: Can’t save user mappings: %s", inner_error->message); - g_clear_error (&inner_error); - } -} - -/* Type */ - -static void -finalize (GObject *object) -{ - GamesGamepadMappingsManager *self = GAMES_GAMEPAD_MAPPINGS_MANAGER (object); - - g_hash_table_unref (self->names); - g_hash_table_unref (self->default_mappings); - g_hash_table_unref (self->user_mappings); - g_free (self->user_mappings_uri); - - G_OBJECT_CLASS (games_gamepad_mappings_manager_parent_class)->finalize (object); -} - -static void -games_gamepad_mappings_manager_class_init (GamesGamepadMappingsManagerClass *klass) -{ - games_gamepad_mappings_manager_parent_class = g_type_class_peek_parent (klass); - G_OBJECT_CLASS (klass)->finalize = finalize; -} - -static void -games_gamepad_mappings_manager_init (GamesGamepadMappingsManager *self) -{ -} diff -Nru gnome-games-app-3.26.2/src/gamepad/gamepad-mappings-manager.h gnome-games-app-3.28.0/src/gamepad/gamepad-mappings-manager.h --- gnome-games-app-3.26.2/src/gamepad/gamepad-mappings-manager.h 2017-09-21 12:48:06.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/gamepad-mappings-manager.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,29 +0,0 @@ -#ifndef GAMES_GAMEPAD_MAPPINGS_MANAGER_H -#define GAMES_GAMEPAD_MAPPINGS_MANAGER_H - -#include - -G_BEGIN_DECLS - -#define GAMES_TYPE_GAMEPAD_MAPPINGS_MANAGER (games_gamepad_mappings_manager_get_type()) - -G_DECLARE_FINAL_TYPE (GamesGamepadMappingsManager, games_gamepad_mappings_manager, GAMES, GAMEPAD_MAPPINGS_MANAGER, GObject) - -GamesGamepadMappingsManager *games_gamepad_mappings_manager_get_instance (void); -gchar *games_gamepad_mappings_manager_get_default_mapping (GamesGamepadMappingsManager *self, - const gchar *guid); -gchar *games_gamepad_mappings_manager_get_user_mapping (GamesGamepadMappingsManager *self, - const gchar *guid); -gchar *games_gamepad_mappings_manager_get_mapping (GamesGamepadMappingsManager *self, - const gchar *guid); -void games_gamepad_mappings_manager_save_mapping (GamesGamepadMappingsManager *self, - const gchar *guid, - const gchar *name, - const gchar *mapping); -void games_gamepad_mappings_manager_delete_mapping (GamesGamepadMappingsManager *self, - const gchar *guid); - -G_END_DECLS - -#endif /* GAMES_GAMEPAD_MAPPINGS_MANAGER_H */ - diff -Nru gnome-games-app-3.26.2/src/gamepad/gamepad-mappings-manager.vapi gnome-games-app-3.28.0/src/gamepad/gamepad-mappings-manager.vapi --- gnome-games-app-3.26.2/src/gamepad/gamepad-mappings-manager.vapi 2017-09-21 12:48:06.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/gamepad-mappings-manager.vapi 1970-01-01 00:00:00.000000000 +0000 @@ -1,11 +0,0 @@ -// This file is part of GNOME Games. License: GPL-3.0+. - -[CCode (cheader_filename = "gamepad-mappings-manager.h")] -private class Games.GamepadMappingsManager : GLib.Object { - public static GamepadMappingsManager get_instance (); - public string? get_mapping (string guid); - public string? get_default_mapping (string guid); - public string? get_user_mapping (string guid); - public void save_mapping (string guid, string name, string mapping_string); - public void delete_mapping (string guid); -} \ No newline at end of file diff -Nru gnome-games-app-3.26.2/src/gamepad/gamepad-mapping.vapi gnome-games-app-3.28.0/src/gamepad/gamepad-mapping.vapi --- gnome-games-app-3.26.2/src/gamepad/gamepad-mapping.vapi 2017-09-21 12:48:06.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/gamepad-mapping.vapi 1970-01-01 00:00:00.000000000 +0000 @@ -1,9 +0,0 @@ -// This file is part of GNOME Games. License: GPL-3.0+. - -[CCode (cheader_filename = "gamepad-mapping.h")] -private class Games.GamepadMapping : GLib.Object { - public GamepadMapping.from_sdl_string (string? mapping_string) throws GLib.Error; - public void get_dpad_mapping (int dpad_index, int dpad_axis, int dpad_value, ref GamepadInput destination); - public void get_axis_mapping (int axis_number, ref GamepadInput destination); - public void get_button_mapping (int button_number, ref GamepadInput destination); -} diff -Nru gnome-games-app-3.26.2/src/gamepad/gamepad-monitor.c gnome-games-app-3.28.0/src/gamepad/gamepad-monitor.c --- gnome-games-app-3.26.2/src/gamepad/gamepad-monitor.c 2017-09-21 12:48:06.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/gamepad-monitor.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,241 +0,0 @@ -// This file is part of GNOME Games. License: GPL-3.0+. - -#include "gamepad-monitor.h" - -#include -#include -#include "gamepad-mapping-error.h" -#include "gamepad-mappings-manager.h" -#include "linux/linux-raw-gamepad-monitor.h" -#include "raw-gamepad.h" -#include "raw-gamepad-monitor.h" - -struct _GamesGamepadMonitor { - GObject parent_instance; - - GHashTable *gamepads; -}; - -G_DEFINE_TYPE (GamesGamepadMonitor, games_gamepad_monitor, G_TYPE_OBJECT) - -enum { - SIGNAL_GAMEPAD_PLUGGED, - SIGNAL_GAMEPAD_UNPLUGGED, - LAST_SIGNAL, -}; - -static guint signals[LAST_SIGNAL] = { 0 }; - -static GamesGamepadMonitor *instance = NULL; - -typedef struct { - GamesGamepadCallback callback; - gpointer target; -} ForeachGamepadData; - -/* Private */ - -static void -on_gamepad_unplugged (GamesGamepad *sender, - gpointer data) -{ - GamesGamepadMonitor *self; - - self = GAMES_GAMEPAD_MONITOR (data); - - g_return_if_fail (self != NULL); - g_return_if_fail (sender != NULL); - - g_hash_table_remove (self->gamepads, sender); - g_signal_emit (self, signals[SIGNAL_GAMEPAD_UNPLUGGED], 0); -} - -static GamesGamepad * -add_gamepad (GamesGamepadMonitor *self, - GamesRawGamepad *raw_gamepad) -{ - GamesGamepad *gamepad = NULL; - GError *inner_error = NULL; - const gchar *guid; - gchar *mapping_string; - GamesGamepadMappingsManager *mappings_manager; - GamesGamepadMapping *mapping = NULL; - - g_return_val_if_fail (self != NULL, NULL); - g_return_val_if_fail (raw_gamepad != NULL, NULL); - - gamepad = games_gamepad_new (raw_gamepad); - - mappings_manager = games_gamepad_mappings_manager_get_instance (); - guid = games_raw_gamepad_get_guid (raw_gamepad); - mapping_string = games_gamepad_mappings_manager_get_mapping (mappings_manager, guid); - mapping = games_gamepad_mapping_new_from_sdl_string (mapping_string, &inner_error); - if (G_UNLIKELY (inner_error != NULL)) { - g_debug ("%s", inner_error->message); - g_clear_error (&inner_error); - } - games_gamepad_set_mapping (gamepad, mapping); - - if (mapping != NULL) - g_object_unref (mapping); - if (mapping_string != NULL) - g_free (mapping_string); - - g_hash_table_add (self->gamepads, g_object_ref (gamepad)); - g_signal_connect_object (gamepad, - "unplugged", - (GCallback) on_gamepad_unplugged, - self, - 0); - - return gamepad; -} - -static void -on_raw_gamepad_plugged (GamesRawGamepadMonitor *sender, - GamesRawGamepad *raw_gamepad, - gpointer target) -{ - GamesGamepadMonitor *self; - GamesGamepad *gamepad; - - self = GAMES_GAMEPAD_MONITOR (target); - - g_return_if_fail (self != NULL); - g_return_if_fail (raw_gamepad != NULL); - - gamepad = add_gamepad (self, raw_gamepad); - if (gamepad != NULL) { - g_signal_emit (self, signals[SIGNAL_GAMEPAD_PLUGGED], 0, gamepad); - g_object_unref (gamepad); - } -} - -static void -add_raw_gamepad (GamesRawGamepad *raw_gamepad, - gpointer target) -{ - GamesGamepadMonitor *self; - GamesGamepad *gamepad; - - self = GAMES_GAMEPAD_MONITOR (target); - - g_return_if_fail (self != NULL); - g_return_if_fail (raw_gamepad != NULL); - - g_object_unref (add_gamepad (self, raw_gamepad)); -} - -static void -foreach_gamepad_do (gpointer key, - gpointer value, - gpointer data) -{ - ForeachGamepadData *callback_data; - GamesGamepad *gamepad; - - callback_data = (ForeachGamepadData *) data; - gamepad = (GamesGamepad *) value; - - g_return_if_fail (gamepad != NULL); - - callback_data->callback (gamepad, callback_data->target); -} - -static GamesGamepadMonitor * -games_gamepad_monitor_new (void) -{ - GamesGamepadMonitor *self = NULL; - GamesRawGamepadMonitor *raw_gamepad_monitor; - - self = (GamesGamepadMonitor*) g_object_new (GAMES_TYPE_GAMEPAD_MONITOR, NULL); - self->gamepads = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, g_object_unref); - -#if ENABLE_LINUX_GAMEPADS - raw_gamepad_monitor = GAMES_RAW_GAMEPAD_MONITOR (games_linux_raw_gamepad_monitor_get_instance ()); - g_signal_connect_object (raw_gamepad_monitor, - "gamepad-plugged", - (GCallback) on_raw_gamepad_plugged, - self, - 0); - games_raw_gamepad_monitor_foreach_gamepad (raw_gamepad_monitor, - add_raw_gamepad, - self); - g_object_unref (raw_gamepad_monitor); -#endif /* ENABLE_LINUX_GAMEPADS */ - - return self; -} - -/* Public */ - -GamesGamepadMonitor *games_gamepad_monitor_get_instance (void) { - if (instance == NULL) - instance = games_gamepad_monitor_new (); - - return g_object_ref (instance); -} - -void -games_gamepad_monitor_foreach_gamepad (GamesGamepadMonitor *self, - GamesGamepadCallback callback, - gpointer target) -{ - ForeachGamepadData data; - - g_return_if_fail (self != NULL); - g_return_if_fail (callback != NULL); - - data.callback = callback; - data.target = target; - g_hash_table_foreach (self->gamepads, foreach_gamepad_do, &data); -} - -/* Type */ - -static void -finalize (GObject *object) -{ - GamesGamepadMonitor *self = GAMES_GAMEPAD_MONITOR (object); - - g_hash_table_unref (self->gamepads); - - G_OBJECT_CLASS (games_gamepad_monitor_parent_class)->finalize (object); -} - -static void games_gamepad_monitor_class_init (GamesGamepadMonitorClass *klass) { - games_gamepad_monitor_parent_class = g_type_class_peek_parent (klass); - G_OBJECT_CLASS (klass)->finalize = finalize; - - /** - * GamesGamepad::unplugged: - * - * Emitted when the gamepad is unplugged. - */ - signals[SIGNAL_GAMEPAD_PLUGGED] = - g_signal_new ("gamepad-plugged", - GAMES_TYPE_GAMEPAD_MONITOR, - G_SIGNAL_RUN_LAST, - 0, NULL, NULL, - g_cclosure_marshal_VOID__OBJECT, - G_TYPE_NONE, 1, - GAMES_TYPE_GAMEPAD); - - /** - * GamesGamepad::unplugged: - * - * Emitted when a gamepad is unplugged. - */ - signals[SIGNAL_GAMEPAD_UNPLUGGED] = - g_signal_new ("gamepad-unplugged", - GAMES_TYPE_GAMEPAD_MONITOR, - G_SIGNAL_RUN_LAST, - 0, NULL, NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0); -} - -static void -games_gamepad_monitor_init (GamesGamepadMonitor *self) -{ -} diff -Nru gnome-games-app-3.26.2/src/gamepad/gamepad-monitor.h gnome-games-app-3.28.0/src/gamepad/gamepad-monitor.h --- gnome-games-app-3.26.2/src/gamepad/gamepad-monitor.h 2017-08-01 09:54:51.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/gamepad-monitor.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ -// This file is part of GNOME Games. License: GPL-3.0+. - -#ifndef GAMES_GAMEPAD_MONITOR_H -#define GAMES_GAMEPAD_MONITOR_H - -#include -#include "gamepad.h" - -G_BEGIN_DECLS - -typedef void (*GamesGamepadCallback) (GamesGamepad *gamepad, - gpointer target); - -#define GAMES_TYPE_GAMEPAD_MONITOR (games_gamepad_monitor_get_type()) - -G_DECLARE_FINAL_TYPE (GamesGamepadMonitor, games_gamepad_monitor, GAMES, GAMEPAD_MONITOR, GObject) - -GamesGamepadMonitor *games_gamepad_monitor_get_instance (void); -void games_gamepad_monitor_foreach_gamepad (GamesGamepadMonitor *self, - GamesGamepadCallback callback, - gpointer target); - -G_END_DECLS - -#endif /* GAMES_GAMEPAD_MONITOR_H */ - diff -Nru gnome-games-app-3.26.2/src/gamepad/gamepad-monitor.vapi gnome-games-app-3.28.0/src/gamepad/gamepad-monitor.vapi --- gnome-games-app-3.26.2/src/gamepad/gamepad-monitor.vapi 2017-09-21 12:48:06.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/gamepad-monitor.vapi 1970-01-01 00:00:00.000000000 +0000 @@ -1,12 +0,0 @@ -// This file is part of GNOME Games. License: GPL-3.0+. - -[CCode (cheader_filename = "gamepad-monitor.h")] -private class Games.GamepadMonitor : GLib.Object { - public signal void gamepad_plugged (Gamepad gamepad); - public signal void gamepad_unplugged (); - public static GamepadMonitor get_instance (); - public void foreach_gamepad (GamepadCallback callback); -} - -[CCode (cheader_filename = "gamepad-monitor.h")] -private delegate void Games.GamepadCallback (Games.Gamepad gamepad); diff -Nru gnome-games-app-3.26.2/src/gamepad/gamepad.vapi gnome-games-app-3.28.0/src/gamepad/gamepad.vapi --- gnome-games-app-3.26.2/src/gamepad/gamepad.vapi 2017-09-21 12:48:06.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/gamepad.vapi 1970-01-01 00:00:00.000000000 +0000 @@ -1,15 +0,0 @@ -// This file is part of GNOME Games. License: GPL-3.0+. - -[CCode (cheader_filename = "gamepad.h")] -private class Games.Gamepad : GLib.Object { - public signal void event (Event event); - public signal void button_press_event (Event event); - public signal void button_release_event (Event event); - public signal void axis_event (Event event); - public signal void hat_event (Event event); - public signal void unplugged (); - public Gamepad (RawGamepad raw_gamepad); - public string guid { get; } - public string name { get; } - public void set_mapping (GamepadMapping? mapping); -} diff -Nru gnome-games-app-3.26.2/src/gamepad/linux/input-event-codes.h gnome-games-app-3.28.0/src/gamepad/linux/input-event-codes.h --- gnome-games-app-3.26.2/src/gamepad/linux/input-event-codes.h 1970-01-01 00:00:00.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/linux/input-event-codes.h 2018-01-30 09:48:30.000000000 +0000 @@ -0,0 +1,838 @@ +/* + * Input event codes + * + * *** IMPORTANT *** + * This file is not only included from C-code but also from devicetree source + * files. As such this file MUST only contain comments and defines. + * + * Copyright (c) 1999-2002 Vojtech Pavlik + * Copyright (c) 2015 Hans de Goede + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU General Public License version 2 as published by + * the Free Software Foundation. + */ +#ifndef _UAPI_INPUT_EVENT_CODES_H +#define _UAPI_INPUT_EVENT_CODES_H + +/* + * Device properties and quirks + */ + +#define INPUT_PROP_POINTER 0x00 /* needs a pointer */ +#define INPUT_PROP_DIRECT 0x01 /* direct input devices */ +#define INPUT_PROP_BUTTONPAD 0x02 /* has button(s) under pad */ +#define INPUT_PROP_SEMI_MT 0x03 /* touch rectangle only */ +#define INPUT_PROP_TOPBUTTONPAD 0x04 /* softbuttons at top of pad */ +#define INPUT_PROP_POINTING_STICK 0x05 /* is a pointing stick */ +#define INPUT_PROP_ACCELEROMETER 0x06 /* has accelerometer */ + +#define INPUT_PROP_MAX 0x1f +#define INPUT_PROP_CNT (INPUT_PROP_MAX + 1) + +/* + * Event types + */ + +#define EV_SYN 0x00 +#define EV_KEY 0x01 +#define EV_REL 0x02 +#define EV_ABS 0x03 +#define EV_MSC 0x04 +#define EV_SW 0x05 +#define EV_LED 0x11 +#define EV_SND 0x12 +#define EV_REP 0x14 +#define EV_FF 0x15 +#define EV_PWR 0x16 +#define EV_FF_STATUS 0x17 +#define EV_MAX 0x1f +#define EV_CNT (EV_MAX+1) + +/* + * Synchronization events. + */ + +#define SYN_REPORT 0 +#define SYN_CONFIG 1 +#define SYN_MT_REPORT 2 +#define SYN_DROPPED 3 +#define SYN_MAX 0xf +#define SYN_CNT (SYN_MAX+1) + +/* + * Keys and buttons + * + * Most of the keys/buttons are modeled after USB HUT 1.12 + * (see http://www.usb.org/developers/hidpage). + * Abbreviations in the comments: + * AC - Application Control + * AL - Application Launch Button + * SC - System Control + */ + +#define KEY_RESERVED 0 +#define KEY_ESC 1 +#define KEY_1 2 +#define KEY_2 3 +#define KEY_3 4 +#define KEY_4 5 +#define KEY_5 6 +#define KEY_6 7 +#define KEY_7 8 +#define KEY_8 9 +#define KEY_9 10 +#define KEY_0 11 +#define KEY_MINUS 12 +#define KEY_EQUAL 13 +#define KEY_BACKSPACE 14 +#define KEY_TAB 15 +#define KEY_Q 16 +#define KEY_W 17 +#define KEY_E 18 +#define KEY_R 19 +#define KEY_T 20 +#define KEY_Y 21 +#define KEY_U 22 +#define KEY_I 23 +#define KEY_O 24 +#define KEY_P 25 +#define KEY_LEFTBRACE 26 +#define KEY_RIGHTBRACE 27 +#define KEY_ENTER 28 +#define KEY_LEFTCTRL 29 +#define KEY_A 30 +#define KEY_S 31 +#define KEY_D 32 +#define KEY_F 33 +#define KEY_G 34 +#define KEY_H 35 +#define KEY_J 36 +#define KEY_K 37 +#define KEY_L 38 +#define KEY_SEMICOLON 39 +#define KEY_APOSTROPHE 40 +#define KEY_GRAVE 41 +#define KEY_LEFTSHIFT 42 +#define KEY_BACKSLASH 43 +#define KEY_Z 44 +#define KEY_X 45 +#define KEY_C 46 +#define KEY_V 47 +#define KEY_B 48 +#define KEY_N 49 +#define KEY_M 50 +#define KEY_COMMA 51 +#define KEY_DOT 52 +#define KEY_SLASH 53 +#define KEY_RIGHTSHIFT 54 +#define KEY_KPASTERISK 55 +#define KEY_LEFTALT 56 +#define KEY_SPACE 57 +#define KEY_CAPSLOCK 58 +#define KEY_F1 59 +#define KEY_F2 60 +#define KEY_F3 61 +#define KEY_F4 62 +#define KEY_F5 63 +#define KEY_F6 64 +#define KEY_F7 65 +#define KEY_F8 66 +#define KEY_F9 67 +#define KEY_F10 68 +#define KEY_NUMLOCK 69 +#define KEY_SCROLLLOCK 70 +#define KEY_KP7 71 +#define KEY_KP8 72 +#define KEY_KP9 73 +#define KEY_KPMINUS 74 +#define KEY_KP4 75 +#define KEY_KP5 76 +#define KEY_KP6 77 +#define KEY_KPPLUS 78 +#define KEY_KP1 79 +#define KEY_KP2 80 +#define KEY_KP3 81 +#define KEY_KP0 82 +#define KEY_KPDOT 83 + +#define KEY_ZENKAKUHANKAKU 85 +#define KEY_102ND 86 +#define KEY_F11 87 +#define KEY_F12 88 +#define KEY_RO 89 +#define KEY_KATAKANA 90 +#define KEY_HIRAGANA 91 +#define KEY_HENKAN 92 +#define KEY_KATAKANAHIRAGANA 93 +#define KEY_MUHENKAN 94 +#define KEY_KPJPCOMMA 95 +#define KEY_KPENTER 96 +#define KEY_RIGHTCTRL 97 +#define KEY_KPSLASH 98 +#define KEY_SYSRQ 99 +#define KEY_RIGHTALT 100 +#define KEY_LINEFEED 101 +#define KEY_HOME 102 +#define KEY_UP 103 +#define KEY_PAGEUP 104 +#define KEY_LEFT 105 +#define KEY_RIGHT 106 +#define KEY_END 107 +#define KEY_DOWN 108 +#define KEY_PAGEDOWN 109 +#define KEY_INSERT 110 +#define KEY_DELETE 111 +#define KEY_MACRO 112 +#define KEY_MUTE 113 +#define KEY_VOLUMEDOWN 114 +#define KEY_VOLUMEUP 115 +#define KEY_POWER 116 /* SC System Power Down */ +#define KEY_KPEQUAL 117 +#define KEY_KPPLUSMINUS 118 +#define KEY_PAUSE 119 +#define KEY_SCALE 120 /* AL Compiz Scale (Expose) */ + +#define KEY_KPCOMMA 121 +#define KEY_HANGEUL 122 +#define KEY_HANGUEL KEY_HANGEUL +#define KEY_HANJA 123 +#define KEY_YEN 124 +#define KEY_LEFTMETA 125 +#define KEY_RIGHTMETA 126 +#define KEY_COMPOSE 127 + +#define KEY_STOP 128 /* AC Stop */ +#define KEY_AGAIN 129 +#define KEY_PROPS 130 /* AC Properties */ +#define KEY_UNDO 131 /* AC Undo */ +#define KEY_FRONT 132 +#define KEY_COPY 133 /* AC Copy */ +#define KEY_OPEN 134 /* AC Open */ +#define KEY_PASTE 135 /* AC Paste */ +#define KEY_FIND 136 /* AC Search */ +#define KEY_CUT 137 /* AC Cut */ +#define KEY_HELP 138 /* AL Integrated Help Center */ +#define KEY_MENU 139 /* Menu (show menu) */ +#define KEY_CALC 140 /* AL Calculator */ +#define KEY_SETUP 141 +#define KEY_SLEEP 142 /* SC System Sleep */ +#define KEY_WAKEUP 143 /* System Wake Up */ +#define KEY_FILE 144 /* AL Local Machine Browser */ +#define KEY_SENDFILE 145 +#define KEY_DELETEFILE 146 +#define KEY_XFER 147 +#define KEY_PROG1 148 +#define KEY_PROG2 149 +#define KEY_WWW 150 /* AL Internet Browser */ +#define KEY_MSDOS 151 +#define KEY_COFFEE 152 /* AL Terminal Lock/Screensaver */ +#define KEY_SCREENLOCK KEY_COFFEE +#define KEY_ROTATE_DISPLAY 153 /* Display orientation for e.g. tablets */ +#define KEY_DIRECTION KEY_ROTATE_DISPLAY +#define KEY_CYCLEWINDOWS 154 +#define KEY_MAIL 155 +#define KEY_BOOKMARKS 156 /* AC Bookmarks */ +#define KEY_COMPUTER 157 +#define KEY_BACK 158 /* AC Back */ +#define KEY_FORWARD 159 /* AC Forward */ +#define KEY_CLOSECD 160 +#define KEY_EJECTCD 161 +#define KEY_EJECTCLOSECD 162 +#define KEY_NEXTSONG 163 +#define KEY_PLAYPAUSE 164 +#define KEY_PREVIOUSSONG 165 +#define KEY_STOPCD 166 +#define KEY_RECORD 167 +#define KEY_REWIND 168 +#define KEY_PHONE 169 /* Media Select Telephone */ +#define KEY_ISO 170 +#define KEY_CONFIG 171 /* AL Consumer Control Configuration */ +#define KEY_HOMEPAGE 172 /* AC Home */ +#define KEY_REFRESH 173 /* AC Refresh */ +#define KEY_EXIT 174 /* AC Exit */ +#define KEY_MOVE 175 +#define KEY_EDIT 176 +#define KEY_SCROLLUP 177 +#define KEY_SCROLLDOWN 178 +#define KEY_KPLEFTPAREN 179 +#define KEY_KPRIGHTPAREN 180 +#define KEY_NEW 181 /* AC New */ +#define KEY_REDO 182 /* AC Redo/Repeat */ + +#define KEY_F13 183 +#define KEY_F14 184 +#define KEY_F15 185 +#define KEY_F16 186 +#define KEY_F17 187 +#define KEY_F18 188 +#define KEY_F19 189 +#define KEY_F20 190 +#define KEY_F21 191 +#define KEY_F22 192 +#define KEY_F23 193 +#define KEY_F24 194 + +#define KEY_PLAYCD 200 +#define KEY_PAUSECD 201 +#define KEY_PROG3 202 +#define KEY_PROG4 203 +#define KEY_DASHBOARD 204 /* AL Dashboard */ +#define KEY_SUSPEND 205 +#define KEY_CLOSE 206 /* AC Close */ +#define KEY_PLAY 207 +#define KEY_FASTFORWARD 208 +#define KEY_BASSBOOST 209 +#define KEY_PRINT 210 /* AC Print */ +#define KEY_HP 211 +#define KEY_CAMERA 212 +#define KEY_SOUND 213 +#define KEY_QUESTION 214 +#define KEY_EMAIL 215 +#define KEY_CHAT 216 +#define KEY_SEARCH 217 +#define KEY_CONNECT 218 +#define KEY_FINANCE 219 /* AL Checkbook/Finance */ +#define KEY_SPORT 220 +#define KEY_SHOP 221 +#define KEY_ALTERASE 222 +#define KEY_CANCEL 223 /* AC Cancel */ +#define KEY_BRIGHTNESSDOWN 224 +#define KEY_BRIGHTNESSUP 225 +#define KEY_MEDIA 226 + +#define KEY_SWITCHVIDEOMODE 227 /* Cycle between available video + outputs (Monitor/LCD/TV-out/etc) */ +#define KEY_KBDILLUMTOGGLE 228 +#define KEY_KBDILLUMDOWN 229 +#define KEY_KBDILLUMUP 230 + +#define KEY_SEND 231 /* AC Send */ +#define KEY_REPLY 232 /* AC Reply */ +#define KEY_FORWARDMAIL 233 /* AC Forward Msg */ +#define KEY_SAVE 234 /* AC Save */ +#define KEY_DOCUMENTS 235 + +#define KEY_BATTERY 236 + +#define KEY_BLUETOOTH 237 +#define KEY_WLAN 238 +#define KEY_UWB 239 + +#define KEY_UNKNOWN 240 + +#define KEY_VIDEO_NEXT 241 /* drive next video source */ +#define KEY_VIDEO_PREV 242 /* drive previous video source */ +#define KEY_BRIGHTNESS_CYCLE 243 /* brightness up, after max is min */ +#define KEY_BRIGHTNESS_AUTO 244 /* Set Auto Brightness: manual + brightness control is off, + rely on ambient */ +#define KEY_BRIGHTNESS_ZERO KEY_BRIGHTNESS_AUTO +#define KEY_DISPLAY_OFF 245 /* display device to off state */ + +#define KEY_WWAN 246 /* Wireless WAN (LTE, UMTS, GSM, etc.) */ +#define KEY_WIMAX KEY_WWAN +#define KEY_RFKILL 247 /* Key that controls all radios */ + +#define KEY_MICMUTE 248 /* Mute / unmute the microphone */ + +/* Code 255 is reserved for special needs of AT keyboard driver */ + +#define BTN_MISC 0x100 +#define BTN_0 0x100 +#define BTN_1 0x101 +#define BTN_2 0x102 +#define BTN_3 0x103 +#define BTN_4 0x104 +#define BTN_5 0x105 +#define BTN_6 0x106 +#define BTN_7 0x107 +#define BTN_8 0x108 +#define BTN_9 0x109 + +#define BTN_MOUSE 0x110 +#define BTN_LEFT 0x110 +#define BTN_RIGHT 0x111 +#define BTN_MIDDLE 0x112 +#define BTN_SIDE 0x113 +#define BTN_EXTRA 0x114 +#define BTN_FORWARD 0x115 +#define BTN_BACK 0x116 +#define BTN_TASK 0x117 + +#define BTN_JOYSTICK 0x120 +#define BTN_TRIGGER 0x120 +#define BTN_THUMB 0x121 +#define BTN_THUMB2 0x122 +#define BTN_TOP 0x123 +#define BTN_TOP2 0x124 +#define BTN_PINKIE 0x125 +#define BTN_BASE 0x126 +#define BTN_BASE2 0x127 +#define BTN_BASE3 0x128 +#define BTN_BASE4 0x129 +#define BTN_BASE5 0x12a +#define BTN_BASE6 0x12b +#define BTN_DEAD 0x12f + +#define BTN_GAMEPAD 0x130 +#define BTN_SOUTH 0x130 +#define BTN_A BTN_SOUTH +#define BTN_EAST 0x131 +#define BTN_B BTN_EAST +#define BTN_C 0x132 +#define BTN_NORTH 0x133 +#define BTN_X BTN_NORTH +#define BTN_WEST 0x134 +#define BTN_Y BTN_WEST +#define BTN_Z 0x135 +#define BTN_TL 0x136 +#define BTN_TR 0x137 +#define BTN_TL2 0x138 +#define BTN_TR2 0x139 +#define BTN_SELECT 0x13a +#define BTN_START 0x13b +#define BTN_MODE 0x13c +#define BTN_THUMBL 0x13d +#define BTN_THUMBR 0x13e + +#define BTN_DIGI 0x140 +#define BTN_TOOL_PEN 0x140 +#define BTN_TOOL_RUBBER 0x141 +#define BTN_TOOL_BRUSH 0x142 +#define BTN_TOOL_PENCIL 0x143 +#define BTN_TOOL_AIRBRUSH 0x144 +#define BTN_TOOL_FINGER 0x145 +#define BTN_TOOL_MOUSE 0x146 +#define BTN_TOOL_LENS 0x147 +#define BTN_TOOL_QUINTTAP 0x148 /* Five fingers on trackpad */ +#define BTN_TOUCH 0x14a +#define BTN_STYLUS 0x14b +#define BTN_STYLUS2 0x14c +#define BTN_TOOL_DOUBLETAP 0x14d +#define BTN_TOOL_TRIPLETAP 0x14e +#define BTN_TOOL_QUADTAP 0x14f /* Four fingers on trackpad */ + +#define BTN_WHEEL 0x150 +#define BTN_GEAR_DOWN 0x150 +#define BTN_GEAR_UP 0x151 + +#define KEY_OK 0x160 +#define KEY_SELECT 0x161 +#define KEY_GOTO 0x162 +#define KEY_CLEAR 0x163 +#define KEY_POWER2 0x164 +#define KEY_OPTION 0x165 +#define KEY_INFO 0x166 /* AL OEM Features/Tips/Tutorial */ +#define KEY_TIME 0x167 +#define KEY_VENDOR 0x168 +#define KEY_ARCHIVE 0x169 +#define KEY_PROGRAM 0x16a /* Media Select Program Guide */ +#define KEY_CHANNEL 0x16b +#define KEY_FAVORITES 0x16c +#define KEY_EPG 0x16d +#define KEY_PVR 0x16e /* Media Select Home */ +#define KEY_MHP 0x16f +#define KEY_LANGUAGE 0x170 +#define KEY_TITLE 0x171 +#define KEY_SUBTITLE 0x172 +#define KEY_ANGLE 0x173 +#define KEY_ZOOM 0x174 +#define KEY_MODE 0x175 +#define KEY_KEYBOARD 0x176 +#define KEY_SCREEN 0x177 +#define KEY_PC 0x178 /* Media Select Computer */ +#define KEY_TV 0x179 /* Media Select TV */ +#define KEY_TV2 0x17a /* Media Select Cable */ +#define KEY_VCR 0x17b /* Media Select VCR */ +#define KEY_VCR2 0x17c /* VCR Plus */ +#define KEY_SAT 0x17d /* Media Select Satellite */ +#define KEY_SAT2 0x17e +#define KEY_CD 0x17f /* Media Select CD */ +#define KEY_TAPE 0x180 /* Media Select Tape */ +#define KEY_RADIO 0x181 +#define KEY_TUNER 0x182 /* Media Select Tuner */ +#define KEY_PLAYER 0x183 +#define KEY_TEXT 0x184 +#define KEY_DVD 0x185 /* Media Select DVD */ +#define KEY_AUX 0x186 +#define KEY_MP3 0x187 +#define KEY_AUDIO 0x188 /* AL Audio Browser */ +#define KEY_VIDEO 0x189 /* AL Movie Browser */ +#define KEY_DIRECTORY 0x18a +#define KEY_LIST 0x18b +#define KEY_MEMO 0x18c /* Media Select Messages */ +#define KEY_CALENDAR 0x18d +#define KEY_RED 0x18e +#define KEY_GREEN 0x18f +#define KEY_YELLOW 0x190 +#define KEY_BLUE 0x191 +#define KEY_CHANNELUP 0x192 /* Channel Increment */ +#define KEY_CHANNELDOWN 0x193 /* Channel Decrement */ +#define KEY_FIRST 0x194 +#define KEY_LAST 0x195 /* Recall Last */ +#define KEY_AB 0x196 +#define KEY_NEXT 0x197 +#define KEY_RESTART 0x198 +#define KEY_SLOW 0x199 +#define KEY_SHUFFLE 0x19a +#define KEY_BREAK 0x19b +#define KEY_PREVIOUS 0x19c +#define KEY_DIGITS 0x19d +#define KEY_TEEN 0x19e +#define KEY_TWEN 0x19f +#define KEY_VIDEOPHONE 0x1a0 /* Media Select Video Phone */ +#define KEY_GAMES 0x1a1 /* Media Select Games */ +#define KEY_ZOOMIN 0x1a2 /* AC Zoom In */ +#define KEY_ZOOMOUT 0x1a3 /* AC Zoom Out */ +#define KEY_ZOOMRESET 0x1a4 /* AC Zoom */ +#define KEY_WORDPROCESSOR 0x1a5 /* AL Word Processor */ +#define KEY_EDITOR 0x1a6 /* AL Text Editor */ +#define KEY_SPREADSHEET 0x1a7 /* AL Spreadsheet */ +#define KEY_GRAPHICSEDITOR 0x1a8 /* AL Graphics Editor */ +#define KEY_PRESENTATION 0x1a9 /* AL Presentation App */ +#define KEY_DATABASE 0x1aa /* AL Database App */ +#define KEY_NEWS 0x1ab /* AL Newsreader */ +#define KEY_VOICEMAIL 0x1ac /* AL Voicemail */ +#define KEY_ADDRESSBOOK 0x1ad /* AL Contacts/Address Book */ +#define KEY_MESSENGER 0x1ae /* AL Instant Messaging */ +#define KEY_DISPLAYTOGGLE 0x1af /* Turn display (LCD) on and off */ +#define KEY_BRIGHTNESS_TOGGLE KEY_DISPLAYTOGGLE +#define KEY_SPELLCHECK 0x1b0 /* AL Spell Check */ +#define KEY_LOGOFF 0x1b1 /* AL Logoff */ + +#define KEY_DOLLAR 0x1b2 +#define KEY_EURO 0x1b3 + +#define KEY_FRAMEBACK 0x1b4 /* Consumer - transport controls */ +#define KEY_FRAMEFORWARD 0x1b5 +#define KEY_CONTEXT_MENU 0x1b6 /* GenDesc - system context menu */ +#define KEY_MEDIA_REPEAT 0x1b7 /* Consumer - transport control */ +#define KEY_10CHANNELSUP 0x1b8 /* 10 channels up (10+) */ +#define KEY_10CHANNELSDOWN 0x1b9 /* 10 channels down (10-) */ +#define KEY_IMAGES 0x1ba /* AL Image Browser */ + +#define KEY_DEL_EOL 0x1c0 +#define KEY_DEL_EOS 0x1c1 +#define KEY_INS_LINE 0x1c2 +#define KEY_DEL_LINE 0x1c3 + +#define KEY_FN 0x1d0 +#define KEY_FN_ESC 0x1d1 +#define KEY_FN_F1 0x1d2 +#define KEY_FN_F2 0x1d3 +#define KEY_FN_F3 0x1d4 +#define KEY_FN_F4 0x1d5 +#define KEY_FN_F5 0x1d6 +#define KEY_FN_F6 0x1d7 +#define KEY_FN_F7 0x1d8 +#define KEY_FN_F8 0x1d9 +#define KEY_FN_F9 0x1da +#define KEY_FN_F10 0x1db +#define KEY_FN_F11 0x1dc +#define KEY_FN_F12 0x1dd +#define KEY_FN_1 0x1de +#define KEY_FN_2 0x1df +#define KEY_FN_D 0x1e0 +#define KEY_FN_E 0x1e1 +#define KEY_FN_F 0x1e2 +#define KEY_FN_S 0x1e3 +#define KEY_FN_B 0x1e4 + +#define KEY_BRL_DOT1 0x1f1 +#define KEY_BRL_DOT2 0x1f2 +#define KEY_BRL_DOT3 0x1f3 +#define KEY_BRL_DOT4 0x1f4 +#define KEY_BRL_DOT5 0x1f5 +#define KEY_BRL_DOT6 0x1f6 +#define KEY_BRL_DOT7 0x1f7 +#define KEY_BRL_DOT8 0x1f8 +#define KEY_BRL_DOT9 0x1f9 +#define KEY_BRL_DOT10 0x1fa + +#define KEY_NUMERIC_0 0x200 /* used by phones, remote controls, */ +#define KEY_NUMERIC_1 0x201 /* and other keypads */ +#define KEY_NUMERIC_2 0x202 +#define KEY_NUMERIC_3 0x203 +#define KEY_NUMERIC_4 0x204 +#define KEY_NUMERIC_5 0x205 +#define KEY_NUMERIC_6 0x206 +#define KEY_NUMERIC_7 0x207 +#define KEY_NUMERIC_8 0x208 +#define KEY_NUMERIC_9 0x209 +#define KEY_NUMERIC_STAR 0x20a +#define KEY_NUMERIC_POUND 0x20b +#define KEY_NUMERIC_A 0x20c /* Phone key A - HUT Telephony 0xb9 */ +#define KEY_NUMERIC_B 0x20d +#define KEY_NUMERIC_C 0x20e +#define KEY_NUMERIC_D 0x20f + +#define KEY_CAMERA_FOCUS 0x210 +#define KEY_WPS_BUTTON 0x211 /* WiFi Protected Setup key */ + +#define KEY_TOUCHPAD_TOGGLE 0x212 /* Request switch touchpad on or off */ +#define KEY_TOUCHPAD_ON 0x213 +#define KEY_TOUCHPAD_OFF 0x214 + +#define KEY_CAMERA_ZOOMIN 0x215 +#define KEY_CAMERA_ZOOMOUT 0x216 +#define KEY_CAMERA_UP 0x217 +#define KEY_CAMERA_DOWN 0x218 +#define KEY_CAMERA_LEFT 0x219 +#define KEY_CAMERA_RIGHT 0x21a + +#define KEY_ATTENDANT_ON 0x21b +#define KEY_ATTENDANT_OFF 0x21c +#define KEY_ATTENDANT_TOGGLE 0x21d /* Attendant call on or off */ +#define KEY_LIGHTS_TOGGLE 0x21e /* Reading light on or off */ + +#define BTN_DPAD_UP 0x220 +#define BTN_DPAD_DOWN 0x221 +#define BTN_DPAD_LEFT 0x222 +#define BTN_DPAD_RIGHT 0x223 + +#define KEY_ALS_TOGGLE 0x230 /* Ambient light sensor */ + +#define KEY_BUTTONCONFIG 0x240 /* AL Button Configuration */ +#define KEY_TASKMANAGER 0x241 /* AL Task/Project Manager */ +#define KEY_JOURNAL 0x242 /* AL Log/Journal/Timecard */ +#define KEY_CONTROLPANEL 0x243 /* AL Control Panel */ +#define KEY_APPSELECT 0x244 /* AL Select Task/Application */ +#define KEY_SCREENSAVER 0x245 /* AL Screen Saver */ +#define KEY_VOICECOMMAND 0x246 /* Listening Voice Command */ + +#define KEY_BRIGHTNESS_MIN 0x250 /* Set Brightness to Minimum */ +#define KEY_BRIGHTNESS_MAX 0x251 /* Set Brightness to Maximum */ + +#define KEY_KBDINPUTASSIST_PREV 0x260 +#define KEY_KBDINPUTASSIST_NEXT 0x261 +#define KEY_KBDINPUTASSIST_PREVGROUP 0x262 +#define KEY_KBDINPUTASSIST_NEXTGROUP 0x263 +#define KEY_KBDINPUTASSIST_ACCEPT 0x264 +#define KEY_KBDINPUTASSIST_CANCEL 0x265 + +/* Diagonal movement keys */ +#define KEY_RIGHT_UP 0x266 +#define KEY_RIGHT_DOWN 0x267 +#define KEY_LEFT_UP 0x268 +#define KEY_LEFT_DOWN 0x269 + +#define KEY_ROOT_MENU 0x26a /* Show Device's Root Menu */ +/* Show Top Menu of the Media (e.g. DVD) */ +#define KEY_MEDIA_TOP_MENU 0x26b +#define KEY_NUMERIC_11 0x26c +#define KEY_NUMERIC_12 0x26d +/* + * Toggle Audio Description: refers to an audio service that helps blind and + * visually impaired consumers understand the action in a program. Note: in + * some countries this is referred to as "Video Description". + */ +#define KEY_AUDIO_DESC 0x26e +#define KEY_3D_MODE 0x26f +#define KEY_NEXT_FAVORITE 0x270 +#define KEY_STOP_RECORD 0x271 +#define KEY_PAUSE_RECORD 0x272 +#define KEY_VOD 0x273 /* Video on Demand */ +#define KEY_UNMUTE 0x274 +#define KEY_FASTREVERSE 0x275 +#define KEY_SLOWREVERSE 0x276 +/* + * Control a data application associated with the currently viewed channel, + * e.g. teletext or data broadcast application (MHEG, MHP, HbbTV, etc.) + */ +#define KEY_DATA 0x277 +#define KEY_ONSCREEN_KEYBOARD 0x278 + +#define BTN_TRIGGER_HAPPY 0x2c0 +#define BTN_TRIGGER_HAPPY1 0x2c0 +#define BTN_TRIGGER_HAPPY2 0x2c1 +#define BTN_TRIGGER_HAPPY3 0x2c2 +#define BTN_TRIGGER_HAPPY4 0x2c3 +#define BTN_TRIGGER_HAPPY5 0x2c4 +#define BTN_TRIGGER_HAPPY6 0x2c5 +#define BTN_TRIGGER_HAPPY7 0x2c6 +#define BTN_TRIGGER_HAPPY8 0x2c7 +#define BTN_TRIGGER_HAPPY9 0x2c8 +#define BTN_TRIGGER_HAPPY10 0x2c9 +#define BTN_TRIGGER_HAPPY11 0x2ca +#define BTN_TRIGGER_HAPPY12 0x2cb +#define BTN_TRIGGER_HAPPY13 0x2cc +#define BTN_TRIGGER_HAPPY14 0x2cd +#define BTN_TRIGGER_HAPPY15 0x2ce +#define BTN_TRIGGER_HAPPY16 0x2cf +#define BTN_TRIGGER_HAPPY17 0x2d0 +#define BTN_TRIGGER_HAPPY18 0x2d1 +#define BTN_TRIGGER_HAPPY19 0x2d2 +#define BTN_TRIGGER_HAPPY20 0x2d3 +#define BTN_TRIGGER_HAPPY21 0x2d4 +#define BTN_TRIGGER_HAPPY22 0x2d5 +#define BTN_TRIGGER_HAPPY23 0x2d6 +#define BTN_TRIGGER_HAPPY24 0x2d7 +#define BTN_TRIGGER_HAPPY25 0x2d8 +#define BTN_TRIGGER_HAPPY26 0x2d9 +#define BTN_TRIGGER_HAPPY27 0x2da +#define BTN_TRIGGER_HAPPY28 0x2db +#define BTN_TRIGGER_HAPPY29 0x2dc +#define BTN_TRIGGER_HAPPY30 0x2dd +#define BTN_TRIGGER_HAPPY31 0x2de +#define BTN_TRIGGER_HAPPY32 0x2df +#define BTN_TRIGGER_HAPPY33 0x2e0 +#define BTN_TRIGGER_HAPPY34 0x2e1 +#define BTN_TRIGGER_HAPPY35 0x2e2 +#define BTN_TRIGGER_HAPPY36 0x2e3 +#define BTN_TRIGGER_HAPPY37 0x2e4 +#define BTN_TRIGGER_HAPPY38 0x2e5 +#define BTN_TRIGGER_HAPPY39 0x2e6 +#define BTN_TRIGGER_HAPPY40 0x2e7 + +/* We avoid low common keys in module aliases so they don't get huge. */ +#define KEY_MIN_INTERESTING KEY_MUTE +#define KEY_MAX 0x2ff +#define KEY_CNT (KEY_MAX+1) + +/* + * Relative axes + */ + +#define REL_X 0x00 +#define REL_Y 0x01 +#define REL_Z 0x02 +#define REL_RX 0x03 +#define REL_RY 0x04 +#define REL_RZ 0x05 +#define REL_HWHEEL 0x06 +#define REL_DIAL 0x07 +#define REL_WHEEL 0x08 +#define REL_MISC 0x09 +#define REL_MAX 0x0f +#define REL_CNT (REL_MAX+1) + +/* + * Absolute axes + */ + +#define ABS_X 0x00 +#define ABS_Y 0x01 +#define ABS_Z 0x02 +#define ABS_RX 0x03 +#define ABS_RY 0x04 +#define ABS_RZ 0x05 +#define ABS_THROTTLE 0x06 +#define ABS_RUDDER 0x07 +#define ABS_WHEEL 0x08 +#define ABS_GAS 0x09 +#define ABS_BRAKE 0x0a +#define ABS_HAT0X 0x10 +#define ABS_HAT0Y 0x11 +#define ABS_HAT1X 0x12 +#define ABS_HAT1Y 0x13 +#define ABS_HAT2X 0x14 +#define ABS_HAT2Y 0x15 +#define ABS_HAT3X 0x16 +#define ABS_HAT3Y 0x17 +#define ABS_PRESSURE 0x18 +#define ABS_DISTANCE 0x19 +#define ABS_TILT_X 0x1a +#define ABS_TILT_Y 0x1b +#define ABS_TOOL_WIDTH 0x1c + +#define ABS_VOLUME 0x20 + +#define ABS_MISC 0x28 + +#define ABS_MT_SLOT 0x2f /* MT slot being modified */ +#define ABS_MT_TOUCH_MAJOR 0x30 /* Major axis of touching ellipse */ +#define ABS_MT_TOUCH_MINOR 0x31 /* Minor axis (omit if circular) */ +#define ABS_MT_WIDTH_MAJOR 0x32 /* Major axis of approaching ellipse */ +#define ABS_MT_WIDTH_MINOR 0x33 /* Minor axis (omit if circular) */ +#define ABS_MT_ORIENTATION 0x34 /* Ellipse orientation */ +#define ABS_MT_POSITION_X 0x35 /* Center X touch position */ +#define ABS_MT_POSITION_Y 0x36 /* Center Y touch position */ +#define ABS_MT_TOOL_TYPE 0x37 /* Type of touching device */ +#define ABS_MT_BLOB_ID 0x38 /* Group a set of packets as a blob */ +#define ABS_MT_TRACKING_ID 0x39 /* Unique ID of initiated contact */ +#define ABS_MT_PRESSURE 0x3a /* Pressure on contact area */ +#define ABS_MT_DISTANCE 0x3b /* Contact hover distance */ +#define ABS_MT_TOOL_X 0x3c /* Center X tool position */ +#define ABS_MT_TOOL_Y 0x3d /* Center Y tool position */ + + +#define ABS_MAX 0x3f +#define ABS_CNT (ABS_MAX+1) + +/* + * Switch events + */ + +#define SW_LID 0x00 /* set = lid shut */ +#define SW_TABLET_MODE 0x01 /* set = tablet mode */ +#define SW_HEADPHONE_INSERT 0x02 /* set = inserted */ +#define SW_RFKILL_ALL 0x03 /* rfkill master switch, type "any" + set = radio enabled */ +#define SW_RADIO SW_RFKILL_ALL /* deprecated */ +#define SW_MICROPHONE_INSERT 0x04 /* set = inserted */ +#define SW_DOCK 0x05 /* set = plugged into dock */ +#define SW_LINEOUT_INSERT 0x06 /* set = inserted */ +#define SW_JACK_PHYSICAL_INSERT 0x07 /* set = mechanical switch set */ +#define SW_VIDEOOUT_INSERT 0x08 /* set = inserted */ +#define SW_CAMERA_LENS_COVER 0x09 /* set = lens covered */ +#define SW_KEYPAD_SLIDE 0x0a /* set = keypad slide out */ +#define SW_FRONT_PROXIMITY 0x0b /* set = front proximity sensor active */ +#define SW_ROTATE_LOCK 0x0c /* set = rotate locked/disabled */ +#define SW_LINEIN_INSERT 0x0d /* set = inserted */ +#define SW_MUTE_DEVICE 0x0e /* set = device disabled */ +#define SW_PEN_INSERTED 0x0f /* set = pen inserted */ +#define SW_MAX 0x0f +#define SW_CNT (SW_MAX+1) + +/* + * Misc events + */ + +#define MSC_SERIAL 0x00 +#define MSC_PULSELED 0x01 +#define MSC_GESTURE 0x02 +#define MSC_RAW 0x03 +#define MSC_SCAN 0x04 +#define MSC_TIMESTAMP 0x05 +#define MSC_MAX 0x07 +#define MSC_CNT (MSC_MAX+1) + +/* + * LEDs + */ + +#define LED_NUML 0x00 +#define LED_CAPSL 0x01 +#define LED_SCROLLL 0x02 +#define LED_COMPOSE 0x03 +#define LED_KANA 0x04 +#define LED_SLEEP 0x05 +#define LED_SUSPEND 0x06 +#define LED_MUTE 0x07 +#define LED_MISC 0x08 +#define LED_MAIL 0x09 +#define LED_CHARGING 0x0a +#define LED_MAX 0x0f +#define LED_CNT (LED_MAX+1) + +/* + * Autorepeat values + */ + +#define REP_DELAY 0x00 +#define REP_PERIOD 0x01 +#define REP_MAX 0x01 +#define REP_CNT (REP_MAX+1) + +/* + * Sounds + */ + +#define SND_CLICK 0x00 +#define SND_BELL 0x01 +#define SND_TONE 0x02 +#define SND_MAX 0x07 +#define SND_CNT (SND_MAX+1) + +#endif diff -Nru gnome-games-app-3.26.2/src/gamepad/linux/linux-raw-gamepad.c gnome-games-app-3.28.0/src/gamepad/linux/linux-raw-gamepad.c --- gnome-games-app-3.26.2/src/gamepad/linux/linux-raw-gamepad.c 2017-09-21 12:48:06.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/linux/linux-raw-gamepad.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,404 +0,0 @@ -// This file is part of GNOME Games. License: GPL-3.0+. - -#include "linux-raw-gamepad.h" - -#include -#include -#include -#include -#include -#include -#include "../../event/event.h" -#include "../raw-gamepad.h" - -#define GUID_DATA_LENGTH 8 -#define GUID_STRING_LENGTH 32 // (GUID_DATA_LENGTH * sizeof (guint16)) - -struct _GamesLinuxRawGamepad { - GObject parent_instance; - - gint fd; - glong event_source_id; - struct libevdev *device; - guint8 key_map[KEY_MAX]; - guint8 abs_map[ABS_MAX]; - struct input_absinfo abs_info[ABS_MAX]; - gchar *guid; -}; - -static void games_raw_gamepad_interface_init (GamesRawGamepadInterface *interface); - -G_DEFINE_TYPE_WITH_CODE (GamesLinuxRawGamepad, games_linux_raw_gamepad, G_TYPE_OBJECT, - G_IMPLEMENT_INTERFACE (GAMES_TYPE_RAW_GAMEPAD, - games_raw_gamepad_interface_init)) - -/* Private */ - -static gchar -guint16_get_hex (guint16 value, - guint8 nibble) -{ - static const gchar hex_to_ascii_map[] = "0123456789abcdef"; - - g_assert (nibble < 4); - - return hex_to_ascii_map[((value >> (4 * nibble)) & 0xf)]; -} - -static gchar * -guint16s_to_hex_string (guint16 *data) -{ - gchar *result; - gint data_i; - gint result_i; - guint16 element; - - result = g_malloc (GUID_STRING_LENGTH + 1); - result[GUID_STRING_LENGTH] = '\0'; - for (data_i = 0, result_i = 0; data_i < GUID_DATA_LENGTH; data_i++) { - element = data[data_i]; - result[result_i++] = guint16_get_hex (element, 1); - result[result_i++] = guint16_get_hex (element, 0); - result[result_i++] = guint16_get_hex (element, 3); - result[result_i++] = guint16_get_hex (element, 2); - } - - return result; -} - -static gchar * -compute_guid_string (struct libevdev *device) -{ - guint16 guid_array[GUID_DATA_LENGTH] = { 0 }; - - guid_array[0] = (guint16) GINT_TO_LE (libevdev_get_id_bustype (device)); - guid_array[1] = 0; - guid_array[2] = (guint16) GINT_TO_LE (libevdev_get_id_vendor (device)); - guid_array[3] = 0; - guid_array[4] = (guint16) GINT_TO_LE (libevdev_get_id_product (device)); - guid_array[5] = 0; - guid_array[6] = (guint16) GINT_TO_LE (libevdev_get_id_version (device)); - guid_array[7] = 0; - - return guint16s_to_hex_string (guid_array); -} - -static const gchar * -get_guid (GamesRawGamepad *base) -{ - GamesLinuxRawGamepad *self; - - self = GAMES_LINUX_RAW_GAMEPAD (base); - - if (self->guid == NULL) - self->guid = compute_guid_string (self->device); - - return self->guid; -} - -static const gchar * -get_name (GamesRawGamepad *base) -{ - GamesLinuxRawGamepad *self; - - self = GAMES_LINUX_RAW_GAMEPAD (base); - - return libevdev_get_name (self->device); -} - -static struct input_absinfo *_abs_info_dup (struct input_absinfo *self); - -static gdouble -centered_axis_value (struct input_absinfo *abs_info, - gint32 value) -{ - gint64 min_absolute; - gint64 max_normalized; - gint64 value_normalized; - gint64 max_centered; - gint64 value_centered; - gint64 divisor; - - g_return_val_if_fail (abs_info != NULL, 0.0); - - min_absolute = llabs ((gint64) abs_info->minimum); - - max_normalized = ((gint64) abs_info->maximum) + min_absolute; - value_normalized = ((gint64) value) + min_absolute; - - max_centered = max_normalized / 2; - value_centered = (value_normalized - max_normalized) + max_centered; - - divisor = value_centered < 0 ? max_centered + 1 : max_centered;; - - return ((gdouble) value_centered) / ((gdouble) divisor); -} - -static void -handle_evdev_event (GamesLinuxRawGamepad *self) -{ - struct input_event event = { 0 }; - GamesEvent games_event; - gint code; - guint8 axis; - gdouble value; - - g_return_if_fail (self != NULL); - - if (libevdev_next_event (self->device, (guint) LIBEVDEV_READ_FLAG_NORMAL, &event) != 0) - return; - - games_event.gamepad.time = event.time.tv_sec * 1000 + event.time.tv_usec / 1000; - games_event.gamepad.hardware_type = event.type; - games_event.gamepad.hardware_code = event.code; - games_event.gamepad.hardware_value = event.value; - - switch (event.type) { - case EV_KEY: - games_event.type = event.value ? - GAMES_EVENT_GAMEPAD_BUTTON_PRESS : - GAMES_EVENT_GAMEPAD_BUTTON_RELEASE; - games_event.gamepad_button.hardware_index = self->key_map[event.code - BTN_MISC]; - games_event.gamepad_button.button = event.code; - - break; - case EV_ABS: - switch (event.code) { - case ABS_HAT0X: - case ABS_HAT0Y: - case ABS_HAT1X: - case ABS_HAT1Y: - case ABS_HAT2X: - case ABS_HAT2Y: - case ABS_HAT3X: - case ABS_HAT3Y: - games_event.type = GAMES_EVENT_GAMEPAD_HAT; - games_event.gamepad_hat.hardware_index = self->key_map[(event.code - ABS_HAT0X) / 2] * 2 + (event.code - ABS_HAT0X) % 2; - games_event.gamepad_hat.axis = event.code; - games_event.gamepad_hat.value = event.value; - - break; - default: - games_event.type = GAMES_EVENT_GAMEPAD_AXIS; - games_event.gamepad_axis.hardware_index = event.code; - games_event.gamepad_axis.axis = event.code; - games_event.gamepad_axis.value = - centered_axis_value (&self->abs_info[self->abs_map[event.code]], - event.value); - - break; - } - - break; - default: - games_event.type = GAMES_EVENT_NOTHING; - } - - g_signal_emit_by_name (self, "event", &games_event); -} - -static gboolean -poll_events (GIOChannel *source, - GIOCondition condition, - gpointer data) -{ - GamesLinuxRawGamepad *self; - - self = GAMES_LINUX_RAW_GAMEPAD (data); - - g_return_val_if_fail (self != NULL, FALSE); - - while (libevdev_has_event_pending (self->device)) - handle_evdev_event (self); - - return TRUE; -} - -static gboolean -has_key (struct libevdev *device, - guint code) -{ - return libevdev_has_event_code (device, (guint) EV_KEY, code); -} - -static gboolean -has_abs (struct libevdev *device, - guint code) -{ - return libevdev_has_event_code (device, (guint) EV_ABS, code); -} - -static gboolean -is_joystick (struct libevdev *device) -{ - gboolean has_joystick_axes_or_buttons; - - g_return_val_if_fail (device != NULL, FALSE); - - /* Same detection code as udev-builtin-input_id.c in systemd - * joysticks don’t necessarily have buttons; e. g. - * rudders/pedals are joystick-like, but buttonless; they have - * other fancy axes. */ - has_joystick_axes_or_buttons = - has_key (device, BTN_TRIGGER) || - has_key (device, BTN_A) || - has_key (device, BTN_1) || - has_abs (device, ABS_RX) || - has_abs (device, ABS_RY) || - has_abs (device, ABS_RZ) || - has_abs (device, ABS_THROTTLE) || - has_abs (device, ABS_RUDDER) || - has_abs (device, ABS_WHEEL) || - has_abs (device, ABS_GAS) || - has_abs (device, ABS_BRAKE); - - return has_joystick_axes_or_buttons; -} - -static void -remove_event_source (GamesLinuxRawGamepad *self) -{ - g_return_if_fail (self != NULL); - - if (self->event_source_id < 0) - return; - - g_source_remove ((guint) self->event_source_id); - self->event_source_id = -1; -} - -/* Public */ - -GamesLinuxRawGamepad * -games_linux_raw_gamepad_new (const gchar *file_name, - GError **error) -{ - GamesLinuxRawGamepad *self = NULL; - GIOChannel *channel; - gint buttons_number; - gint axes_number; - guint i; - - g_return_val_if_fail (file_name != NULL, NULL); - - self = g_object_new (GAMES_TYPE_LINUX_RAW_GAMEPAD, NULL); - - self->fd = open (file_name, O_RDONLY | O_NONBLOCK, (mode_t) 0); - if (self->fd < 0) { - g_set_error (error, - G_FILE_ERROR, - G_FILE_ERROR_FAILED, - _("Unable to open file “%s”: %s"), - file_name, - strerror (errno)); - g_object_unref (self); - - return NULL; - } - - self->device = libevdev_new (); - if (libevdev_set_fd (self->device, self->fd) < 0) { - g_set_error (error, - G_FILE_ERROR, - G_FILE_ERROR_FAILED, - _("Evdev is unable to open “%s”: %s"), - file_name, - strerror (errno)); - g_object_unref (self); - - return NULL; - } - - if (!is_joystick (self->device)) { - g_set_error (error, - G_FILE_ERROR, - G_FILE_ERROR_NXIO, - "“%s” is not a joystick", - file_name); - g_object_unref (self); - - return NULL; - } - - self->event_source_id = -1; - - // Poll the events in the default main loop - channel = g_io_channel_unix_new (self->fd); - self->event_source_id = (glong) g_io_add_watch (channel, G_IO_IN, poll_events, self); - buttons_number = 0; - - // Initialize dpads, buttons and axes - for (i = BTN_JOYSTICK; i < KEY_MAX; i++) - if (libevdev_has_event_code (self->device, (guint) EV_KEY, i)) { - self->key_map[i - BTN_MISC] = (guint8) buttons_number; - buttons_number++; - } - for (i = BTN_MISC; i < BTN_JOYSTICK; i++) - if (libevdev_has_event_code (self->device, (guint) EV_KEY, i)) { - self->key_map[i - BTN_MISC] = (guint8) buttons_number; - buttons_number++; - } - - // Get info about axes - axes_number = 0; - for (i = 0; i < ABS_MAX; i++) { - // Skip dpads - if (i == ABS_HAT0X) { - i = ABS_HAT3Y; - - continue; - } - if (libevdev_has_event_code (self->device, (guint) EV_ABS, i)) { - const struct input_absinfo *absinfo; - - absinfo = libevdev_get_abs_info (self->device, i); - if (absinfo != NULL) { - self->abs_map[i] = (guint8) axes_number; - self->abs_info[axes_number] = *absinfo; - axes_number++; - } - } - } - - g_io_channel_unref (channel); - - return self; -} - -/* Type */ - -static void -games_linux_raw_gamepad_finalize (GObject *object) -{ - GamesLinuxRawGamepad *self = GAMES_LINUX_RAW_GAMEPAD (object); - - close (self->fd); - remove_event_source (self); - if (self->device != NULL) - libevdev_free (self->device); - if (self->guid != NULL) - g_free (self->guid); - - G_OBJECT_CLASS (games_linux_raw_gamepad_parent_class)->finalize (object); -} - -static void -games_linux_raw_gamepad_class_init (GamesLinuxRawGamepadClass *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - - object_class->finalize = games_linux_raw_gamepad_finalize; -} - -static void -games_raw_gamepad_interface_init (GamesRawGamepadInterface *interface) -{ - interface->get_guid = get_guid; - interface->get_name = get_name; -} - -static void -games_linux_raw_gamepad_init (GamesLinuxRawGamepad *self) -{ - self->event_source_id = -1; -} diff -Nru gnome-games-app-3.26.2/src/gamepad/linux/linux-raw-gamepad.h gnome-games-app-3.28.0/src/gamepad/linux/linux-raw-gamepad.h --- gnome-games-app-3.26.2/src/gamepad/linux/linux-raw-gamepad.h 2017-08-01 09:54:51.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/linux/linux-raw-gamepad.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,20 +0,0 @@ -// This file is part of GNOME Games. License: GPL-3.0+. - -#ifndef GAMES_LINUX_RAW_GAMEPAD_H -#define GAMES_LINUX_RAW_GAMEPAD_H - -#include - -G_BEGIN_DECLS - -#define GAMES_TYPE_LINUX_RAW_GAMEPAD (games_linux_raw_gamepad_get_type()) - -G_DECLARE_FINAL_TYPE (GamesLinuxRawGamepad, games_linux_raw_gamepad, GAMES, LINUX_RAW_GAMEPAD, GObject) - -/*GamesLinuxRawGamepad *games_linux_raw_gamepad_new (void);*/ -GamesLinuxRawGamepad *games_linux_raw_gamepad_new (const gchar *file_name, - GError **error); - -G_END_DECLS - -#endif /* GAMES_LINUX_RAW_GAMEPAD_H */ diff -Nru gnome-games-app-3.26.2/src/gamepad/linux/linux-raw-gamepad-monitor.c gnome-games-app-3.28.0/src/gamepad/linux/linux-raw-gamepad-monitor.c --- gnome-games-app-3.26.2/src/gamepad/linux/linux-raw-gamepad-monitor.c 2017-08-01 09:54:51.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/linux/linux-raw-gamepad-monitor.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,267 +0,0 @@ -// This file is part of GNOME Games. License: GPL-3.0+. - -#include "linux-raw-gamepad-monitor.h" - -#include -#include "linux-raw-gamepad.h" -#include "../raw-gamepad-monitor.h" - -struct _GamesLinuxRawGamepadMonitor { - GObject parent_instance; - - GUdevClient *client; - GHashTable *raw_gamepads; -}; - -static void games_raw_gamepad_monitor_interface_init (GamesRawGamepadMonitorInterface *interface); - -G_DEFINE_TYPE_WITH_CODE (GamesLinuxRawGamepadMonitor, games_linux_raw_gamepad_monitor, G_TYPE_OBJECT, - G_IMPLEMENT_INTERFACE (GAMES_TYPE_RAW_GAMEPAD_MONITOR, - games_raw_gamepad_monitor_interface_init)) - -typedef struct { - GamesRawGamepadCallback callback; - gpointer target; -} ForeachGamepadData; - -/* Private */ - -static void -foreach_gamepad_do (gpointer key, - gpointer value, - gpointer data) -{ - ForeachGamepadData *callback_data; - GamesRawGamepad *raw_gamepad; - - callback_data = (ForeachGamepadData *) data; - raw_gamepad = (GamesRawGamepad *) value; - - g_return_if_fail (raw_gamepad != NULL); - - callback_data->callback (raw_gamepad, callback_data->target); -} - -static void -foreach_gamepad (GamesRawGamepadMonitor *base, - GamesRawGamepadCallback callback, - gpointer target) -{ - GamesLinuxRawGamepadMonitor *self; - ForeachGamepadData data; - - self = GAMES_LINUX_RAW_GAMEPAD_MONITOR (base); - - g_return_if_fail (base != NULL); - g_return_if_fail (callback != NULL); - - data.callback = callback; - data.target = target; - g_hash_table_foreach (self->raw_gamepads, foreach_gamepad_do, &data); -} - -static GamesRawGamepad * -add_gamepad (GamesLinuxRawGamepadMonitor *self, - GUdevDevice *device) -{ - gchar *identifier; - GamesLinuxRawGamepad *raw_gamepad; - GError *error = NULL; - - g_return_val_if_fail (self != NULL, NULL); - g_return_val_if_fail (device != NULL, NULL); - - identifier = g_strdup (g_udev_device_get_device_file (device)); - if (g_hash_table_contains (self->raw_gamepads, identifier)) { - g_free (identifier); - - return NULL; - } - - raw_gamepad = games_linux_raw_gamepad_new (identifier, &error); - if (G_UNLIKELY (error != NULL)) { - g_free (identifier); - g_assert (raw_gamepad == NULL); - g_debug ("%s", error->message); - g_error_free (error); - - return NULL; - } - - g_assert (raw_gamepad != NULL); - - g_hash_table_insert (self->raw_gamepads, - identifier, - g_object_ref (raw_gamepad)); - - return GAMES_RAW_GAMEPAD (raw_gamepad); -} - -static GamesRawGamepad * -remove_gamepad (GamesLinuxRawGamepadMonitor *self, - GUdevDevice *device) -{ - const gchar *identifier; - GamesRawGamepad *raw_gamepad; - - g_return_val_if_fail (self != NULL, NULL); - g_return_val_if_fail (device != NULL, NULL); - - identifier = g_udev_device_get_device_file (device); - if (!g_hash_table_contains (self->raw_gamepads, identifier)) - return NULL; - - raw_gamepad = g_object_ref (GAMES_RAW_GAMEPAD (g_hash_table_lookup (self->raw_gamepads, identifier))); - g_hash_table_remove (self->raw_gamepads, identifier); - - return raw_gamepad; -} - -static gboolean -device_property_is (GUdevDevice *device, - const gchar *property, - const gchar *value) -{ - return g_udev_device_has_property (device, property) && - (g_strcmp0 (g_udev_device_get_property (device, property), value) == 0); -} - -static gboolean -is_gamepad (GUdevDevice *device) -{ - g_return_val_if_fail (device != NULL, FALSE); - - return device_property_is (device, "ID_INPUT_JOYSTICK", "1") || - device_property_is (device, ".INPUT_CLASS", "joystick"); -} - -static void -handle_udev_client_callback (GUdevClient *sender, - const gchar *action, - GUdevDevice *device, - gpointer data) -{ - GamesLinuxRawGamepadMonitor *self; - - self = GAMES_LINUX_RAW_GAMEPAD_MONITOR (data); - - g_return_if_fail (self != NULL); - g_return_if_fail (action != NULL); - g_return_if_fail (device != NULL); - - if (g_udev_device_get_device_file (device) == NULL) - return; - - if (!is_gamepad (device)) - return; - - if (g_strcmp0 (action, "add") == 0) { - GamesRawGamepad *raw_gamepad; - - raw_gamepad = add_gamepad (self, device); - if (raw_gamepad != NULL) { - g_signal_emit_by_name (GAMES_RAW_GAMEPAD_MONITOR (self), "gamepad-plugged", raw_gamepad); - g_object_unref (raw_gamepad); - } - } - else if (g_strcmp0 (action, "remove") == 0) { - GamesRawGamepad *raw_gamepad; - - raw_gamepad = remove_gamepad (self, device); - if (raw_gamepad != NULL) { - g_signal_emit_by_name (raw_gamepad, "unplugged"); - g_object_unref (raw_gamepad); - } - } -} - -static GamesLinuxRawGamepadMonitor * -games_linux_raw_gamepad_monitor_new (void) -{ - static const gchar *subsystems[] = { "input" }; - GamesLinuxRawGamepadMonitor *self = NULL; - GList *initial_devices_list; - GList *device_it = NULL; - GUdevDevice *device = NULL; - GamesRawGamepad *gamepad; - - self = g_object_new (GAMES_TYPE_LINUX_RAW_GAMEPAD_MONITOR, NULL); - self->client = g_udev_client_new (subsystems); - g_signal_connect_object (self->client, - "uevent", - (GCallback) handle_udev_client_callback, - self, - 0); - self->raw_gamepads = g_hash_table_new_full (g_str_hash, - g_str_equal, - g_free, - g_object_unref); - initial_devices_list = g_udev_client_query_by_subsystem (self->client, - "input"); - - for (device_it = initial_devices_list; - device_it != NULL; - device_it = device_it->next) { - device = G_UDEV_DEVICE (device_it->data); - if (g_udev_device_get_device_file (device) == NULL) - continue; - - if (!is_gamepad (device)) - continue; - - gamepad = add_gamepad (self, device); - if (gamepad != NULL) - g_object_unref (gamepad); - } - - g_list_free_full (initial_devices_list, g_object_unref); - - return self; -} - -/* Public */ - -GamesLinuxRawGamepadMonitor * -games_linux_raw_gamepad_monitor_get_instance (void) -{ - static GamesLinuxRawGamepadMonitor *instance = NULL; - - if (instance == NULL) - instance = games_linux_raw_gamepad_monitor_new (); - - return g_object_ref (instance); -} - -/* Type */ - -static void -games_linux_raw_gamepad_monitor_finalize (GObject *object) -{ - GamesLinuxRawGamepadMonitor *self = GAMES_LINUX_RAW_GAMEPAD_MONITOR (object); - - if (self->client != NULL) - g_object_unref (self->client); - if (self->raw_gamepads != NULL) - g_hash_table_unref (self->raw_gamepads); - - G_OBJECT_CLASS (games_linux_raw_gamepad_monitor_parent_class)->finalize (object); -} - -static void -games_linux_raw_gamepad_monitor_class_init (GamesLinuxRawGamepadMonitorClass *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - - object_class->finalize = games_linux_raw_gamepad_monitor_finalize; -} - -static void -games_raw_gamepad_monitor_interface_init (GamesRawGamepadMonitorInterface *interface) -{ - interface->foreach_gamepad = foreach_gamepad; -} - -static void -games_linux_raw_gamepad_monitor_init (GamesLinuxRawGamepadMonitor *self) -{ -} diff -Nru gnome-games-app-3.26.2/src/gamepad/linux/linux-raw-gamepad-monitor-fallback.c gnome-games-app-3.28.0/src/gamepad/linux/linux-raw-gamepad-monitor-fallback.c --- gnome-games-app-3.26.2/src/gamepad/linux/linux-raw-gamepad-monitor-fallback.c 2017-08-01 09:54:51.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/linux/linux-raw-gamepad-monitor-fallback.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,155 +0,0 @@ -// This file is part of GNOME Games. License: GPL-3.0+. - -#include "linux-raw-gamepad-monitor.h" - -#include "linux-raw-gamepad.h" -#include "../raw-gamepad-monitor.h" - -struct _GamesLinuxRawGamepadMonitor { - GObject parent_instance; - - GHashTable *raw_gamepads; -}; - -static void games_raw_gamepad_monitor_interface_init (GamesRawGamepadMonitorInterface *interface); - -G_DEFINE_TYPE_WITH_CODE (GamesLinuxRawGamepadMonitor, games_linux_raw_gamepad_monitor, G_TYPE_OBJECT, - G_IMPLEMENT_INTERFACE (GAMES_TYPE_RAW_GAMEPAD_MONITOR, - games_raw_gamepad_monitor_interface_init)) - -/* Private */ - -typedef struct { - GamesRawGamepadCallback callback; - gpointer target; -} ForeachGamepadData; - -static void -foreach_gamepad_do (gpointer key, - gpointer value, - gpointer data) -{ - ForeachGamepadData *callback_data; - GamesRawGamepad *raw_gamepad; - - callback_data = (ForeachGamepadData *) data; - raw_gamepad = (GamesRawGamepad *) value; - - g_return_if_fail (raw_gamepad != NULL); - - callback_data->callback (raw_gamepad, callback_data->target); -} - -static void -foreach_gamepad (GamesRawGamepadMonitor *base, - GamesRawGamepadCallback callback, - gpointer target) -{ - GamesLinuxRawGamepadMonitor *self; - ForeachGamepadData data; - - self = GAMES_LINUX_RAW_GAMEPAD_MONITOR (base); - - g_return_if_fail (base != NULL); - g_return_if_fail (callback != NULL); - - data.callback = callback; - data.target = target; - g_hash_table_foreach (self->raw_gamepads, foreach_gamepad_do, &data); -} - -static GamesLinuxRawGamepadMonitor * -games_linux_raw_gamepad_monitor_new (void) -{ - GamesLinuxRawGamepadMonitor *self = NULL; - GError *error = NULL; - static const gchar *directory = "/dev/input"; - GDir *dir; - const gchar *name = NULL; - gchar *path; - GamesLinuxRawGamepad *raw_gamepad = NULL; - - - self = (GamesLinuxRawGamepadMonitor *) g_object_new (GAMES_TYPE_LINUX_RAW_GAMEPAD_MONITOR, NULL); - self->raw_gamepads = g_hash_table_new_full (g_str_hash, g_str_equal, g_free, g_object_unref); - - // Coldplug gamepads - dir = g_dir_open (directory, (guint) 0, &error); - if (G_UNLIKELY (error != NULL)) { - g_debug ("%s", error->message); - g_error_free (error); - - return self; - } - - while ((name = g_dir_read_name (dir)) != NULL) { - path = g_build_filename (directory, name, NULL); - raw_gamepad = games_linux_raw_gamepad_new (path, &error); - if (G_UNLIKELY (error != NULL)) { - if (!g_error_matches (error, G_FILE_ERROR, G_FILE_ERROR_NXIO)) - g_debug ("Failed to open gamepad %s: %s", path, error->message); - - g_error_free (error); - g_free (path); - error = NULL; - - continue; - } - - g_free (path); - - g_assert (raw_gamepad != NULL); - - g_hash_table_insert (self->raw_gamepads, g_strdup (name), raw_gamepad); - g_signal_emit_by_name (self, "gamepad-plugged", raw_gamepad); - } - - g_dir_close (dir); - - return self; -} - -/* Public */ - -GamesLinuxRawGamepadMonitor * -games_linux_raw_gamepad_monitor_get_instance (void) -{ - static GamesLinuxRawGamepadMonitor *instance = NULL; - - if (instance == NULL) - instance = games_linux_raw_gamepad_monitor_new (); - - return g_object_ref (instance); -} - -/* Type */ - -static void -games_linux_raw_gamepad_monitor_finalize (GObject *object) -{ - GamesLinuxRawGamepadMonitor *self = GAMES_LINUX_RAW_GAMEPAD_MONITOR (object); - - if (self->raw_gamepads != NULL) - g_hash_table_unref (self->raw_gamepads); - - G_OBJECT_CLASS (games_linux_raw_gamepad_monitor_parent_class)->finalize (object); -} - -static void -games_linux_raw_gamepad_monitor_class_init (GamesLinuxRawGamepadMonitorClass *klass) -{ - GObjectClass *object_class = G_OBJECT_CLASS (klass); - - object_class->finalize = games_linux_raw_gamepad_monitor_finalize; -} - -static void -games_raw_gamepad_monitor_interface_init (GamesRawGamepadMonitorInterface *interface) -{ - interface->foreach_gamepad = foreach_gamepad; -} - -static void -games_linux_raw_gamepad_monitor_init (GamesLinuxRawGamepadMonitor *self) -{ -} diff -Nru gnome-games-app-3.26.2/src/gamepad/linux/linux-raw-gamepad-monitor.h gnome-games-app-3.28.0/src/gamepad/linux/linux-raw-gamepad-monitor.h --- gnome-games-app-3.26.2/src/gamepad/linux/linux-raw-gamepad-monitor.h 2017-08-01 09:54:51.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/linux/linux-raw-gamepad-monitor.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,19 +0,0 @@ -// This file is part of GNOME Games. License: GPL-3.0+. - -#ifndef GAMES_LINUX_RAW_GAMEPAD_MONITOR_H -#define GAMES_LINUX_RAW_GAMEPAD_MONITOR_H - -#include - -G_BEGIN_DECLS - -#define GAMES_TYPE_LINUX_RAW_GAMEPAD_MONITOR (games_linux_raw_gamepad_monitor_get_type()) - -G_DECLARE_FINAL_TYPE (GamesLinuxRawGamepadMonitor, games_linux_raw_gamepad_monitor, GAMES, LINUX_RAW_GAMEPAD_MONITOR, GObject) - -GamesLinuxRawGamepadMonitor *games_linux_raw_gamepad_monitor_get_instance (void); - -G_END_DECLS - -#endif /* GAMES_LINUX_RAW_GAMEPAD_MONITOR_H */ - diff -Nru gnome-games-app-3.26.2/src/gamepad/raw-gamepad.c gnome-games-app-3.28.0/src/gamepad/raw-gamepad.c --- gnome-games-app-3.26.2/src/gamepad/raw-gamepad.c 2017-09-21 12:48:06.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/raw-gamepad.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,87 +0,0 @@ -// This file is part of GNOME Games. License: GPL-3.0+. - -#include "raw-gamepad.h" - -#include "../event/event.h" - -/** - * SECTION:raw-gamepad - * @Short_description: Low-level representation of a gamepad - * @Title: GamesRawGamepad - */ - -G_DEFINE_INTERFACE (GamesRawGamepad, games_raw_gamepad, G_TYPE_OBJECT) - -/* Signals */ -enum { - SIGNAL_EVENT, - SIGNAL_UNPLUGGED, - LAST_SIGNAL, -}; - -static guint signals[LAST_SIGNAL] = { 0 }; - -/* Public */ - -/** - * games_raw_gamepad_get_guid: - * @self: a #GamesRawGamepad - * - * Returns the GUID reprensenting this gamepad for SDL2 mappings. - * - * Return value: %TRUE if a menu is displayed, %FALSE otherwise - **/ -const gchar * -games_raw_gamepad_get_guid (GamesRawGamepad *self) -{ - g_return_val_if_fail (self != NULL, NULL); - - return GAMES_RAW_GAMEPAD_GET_IFACE (self)->get_guid (self); -} - -const gchar * -games_raw_gamepad_get_name (GamesRawGamepad *self) -{ - g_return_val_if_fail (self != NULL, NULL); - - return GAMES_RAW_GAMEPAD_GET_IFACE (self)->get_name (self); -} - -/* Type */ - -static void -games_raw_gamepad_default_init (GamesRawGamepadInterface *iface) -{ - static gboolean initialized = FALSE; - - if (initialized) - return; - - initialized = TRUE; - - /** - * GamesRawGamepad::event: - * @event: the event emitted by the gamepad - **/ - signals[SIGNAL_EVENT] = - g_signal_new ("event", - GAMES_TYPE_RAW_GAMEPAD, - G_SIGNAL_RUN_LAST, - 0, NULL, NULL, - g_cclosure_marshal_VOID__BOXED, - G_TYPE_NONE, 1, - GAMES_TYPE_EVENT | G_SIGNAL_TYPE_STATIC_SCOPE); - - /** - * GamesRawGamepad::unplugged: - * - * Emitted when the gamepad is unplugged. - **/ - signals[SIGNAL_UNPLUGGED] = - g_signal_new ("unplugged", - GAMES_TYPE_RAW_GAMEPAD, - G_SIGNAL_RUN_LAST, - 0, NULL, NULL, - g_cclosure_marshal_VOID__VOID, - G_TYPE_NONE, 0); -} diff -Nru gnome-games-app-3.26.2/src/gamepad/raw-gamepad.h gnome-games-app-3.28.0/src/gamepad/raw-gamepad.h --- gnome-games-app-3.26.2/src/gamepad/raw-gamepad.h 2017-09-21 12:48:06.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/raw-gamepad.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,26 +0,0 @@ -// This file is part of GNOME Games. License: GPL-3.0+. - -#ifndef GAMES_RAW_GAMEPAD_H -#define GAMES_RAW_GAMEPAD_H - -#include - -G_BEGIN_DECLS - -#define GAMES_TYPE_RAW_GAMEPAD (games_raw_gamepad_get_type ()) - -G_DECLARE_INTERFACE (GamesRawGamepad, games_raw_gamepad, GAMES, RAW_GAMEPAD, GObject) - -struct _GamesRawGamepadInterface { - GTypeInterface parent; - - const gchar *(*get_guid) (GamesRawGamepad *self); - const gchar *(*get_name) (GamesRawGamepad *self); -}; - -const gchar *games_raw_gamepad_get_guid (GamesRawGamepad *self); -const gchar *games_raw_gamepad_get_name (GamesRawGamepad *self); - -G_END_DECLS - -#endif /* GAMES_RAW_GAMEPAD_H */ diff -Nru gnome-games-app-3.26.2/src/gamepad/raw-gamepad-monitor.c gnome-games-app-3.28.0/src/gamepad/raw-gamepad-monitor.c --- gnome-games-app-3.26.2/src/gamepad/raw-gamepad-monitor.c 2017-08-01 09:54:51.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/raw-gamepad-monitor.c 1970-01-01 00:00:00.000000000 +0000 @@ -1,67 +0,0 @@ -// This file is part of GNOME Games. License: GPL-3.0+. - -#include "raw-gamepad-monitor.h" - -G_DEFINE_INTERFACE (GamesRawGamepadMonitor, games_raw_gamepad_monitor, G_TYPE_OBJECT) - -/** - * SECTION:raw-gamepad-monitor - * @Short_description: Monitor the plugged gamepads - * @Title: GamesRawGamepadMonitor - */ - -/* Signals */ -enum { - SIGNAL_GAMEPAD_PLUGGED, - LAST_SIGNAL, -}; - -static guint signals[LAST_SIGNAL] = { 0 }; - -/* Public */ - -/** - * games_raw_gamepad_monitor_foreach_gamepad: - * @self: a #GamesRawGamepadMonitor - * @callback: the callback handling each #RawGamepad - * @data: the data to pass to the callback - * - * Iterates through the available gamepads. - **/ -void -games_raw_gamepad_monitor_foreach_gamepad (GamesRawGamepadMonitor *self, - GamesRawGamepadCallback callback, - gpointer data) -{ - g_return_if_fail (self != NULL); - - GAMES_RAW_GAMEPAD_MONITOR_GET_IFACE (self)->foreach_gamepad (self, callback, data); -} - -/* Type */ - -static void -games_raw_gamepad_monitor_default_init (GamesRawGamepadMonitorInterface *iface) -{ - static gboolean initialized = FALSE; - - if (initialized) - return; - - initialized = TRUE; - - /** - * GamesRawGamepadMonitor::gamepad-plugged: - * @gamepad: the gamepad which got plugged in - * - * Emitted when a gamepad is plugged in. - **/ - signals[SIGNAL_GAMEPAD_PLUGGED] = - g_signal_new ("gamepad-plugged", - GAMES_TYPE_RAW_GAMEPAD_MONITOR, - G_SIGNAL_RUN_LAST, - 0, NULL, NULL, - g_cclosure_marshal_VOID__OBJECT, - G_TYPE_NONE, 1, - GAMES_TYPE_RAW_GAMEPAD); -} diff -Nru gnome-games-app-3.26.2/src/gamepad/raw-gamepad-monitor.h gnome-games-app-3.28.0/src/gamepad/raw-gamepad-monitor.h --- gnome-games-app-3.26.2/src/gamepad/raw-gamepad-monitor.h 2017-08-01 09:54:51.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/raw-gamepad-monitor.h 1970-01-01 00:00:00.000000000 +0000 @@ -1,33 +0,0 @@ -// This file is part of GNOME Games. License: GPL-3.0+. - -#ifndef GAMES_RAW_GAMEPAD_MONITOR_H -#define GAMES_RAW_GAMEPAD_MONITOR_H - -#include - -#include "raw-gamepad.h" - -G_BEGIN_DECLS - -typedef void (*GamesRawGamepadCallback) (GamesRawGamepad *raw_gamepad, - gpointer target); - -#define GAMES_TYPE_RAW_GAMEPAD_MONITOR (games_raw_gamepad_monitor_get_type ()) - -G_DECLARE_INTERFACE (GamesRawGamepadMonitor, games_raw_gamepad_monitor, GAMES, RAW_GAMEPAD_MONITOR, GObject) - -struct _GamesRawGamepadMonitorInterface { - GTypeInterface parent; - - void (*foreach_gamepad) (GamesRawGamepadMonitor *self, - GamesRawGamepadCallback callback, - gpointer callback_target); -}; - -void games_raw_gamepad_monitor_foreach_gamepad (GamesRawGamepadMonitor *self, - GamesRawGamepadCallback callback, - gpointer data); - -G_END_DECLS - -#endif /* GAMES_RAW_GAMEPAD_MONITOR_H */ diff -Nru gnome-games-app-3.26.2/src/gamepad/raw-gamepad.vapi gnome-games-app-3.28.0/src/gamepad/raw-gamepad.vapi --- gnome-games-app-3.26.2/src/gamepad/raw-gamepad.vapi 2017-09-21 12:48:06.000000000 +0000 +++ gnome-games-app-3.28.0/src/gamepad/raw-gamepad.vapi 1970-01-01 00:00:00.000000000 +0000 @@ -1,9 +0,0 @@ -// This file is part of GNOME Games. License: GPL-3.0+. - -[CCode (cheader_filename = "raw-gamepad.h")] -private interface Games.RawGamepad : GLib.Object { - public abstract signal void event (Event event); - public abstract signal void unplugged (); - public abstract string guid { get; } - public abstract string name { get; } -} diff -Nru gnome-games-app-3.26.2/src/generic/generic-game.c gnome-games-app-3.28.0/src/generic/generic-game.c --- gnome-games-app-3.26.2/src/generic/generic-game.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/generic/generic-game.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* generic-game.c generated by valac 0.38.2, the Vala compiler +/* generic-game.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from generic-game.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -71,12 +71,6 @@ typedef struct _GamesTitle GamesTitle; typedef struct _GamesTitleIface GamesTitleIface; -enum { - GAMES_GENERIC_GAME_DUMMY_PROPERTY, - GAMES_GENERIC_GAME_NAME_PROPERTY, - GAMES_GENERIC_GAME_LAST_PROPERTY -}; -static GParamSpec* games_generic_game_properties[GAMES_GENERIC_GAME_LAST_PROPERTY]; #define _g_free0(var) (var = (g_free (var), NULL)) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) @@ -147,6 +141,10 @@ GType games_generic_game_get_type (void) G_GNUC_CONST; GType games_title_get_type (void) G_GNUC_CONST; #define GAMES_GENERIC_GAME_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_GENERIC_GAME, GamesGenericGamePrivate)) +enum { + GAMES_GENERIC_GAME_0_PROPERTY, + GAMES_GENERIC_GAME_NAME_PROPERTY +}; GamesGenericGame* games_generic_game_new (GamesTitle* title, GamesIcon* icon, GamesCover* cover, GamesRunner* runner); GamesGenericGame* games_generic_game_construct (GType object_type, GamesTitle* title, GamesIcon* icon, GamesCover* cover, GamesRunner* runner); static GamesIcon* games_generic_game_real_get_icon (GamesGame* base); @@ -303,7 +301,7 @@ g_type_class_add_private (klass, sizeof (GamesGenericGamePrivate)); G_OBJECT_CLASS (klass)->get_property = _vala_games_generic_game_get_property; G_OBJECT_CLASS (klass)->finalize = games_generic_game_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_GENERIC_GAME_NAME_PROPERTY, games_generic_game_properties[GAMES_GENERIC_GAME_NAME_PROPERTY] = g_param_spec_string ("name", "name", "name", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_GENERIC_GAME_NAME_PROPERTY, g_param_spec_string ("name", "name", "name", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); } diff -Nru gnome-games-app-3.26.2/src/generic/generic-game-uri-adapter.c gnome-games-app-3.28.0/src/generic/generic-game-uri-adapter.c --- gnome-games-app-3.26.2/src/generic/generic-game-uri-adapter.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/generic/generic-game-uri-adapter.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* generic-game-uri-adapter.c generated by valac 0.38.2, the Vala compiler +/* generic-game-uri-adapter.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from generic-game-uri-adapter.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -81,11 +81,6 @@ typedef struct _GamesGenericGameUriAdapter GamesGenericGameUriAdapter; typedef struct _GamesGenericGameUriAdapterClass GamesGenericGameUriAdapterClass; typedef struct _GamesGenericGameUriAdapterPrivate GamesGenericGameUriAdapterPrivate; -enum { - GAMES_GENERIC_GAME_URI_ADAPTER_DUMMY_PROPERTY, - GAMES_GENERIC_GAME_URI_ADAPTER_LAST_PROPERTY -}; -static GParamSpec* games_generic_game_uri_adapter_properties[GAMES_GENERIC_GAME_URI_ADAPTER_LAST_PROPERTY]; #define _games_uri_unref0(var) ((var == NULL) ? NULL : (var = (games_uri_unref (var), NULL))) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) typedef struct _GamesGenericGameUriAdapterGameForUriData GamesGenericGameUriAdapterGameForUriData; @@ -182,6 +177,9 @@ GType games_game_uri_adapter_get_type (void) G_GNUC_CONST; GType games_generic_game_uri_adapter_get_type (void) G_GNUC_CONST; #define GAMES_GENERIC_GAME_URI_ADAPTER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_GENERIC_GAME_URI_ADAPTER, GamesGenericGameUriAdapterPrivate)) +enum { + GAMES_GENERIC_GAME_URI_ADAPTER_0_PROPERTY +}; GamesGenericGameUriAdapter* games_generic_game_uri_adapter_new (GamesGenericGameUriAdapterGameForUri callback, void* callback_target, GDestroyNotify callback_target_destroy_notify); GamesGenericGameUriAdapter* games_generic_game_uri_adapter_construct (GType object_type, GamesGenericGameUriAdapterGameForUri callback, void* callback_target, GDestroyNotify callback_target_destroy_notify); static void games_generic_game_uri_adapter_real_game_for_uri_data_free (gpointer _data); diff -Nru gnome-games-app-3.26.2/src/generic/generic-title.c gnome-games-app-3.28.0/src/generic/generic-title.c --- gnome-games-app-3.26.2/src/generic/generic-title.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/generic/generic-title.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* generic-title.c generated by valac 0.38.2, the Vala compiler +/* generic-title.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from generic-title.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -27,11 +27,6 @@ typedef struct _GamesGenericTitle GamesGenericTitle; typedef struct _GamesGenericTitleClass GamesGenericTitleClass; typedef struct _GamesGenericTitlePrivate GamesGenericTitlePrivate; -enum { - GAMES_GENERIC_TITLE_DUMMY_PROPERTY, - GAMES_GENERIC_TITLE_LAST_PROPERTY -}; -static GParamSpec* games_generic_title_properties[GAMES_GENERIC_TITLE_LAST_PROPERTY]; #define _g_free0(var) (var = (g_free (var), NULL)) struct _GamesTitleIface { @@ -59,6 +54,9 @@ GType games_title_get_type (void) G_GNUC_CONST; GType games_generic_title_get_type (void) G_GNUC_CONST; #define GAMES_GENERIC_TITLE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_GENERIC_TITLE, GamesGenericTitlePrivate)) +enum { + GAMES_GENERIC_TITLE_0_PROPERTY +}; GamesGenericTitle* games_generic_title_new (const gchar* title); GamesGenericTitle* games_generic_title_construct (GType object_type, const gchar* title); static gchar* games_generic_title_real_get_title (GamesTitle* base, GError** error); diff -Nru gnome-games-app-3.26.2/src/generic/generic-uid.c gnome-games-app-3.28.0/src/generic/generic-uid.c --- gnome-games-app-3.26.2/src/generic/generic-uid.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/generic/generic-uid.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* generic-uid.c generated by valac 0.38.2, the Vala compiler +/* generic-uid.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from generic-uid.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -27,11 +27,6 @@ typedef struct _GamesGenericUid GamesGenericUid; typedef struct _GamesGenericUidClass GamesGenericUidClass; typedef struct _GamesGenericUidPrivate GamesGenericUidPrivate; -enum { - GAMES_GENERIC_UID_DUMMY_PROPERTY, - GAMES_GENERIC_UID_LAST_PROPERTY -}; -static GParamSpec* games_generic_uid_properties[GAMES_GENERIC_UID_LAST_PROPERTY]; #define _g_free0(var) (var = (g_free (var), NULL)) struct _GamesUidIface { @@ -59,6 +54,9 @@ GType games_uid_get_type (void) G_GNUC_CONST; GType games_generic_uid_get_type (void) G_GNUC_CONST; #define GAMES_GENERIC_UID_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_GENERIC_UID, GamesGenericUidPrivate)) +enum { + GAMES_GENERIC_UID_0_PROPERTY +}; GamesGenericUid* games_generic_uid_new (const gchar* uid); GamesGenericUid* games_generic_uid_construct (GType object_type, const gchar* uid); static gchar* games_generic_uid_real_get_uid (GamesUid* base, GError** error); diff -Nru gnome-games-app-3.26.2/src/generic/generic-uri-game-factory.c gnome-games-app-3.28.0/src/generic/generic-uri-game-factory.c --- gnome-games-app-3.26.2/src/generic/generic-uri-game-factory.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/generic/generic-uri-game-factory.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* generic-uri-game-factory.c generated by valac 0.38.2, the Vala compiler +/* generic-uri-game-factory.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from generic-uri-game-factory.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -89,11 +89,6 @@ typedef struct _GamesGameUriAdapter GamesGameUriAdapter; typedef struct _GamesGameUriAdapterIface GamesGameUriAdapterIface; -enum { - GAMES_GENERIC_URI_GAME_FACTORY_DUMMY_PROPERTY, - GAMES_GENERIC_URI_GAME_FACTORY_LAST_PROPERTY -}; -static GParamSpec* games_generic_uri_game_factory_properties[GAMES_GENERIC_URI_GAME_FACTORY_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_hash_table_unref0(var) ((var == NULL) ? NULL : (var = (g_hash_table_unref (var), NULL))) #define _games_uri_unref0(var) ((var == NULL) ? NULL : (var = (games_uri_unref (var), NULL))) @@ -268,6 +263,9 @@ GType games_generic_uri_game_factory_get_type (void) G_GNUC_CONST; GType games_game_uri_adapter_get_type (void) G_GNUC_CONST; #define GAMES_GENERIC_URI_GAME_FACTORY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_GENERIC_URI_GAME_FACTORY, GamesGenericUriGameFactoryPrivate)) +enum { + GAMES_GENERIC_URI_GAME_FACTORY_0_PROPERTY +}; #define GAMES_GENERIC_URI_GAME_FACTORY_GAMES_PER_CYCLE ((guint) 4) GamesGenericUriGameFactory* games_generic_uri_game_factory_new (GamesGameUriAdapter* game_uri_adapter); GamesGenericUriGameFactory* games_generic_uri_game_factory_construct (GType object_type, GamesGameUriAdapter* game_uri_adapter); diff -Nru gnome-games-app-3.26.2/src/gnome-games.vapi gnome-games-app-3.28.0/src/gnome-games.vapi --- gnome-games-app-3.26.2/src/gnome-games.vapi 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/gnome-games.vapi 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* gnome-games.vapi generated by valac 0.38.2, do not modify. */ +/* gnome-games.vapi generated by valac 0.36.12.13-3ae08, do not modify. */ namespace Games { namespace Credits { diff -Nru gnome-games-app-3.26.2/src/grilo/grilo-cover.c gnome-games-app-3.28.0/src/grilo/grilo-cover.c --- gnome-games-app-3.26.2/src/grilo/grilo-cover.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/grilo/grilo-cover.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* grilo-cover.c generated by valac 0.38.2, the Vala compiler +/* grilo-cover.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from grilo-cover.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -49,11 +49,6 @@ typedef struct _GamesUid GamesUid; typedef struct _GamesUidIface GamesUidIface; -enum { - GAMES_GRILO_COVER_DUMMY_PROPERTY, - GAMES_GRILO_COVER_LAST_PROPERTY -}; -static GParamSpec* games_grilo_cover_properties[GAMES_GRILO_COVER_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) #define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) @@ -146,6 +141,9 @@ GType games_grilo_media_get_type (void) G_GNUC_CONST; GType games_uid_get_type (void) G_GNUC_CONST; #define GAMES_GRILO_COVER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_GRILO_COVER, GamesGriloCoverPrivate)) +enum { + GAMES_GRILO_COVER_0_PROPERTY +}; GamesGriloCover* games_grilo_cover_new (GamesGriloMedia* media, GamesUid* uid); GamesGriloCover* games_grilo_cover_construct (GType object_type, GamesGriloMedia* media, GamesUid* uid); static void games_grilo_cover_on_media_resolved (GamesGriloCover* self); @@ -171,8 +169,8 @@ static Block1Data* block1_data_ref (Block1Data* _data1_); static void block1_data_unref (void * _userdata_); void games_application_try_make_dir (const gchar* path); -static void __lambda26_ (Block1Data* _data1_, SoupSession* sess, SoupMessage* mess); -static void ___lambda26__soup_session_callback (SoupSession* session, SoupMessage* msg, gpointer self); +static void __lambda22_ (Block1Data* _data1_, SoupSession* sess, SoupMessage* mess); +static void ___lambda22__soup_session_callback (SoupSession* session, SoupMessage* msg, gpointer self); static void games_grilo_cover_finalize (GObject * obj); @@ -578,7 +576,7 @@ } -static void __lambda26_ (Block1Data* _data1_, SoupSession* sess, SoupMessage* mess) { +static void __lambda22_ (Block1Data* _data1_, SoupSession* sess, SoupMessage* mess) { GamesGriloCover* self; SoupMessage* _tmp0_; guint _tmp1_; @@ -651,8 +649,8 @@ } -static void ___lambda26__soup_session_callback (SoupSession* session, SoupMessage* msg, gpointer self) { - __lambda26_ (self, session, msg); +static void ___lambda22__soup_session_callback (SoupSession* session, SoupMessage* msg, gpointer self) { + __lambda22_ (self, session, msg); block1_data_unref (self); } @@ -693,7 +691,7 @@ _data_->_tmp6_ = _data_->session; _data_->_tmp7_ = _data_->message; _data_->_tmp8_ = _g_object_ref0 (_data_->_tmp7_); - soup_session_queue_message (_data_->_tmp6_, _data_->_tmp8_, ___lambda26__soup_session_callback, block1_data_ref (_data_->_data1_)); + soup_session_queue_message (_data_->_tmp6_, _data_->_tmp8_, ___lambda22__soup_session_callback, block1_data_ref (_data_->_data1_)); _g_object_unref0 (_data_->message); _g_object_unref0 (_data_->session); _g_free0 (_data_->dir); diff -Nru gnome-games-app-3.26.2/src/grilo/grilo-media.c gnome-games-app-3.28.0/src/grilo/grilo-media.c --- gnome-games-app-3.26.2/src/grilo/grilo-media.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/grilo/grilo-media.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* grilo-media.c generated by valac 0.38.2, the Vala compiler +/* grilo-media.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from grilo-media.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -28,20 +28,15 @@ typedef struct _GamesTitle GamesTitle; typedef struct _GamesTitleIface GamesTitleIface; -enum { - GAMES_GRILO_MEDIA_DUMMY_PROPERTY, - GAMES_GRILO_MEDIA_LAST_PROPERTY -}; -static GParamSpec* games_grilo_media_properties[GAMES_GRILO_MEDIA_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) #define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) #define _g_list_free0(var) ((var == NULL) ? NULL : (var = (g_list_free (var), NULL))) enum { GAMES_GRILO_MEDIA_RESOLVED_SIGNAL, - GAMES_GRILO_MEDIA_LAST_SIGNAL + GAMES_GRILO_MEDIA_NUM_SIGNALS }; -static guint games_grilo_media_signals[GAMES_GRILO_MEDIA_LAST_SIGNAL] = {0}; +static guint games_grilo_media_signals[GAMES_GRILO_MEDIA_NUM_SIGNALS] = {0}; struct _GamesGriloMedia { GObject parent_instance; @@ -72,6 +67,9 @@ GType games_grilo_media_get_type (void) G_GNUC_CONST; GType games_title_get_type (void) G_GNUC_CONST; #define GAMES_GRILO_MEDIA_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_GRILO_MEDIA, GamesGriloMediaPrivate)) +enum { + GAMES_GRILO_MEDIA_0_PROPERTY +}; GamesGriloMedia* games_grilo_media_new (GamesTitle* title, const gchar* mime_type); GamesGriloMedia* games_grilo_media_construct (GType object_type, GamesTitle* title, const gchar* mime_type); static GrlRegistry* games_grilo_media_get_registry (GError** error); diff -Nru gnome-games-app-3.26.2/src/libgnome-games.h gnome-games-app-3.28.0/src/libgnome-games.h --- gnome-games-app-3.26.2/src/libgnome-games.h 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/libgnome-games.h 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* libgnome-games.h generated by valac 0.38.2, the Vala compiler, do not modify */ +/* libgnome-games.h generated by valac 0.36.12.13-3ae08, the Vala compiler, do not modify */ #ifndef __LIBGNOME_GAMES_H__ diff -Nru gnome-games-app-3.26.2/src/main.c gnome-games-app-3.28.0/src/main.c --- gnome-games-app-3.26.2/src/main.c 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/main.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* main.c generated by valac 0.38.2, the Vala compiler +/* main.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from main.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -58,6 +58,9 @@ int main (int argc, char ** argv) { +#if !GLIB_CHECK_VERSION (2,35,0) + g_type_init (); +#endif return _vala_main (argv, argc); } diff -Nru gnome-games-app-3.26.2/src/Makefile.am gnome-games-app-3.28.0/src/Makefile.am --- gnome-games-app-3.26.2/src/Makefile.am 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/src/Makefile.am 2018-03-12 14:10:38.000000000 +0000 @@ -23,28 +23,8 @@ EXTRA_DIST = \ $(gresource_file) \ - event/event.h \ - event/event.vapi \ - event/event-codes.vapi \ - event/linux/input-event-codes.h \ - gamepad/gamepad.h \ - gamepad/gamepad.vapi \ - gamepad/gamepad-dpad.h \ - gamepad/gamepad-dpad.vapi \ - gamepad/gamepad-input.h \ - gamepad/gamepad-input.vapi \ - gamepad/gamepad-mapping.h \ - gamepad/gamepad-mapping.vapi \ - gamepad/gamepad-mapping-error.h \ - gamepad/gamepad-mappings-manager.h \ - gamepad/gamepad-mappings-manager.vapi \ - gamepad/gamepad-monitor.h \ - gamepad/gamepad-monitor.vapi \ - gamepad/linux/linux-raw-gamepad.h \ - gamepad/linux/linux-raw-gamepad-monitor.h \ - gamepad/raw-gamepad.h \ - gamepad/raw-gamepad.vapi \ - gamepad/raw-gamepad-monitor.h \ + gamepad/event-codes.vapi \ + gamepad/linux/input-event-codes.h \ $(NULL) header_file = libgnome-games.h @@ -90,24 +70,15 @@ dummy/dummy-icon.vala \ dummy/dummy-runner.vala \ \ - event/event.c \ - \ gameinfo/gameinfo-doc.vala \ gameinfo/gameinfo-error.vala \ gameinfo/gameinfo-disc-id-disc-title.vala \ gameinfo/gameinfo-disc-id-game-title.vala \ gameinfo/gameinfo-disc-id-input-capabilities.vala \ \ - gamepad/gamepad.c \ - gamepad/gamepad-dpad.c \ - gamepad/gamepad-input.c \ + gamepad/gamepad-dpad.vala \ + gamepad/gamepad-input.vala \ gamepad/gamepad-mapping-builder.vala \ - gamepad/gamepad-mapping.c \ - gamepad/gamepad-mapping-error.c \ - gamepad/gamepad-mappings-manager.c \ - gamepad/gamepad-monitor.c \ - gamepad/raw-gamepad.c \ - gamepad/raw-gamepad-monitor.c \ \ generic/generic-game.vala \ generic/generic-game-uri-adapter.vala \ @@ -193,59 +164,31 @@ $(BUILT_SOURCES) \ $(NULL) -if ENABLE_GAMEPADS -gnome_games_SOURCES += \ - gamepad/linux/linux-raw-gamepad.c \ - $(NULL) - -if ENABLE_UDEV -gnome_games_SOURCES += \ - gamepad/linux/linux-raw-gamepad-monitor.c \ - $(NULL) -else -gnome_games_SOURCES += \ - gamepad/linux/linux-raw-gamepad-monitor-fallback.c \ - $(NULL) -endif -endif - gnome_games_VALAFLAGS = \ --target-glib=@GLIB_MIN_VERSION@ \ --pkg gio-2.0 \ --pkg glib-2.0 \ --pkg grilo-0.3 \ --pkg gtk+-3.0 \ + --pkg manette-0.2 \ --pkg librsvg-2.0 \ --pkg libsoup-2.4 \ --pkg libxml-2.0 \ --pkg sqlite3 \ --pkg tracker-sparql-2.0 \ - --pkg retro-gtk-0.12 \ + --pkg retro-gtk-0.14 \ --pkg linux \ --pkg posix \ - --pkg event \ --pkg event-codes \ - --pkg gamepad \ - --pkg gamepad-dpad \ - --pkg gamepad-input \ - --pkg gamepad-mapping \ - --pkg gamepad-mappings-manager \ - --pkg gamepad-monitor \ - --pkg raw-gamepad \ --gresources $(gresource_file) \ --vapi $(vapi_file) \ - --vapidir=event/ \ --vapidir=gamepad/ \ -H $(header_file) \ $(NULL) gnome_games_CFLAGS = \ $(GNOME_GAMES_CFLAGS) \ - $(GAMEPADS_CFLAGS) \ - $(UDEV_CFLAGS) \ - -I$(srcdir)/event \ -I$(srcdir)/gamepad \ - -I$(srcdir)/gamepad/linux \ -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \ -DGAMES_PLUGINS_DIR=\"$(libdir)/gnome-games/plugins\" \ $(NULL) @@ -254,22 +197,8 @@ -DRETRO_GTK_USE_UNSTABLE_API \ $(NULL) -if ENABLE_GAMEPADS -gnome_games_CPPFLAGS += \ - -DENABLE_LINUX_GAMEPADS \ - $(NULL) -endif - -if ENABLE_UDEV -gnome_games_CPPFLAGS += \ - -DENABLE_UDEV \ - $(NULL) -endif - gnome_games_LDADD = \ $(GNOME_GAMES_LIBS) \ - $(GAMEPADS_LIBS) \ - $(UDEV_LIBS) \ $(NULL) gnome_gamesincludedir = $(includedir) diff -Nru gnome-games-app-3.26.2/src/Makefile.in gnome-games-app-3.28.0/src/Makefile.in --- gnome-games-app-3.26.2/src/Makefile.in 2017-11-07 18:59:11.000000000 +0000 +++ gnome-games-app-3.28.0/src/Makefile.in 2018-03-12 14:56:38.000000000 +0000 @@ -91,26 +91,6 @@ build_triplet = @build@ host_triplet = @host@ bin_PROGRAMS = gnome-games$(EXEEXT) -@ENABLE_GAMEPADS_TRUE@am__append_1 = \ -@ENABLE_GAMEPADS_TRUE@ gamepad/linux/linux-raw-gamepad.c \ -@ENABLE_GAMEPADS_TRUE@ $(NULL) - -@ENABLE_GAMEPADS_TRUE@@ENABLE_UDEV_TRUE@am__append_2 = \ -@ENABLE_GAMEPADS_TRUE@@ENABLE_UDEV_TRUE@ gamepad/linux/linux-raw-gamepad-monitor.c \ -@ENABLE_GAMEPADS_TRUE@@ENABLE_UDEV_TRUE@ $(NULL) - -@ENABLE_GAMEPADS_TRUE@@ENABLE_UDEV_FALSE@am__append_3 = \ -@ENABLE_GAMEPADS_TRUE@@ENABLE_UDEV_FALSE@ gamepad/linux/linux-raw-gamepad-monitor-fallback.c \ -@ENABLE_GAMEPADS_TRUE@@ENABLE_UDEV_FALSE@ $(NULL) - -@ENABLE_GAMEPADS_TRUE@am__append_4 = \ -@ENABLE_GAMEPADS_TRUE@ -DENABLE_LINUX_GAMEPADS \ -@ENABLE_GAMEPADS_TRUE@ $(NULL) - -@ENABLE_UDEV_TRUE@am__append_5 = \ -@ENABLE_UDEV_TRUE@ -DENABLE_UDEV \ -@ENABLE_UDEV_TRUE@ $(NULL) - subdir = src ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 am__aclocal_m4_deps = $(top_srcdir)/plugins/desktop/configure.ac \ @@ -137,82 +117,8 @@ am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(vapidir)" \ "$(DESTDIR)$(gnome_gamesincludedir)" PROGRAMS = $(bin_PROGRAMS) -am__gnome_games_SOURCES_DIST = command/command-error.vala \ - command/command-runner.vala core/cover.vala core/game.vala \ - core/game-callback.vala core/game-collection.vala \ - core/game-uri-adapter.vala core/icon.vala \ - core/input-capabilities.vala core/media.vala \ - core/media-info.vala core/media-set/media-set.vala \ - core/media-set/media-set-error.vala core/plugin.vala \ - core/plugin-register.vala core/plugin-register-iterator.vala \ - core/plugin-registrar.vala core/runner.vala core/title.vala \ - core/uid.vala core/uri-game-factory.vala \ - core/uri-iterator.vala core/uri-source.vala \ - database/database.vala database/database-error.vala \ - database/database-uri-iterator.vala \ - database/database-uri-source.vala dummy/dummy-cover.vala \ - dummy/dummy-game.vala dummy/dummy-icon.vala \ - dummy/dummy-runner.vala event/event.c \ - gameinfo/gameinfo-doc.vala gameinfo/gameinfo-error.vala \ - gameinfo/gameinfo-disc-id-disc-title.vala \ - gameinfo/gameinfo-disc-id-game-title.vala \ - gameinfo/gameinfo-disc-id-input-capabilities.vala \ - gamepad/gamepad.c gamepad/gamepad-dpad.c \ - gamepad/gamepad-input.c gamepad/gamepad-mapping-builder.vala \ - gamepad/gamepad-mapping.c gamepad/gamepad-mapping-error.c \ - gamepad/gamepad-mappings-manager.c gamepad/gamepad-monitor.c \ - gamepad/raw-gamepad.c gamepad/raw-gamepad-monitor.c \ - generic/generic-game.vala \ - generic/generic-game-uri-adapter.vala \ - generic/generic-title.vala generic/generic-uid.vala \ - generic/generic-uri-game-factory.vala grilo/grilo-cover.vala \ - grilo/grilo-media.vala retro/retro-core-source.vala \ - retro/retro-error.vala retro/retro-gamepad.vala \ - retro/retro-input-manager.vala retro/retro-platform.vala \ - retro/retro-runner.vala \ - retro/retro-simple-game-uri-adapter.vala \ - retro/retro-simple-type.vala retro/retro-simple-types.vala \ - tracker/mime-type-tracker-uri-query.vala \ - tracker/tracker-error.vala tracker/tracker-uri-iterator.vala \ - tracker/tracker-uri-query.vala tracker/tracker-uri-source.vala \ - ui/application.vala ui/application-window.vala \ - ui/checkmark-item.vala ui/collection-box.vala \ - ui/collection-icon-view.vala ui/collection-header-bar.vala \ - ui/display-box.vala ui/display-header-bar.vala \ - ui/dummy-display.vala ui/empty-collection.vala \ - ui/error-display.vala ui/error-info-bar.vala \ - ui/gamepad-configurer.vala ui/gamepad-mapper.vala \ - ui/gamepad-tester.vala ui/gamepad-view.vala \ - ui/game-icon-view.vala ui/game-thumbnail.vala \ - ui/gamepad-view-configuration.vala ui/media-selector.vala \ - ui/media-menu-button.vala ui/preferences-page.vala \ - ui/preferences-page-controllers.vala \ - ui/preferences-page-plugins.vala \ - ui/preferences-page-plugins-item.vala \ - ui/preferences-page-video.vala ui/preferences-window.vala \ - ui/quit-dialog.vala ui/remote-display.vala \ - ui/reset-gamepad-mapping-dialog.vala ui/resume-dialog.vala \ - ui/resume-failed-dialog.vala ui/search-bar.vala \ - ui/ui-state.vala utils/composite-cover.vala \ - utils/composite-title.vala utils/cue-sheet/cue-sheet.vala \ - utils/cue-sheet/cue-sheet-error.vala \ - utils/cue-sheet/cue-sheet-file-format.vala \ - utils/cue-sheet/cue-sheet-file-node.vala \ - utils/cue-sheet/cue-sheet-track-mode.vala \ - utils/cue-sheet/cue-sheet-track-node.vala utils/directory.vala \ - utils/filename-title.vala utils/fingerprint.vala \ - utils/grep.vala utils/local-cover.vala \ - utils/string-input-stream.vala utils/uri.vala \ - utils/uri-error.vala utils/xml-doc.vala config.vala \ - credits.vala main.vala resources.c \ - gamepad/linux/linux-raw-gamepad.c \ - gamepad/linux/linux-raw-gamepad-monitor.c \ - gamepad/linux/linux-raw-gamepad-monitor-fallback.c am__dirstamp = $(am__leading_dot)dirstamp am__objects_1 = gnome_games-resources.$(OBJEXT) -@ENABLE_GAMEPADS_TRUE@am__objects_2 = gamepad/linux/gnome_games-linux-raw-gamepad.$(OBJEXT) -@ENABLE_GAMEPADS_TRUE@@ENABLE_UDEV_TRUE@am__objects_3 = gamepad/linux/gnome_games-linux-raw-gamepad-monitor.$(OBJEXT) -@ENABLE_GAMEPADS_TRUE@@ENABLE_UDEV_FALSE@am__objects_4 = gamepad/linux/gnome_games-linux-raw-gamepad-monitor-fallback.$(OBJEXT) am_gnome_games_OBJECTS = command/gnome_games-command-error.$(OBJEXT) \ command/gnome_games-command-runner.$(OBJEXT) \ core/gnome_games-cover.$(OBJEXT) \ @@ -244,22 +150,14 @@ dummy/gnome_games-dummy-game.$(OBJEXT) \ dummy/gnome_games-dummy-icon.$(OBJEXT) \ dummy/gnome_games-dummy-runner.$(OBJEXT) \ - event/gnome_games-event.$(OBJEXT) \ gameinfo/gnome_games-gameinfo-doc.$(OBJEXT) \ gameinfo/gnome_games-gameinfo-error.$(OBJEXT) \ gameinfo/gnome_games-gameinfo-disc-id-disc-title.$(OBJEXT) \ gameinfo/gnome_games-gameinfo-disc-id-game-title.$(OBJEXT) \ gameinfo/gnome_games-gameinfo-disc-id-input-capabilities.$(OBJEXT) \ - gamepad/gnome_games-gamepad.$(OBJEXT) \ gamepad/gnome_games-gamepad-dpad.$(OBJEXT) \ gamepad/gnome_games-gamepad-input.$(OBJEXT) \ gamepad/gnome_games-gamepad-mapping-builder.$(OBJEXT) \ - gamepad/gnome_games-gamepad-mapping.$(OBJEXT) \ - gamepad/gnome_games-gamepad-mapping-error.$(OBJEXT) \ - gamepad/gnome_games-gamepad-mappings-manager.$(OBJEXT) \ - gamepad/gnome_games-gamepad-monitor.$(OBJEXT) \ - gamepad/gnome_games-raw-gamepad.$(OBJEXT) \ - gamepad/gnome_games-raw-gamepad-monitor.$(OBJEXT) \ generic/gnome_games-generic-game.$(OBJEXT) \ generic/gnome_games-generic-game-uri-adapter.$(OBJEXT) \ generic/gnome_games-generic-title.$(OBJEXT) \ @@ -333,12 +231,10 @@ utils/gnome_games-uri-error.$(OBJEXT) \ utils/gnome_games-xml-doc.$(OBJEXT) \ gnome_games-config.$(OBJEXT) gnome_games-credits.$(OBJEXT) \ - gnome_games-main.$(OBJEXT) $(am__objects_1) $(am__objects_2) \ - $(am__objects_3) $(am__objects_4) + gnome_games-main.$(OBJEXT) $(am__objects_1) gnome_games_OBJECTS = $(am_gnome_games_OBJECTS) am__DEPENDENCIES_1 = -gnome_games_DEPENDENCIES = $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \ - $(am__DEPENDENCIES_1) +gnome_games_DEPENDENCIES = $(am__DEPENDENCIES_1) AM_V_lt = $(am__v_lt_@AM_V@) am__v_lt_ = $(am__v_lt_@AM_DEFAULT_V@) am__v_lt_0 = --silent @@ -389,7 +285,7 @@ am__v_VALAC_0 = @echo " VALAC " $@; am__v_VALAC_1 = SOURCES = $(gnome_games_SOURCES) -DIST_SOURCES = $(am__gnome_games_SOURCES_DIST) +DIST_SOURCES = $(gnome_games_SOURCES) am__can_run_installinfo = \ case $$AM_UPDATE_INFO_DIR in \ n|no|NO) false;; \ @@ -462,6 +358,7 @@ gameinfo/gameinfo-disc-id-game-title.c \ gameinfo/gameinfo-disc-id-input-capabilities.c \ gameinfo/gameinfo-doc.c gameinfo/gameinfo-error.c \ + gamepad/gamepad-dpad.c gamepad/gamepad-input.c \ gamepad/gamepad-mapping-builder.c \ generic/generic-game-uri-adapter.c generic/generic-game.c \ generic/generic-title.c generic/generic-uid.c \ @@ -529,8 +426,6 @@ EGREP = @EGREP@ EXEEXT = @EXEEXT@ FGREP = @FGREP@ -GAMEPADS_CFLAGS = @GAMEPADS_CFLAGS@ -GAMEPADS_LIBS = @GAMEPADS_LIBS@ GAME_CUBE_PLUGIN_CFLAGS = @GAME_CUBE_PLUGIN_CFLAGS@ GAME_CUBE_PLUGIN_LIBS = @GAME_CUBE_PLUGIN_LIBS@ GETTEXT_PACKAGE = @GETTEXT_PACKAGE@ @@ -570,6 +465,7 @@ MAKEINFO = @MAKEINFO@ MAME_PLUGIN_CFLAGS = @MAME_PLUGIN_CFLAGS@ MAME_PLUGIN_LIBS = @MAME_PLUGIN_LIBS@ +MANETTE_MIN_VERSION = @MANETTE_MIN_VERSION@ MANIFEST_TOOL = @MANIFEST_TOOL@ MKDIR_P = @MKDIR_P@ MSGFMT = @MSGFMT@ @@ -596,6 +492,7 @@ PSX_PLUGIN_CFLAGS = @PSX_PLUGIN_CFLAGS@ PSX_PLUGIN_LIBS = @PSX_PLUGIN_LIBS@ RANLIB = @RANLIB@ +RETRO_GTK_MIN_VERSION = @RETRO_GTK_MIN_VERSION@ SED = @SED@ SEGA_CD_PLUGIN_CFLAGS = @SEGA_CD_PLUGIN_CFLAGS@ SEGA_CD_PLUGIN_LIBS = @SEGA_CD_PLUGIN_LIBS@ @@ -608,8 +505,6 @@ STRIP = @STRIP@ TURBOGRAFX_CD_PLUGIN_CFLAGS = @TURBOGRAFX_CD_PLUGIN_CFLAGS@ TURBOGRAFX_CD_PLUGIN_LIBS = @TURBOGRAFX_CD_PLUGIN_LIBS@ -UDEV_CFLAGS = @UDEV_CFLAGS@ -UDEV_LIBS = @UDEV_LIBS@ USE_NLS = @USE_NLS@ VALAC = @VALAC@ VERSION = @VERSION@ @@ -685,150 +580,179 @@ EXTRA_DIST = \ $(gresource_file) \ - event/event.h \ - event/event.vapi \ - event/event-codes.vapi \ - event/linux/input-event-codes.h \ - gamepad/gamepad.h \ - gamepad/gamepad.vapi \ - gamepad/gamepad-dpad.h \ - gamepad/gamepad-dpad.vapi \ - gamepad/gamepad-input.h \ - gamepad/gamepad-input.vapi \ - gamepad/gamepad-mapping.h \ - gamepad/gamepad-mapping.vapi \ - gamepad/gamepad-mapping-error.h \ - gamepad/gamepad-mappings-manager.h \ - gamepad/gamepad-mappings-manager.vapi \ - gamepad/gamepad-monitor.h \ - gamepad/gamepad-monitor.vapi \ - gamepad/linux/linux-raw-gamepad.h \ - gamepad/linux/linux-raw-gamepad-monitor.h \ - gamepad/raw-gamepad.h \ - gamepad/raw-gamepad.vapi \ - gamepad/raw-gamepad-monitor.h \ + gamepad/event-codes.vapi \ + gamepad/linux/input-event-codes.h \ $(NULL) header_file = libgnome-games.h vapi_file = gnome-games.vapi vapidir = $(datadir)/vala/vapi dist_vapi_DATA = $(vapi_file) -gnome_games_SOURCES = command/command-error.vala \ - command/command-runner.vala core/cover.vala core/game.vala \ - core/game-callback.vala core/game-collection.vala \ - core/game-uri-adapter.vala core/icon.vala \ - core/input-capabilities.vala core/media.vala \ - core/media-info.vala core/media-set/media-set.vala \ - core/media-set/media-set-error.vala core/plugin.vala \ - core/plugin-register.vala core/plugin-register-iterator.vala \ - core/plugin-registrar.vala core/runner.vala core/title.vala \ - core/uid.vala core/uri-game-factory.vala \ - core/uri-iterator.vala core/uri-source.vala \ - database/database.vala database/database-error.vala \ +gnome_games_SOURCES = \ + command/command-error.vala \ + command/command-runner.vala \ + \ + core/cover.vala \ + core/game.vala \ + core/game-callback.vala \ + core/game-collection.vala \ + core/game-uri-adapter.vala \ + core/icon.vala \ + core/input-capabilities.vala \ + core/media.vala \ + core/media-info.vala \ + core/media-set/media-set.vala \ + core/media-set/media-set-error.vala \ + core/plugin.vala \ + core/plugin-register.vala \ + core/plugin-register-iterator.vala \ + core/plugin-registrar.vala \ + core/runner.vala \ + core/title.vala \ + core/uid.vala \ + core/uri-game-factory.vala \ + core/uri-iterator.vala \ + core/uri-source.vala \ + \ + database/database.vala \ + database/database-error.vala \ database/database-uri-iterator.vala \ - database/database-uri-source.vala dummy/dummy-cover.vala \ - dummy/dummy-game.vala dummy/dummy-icon.vala \ - dummy/dummy-runner.vala event/event.c \ - gameinfo/gameinfo-doc.vala gameinfo/gameinfo-error.vala \ + database/database-uri-source.vala \ + \ + dummy/dummy-cover.vala \ + dummy/dummy-game.vala \ + dummy/dummy-icon.vala \ + dummy/dummy-runner.vala \ + \ + gameinfo/gameinfo-doc.vala \ + gameinfo/gameinfo-error.vala \ gameinfo/gameinfo-disc-id-disc-title.vala \ gameinfo/gameinfo-disc-id-game-title.vala \ gameinfo/gameinfo-disc-id-input-capabilities.vala \ - gamepad/gamepad.c gamepad/gamepad-dpad.c \ - gamepad/gamepad-input.c gamepad/gamepad-mapping-builder.vala \ - gamepad/gamepad-mapping.c gamepad/gamepad-mapping-error.c \ - gamepad/gamepad-mappings-manager.c gamepad/gamepad-monitor.c \ - gamepad/raw-gamepad.c gamepad/raw-gamepad-monitor.c \ + \ + gamepad/gamepad-dpad.vala \ + gamepad/gamepad-input.vala \ + gamepad/gamepad-mapping-builder.vala \ + \ generic/generic-game.vala \ generic/generic-game-uri-adapter.vala \ - generic/generic-title.vala generic/generic-uid.vala \ - generic/generic-uri-game-factory.vala grilo/grilo-cover.vala \ - grilo/grilo-media.vala retro/retro-core-source.vala \ - retro/retro-error.vala retro/retro-gamepad.vala \ - retro/retro-input-manager.vala retro/retro-platform.vala \ + generic/generic-title.vala \ + generic/generic-uid.vala \ + generic/generic-uri-game-factory.vala \ + \ + grilo/grilo-cover.vala \ + grilo/grilo-media.vala \ + \ + retro/retro-core-source.vala \ + retro/retro-error.vala \ + retro/retro-gamepad.vala \ + retro/retro-input-manager.vala \ + retro/retro-platform.vala \ retro/retro-runner.vala \ retro/retro-simple-game-uri-adapter.vala \ - retro/retro-simple-type.vala retro/retro-simple-types.vala \ + retro/retro-simple-type.vala \ + retro/retro-simple-types.vala \ + \ tracker/mime-type-tracker-uri-query.vala \ - tracker/tracker-error.vala tracker/tracker-uri-iterator.vala \ - tracker/tracker-uri-query.vala tracker/tracker-uri-source.vala \ - ui/application.vala ui/application-window.vala \ - ui/checkmark-item.vala ui/collection-box.vala \ - ui/collection-icon-view.vala ui/collection-header-bar.vala \ - ui/display-box.vala ui/display-header-bar.vala \ - ui/dummy-display.vala ui/empty-collection.vala \ - ui/error-display.vala ui/error-info-bar.vala \ - ui/gamepad-configurer.vala ui/gamepad-mapper.vala \ - ui/gamepad-tester.vala ui/gamepad-view.vala \ - ui/game-icon-view.vala ui/game-thumbnail.vala \ - ui/gamepad-view-configuration.vala ui/media-selector.vala \ - ui/media-menu-button.vala ui/preferences-page.vala \ + tracker/tracker-error.vala \ + tracker/tracker-uri-iterator.vala \ + tracker/tracker-uri-query.vala \ + tracker/tracker-uri-source.vala \ + \ + ui/application.vala \ + ui/application-window.vala \ + ui/checkmark-item.vala \ + ui/collection-box.vala \ + ui/collection-icon-view.vala \ + ui/collection-header-bar.vala \ + ui/display-box.vala \ + ui/display-header-bar.vala \ + ui/dummy-display.vala \ + ui/empty-collection.vala \ + ui/error-display.vala \ + ui/error-info-bar.vala \ + ui/gamepad-configurer.vala \ + ui/gamepad-mapper.vala \ + ui/gamepad-tester.vala \ + ui/gamepad-view.vala \ + ui/game-icon-view.vala \ + ui/game-thumbnail.vala \ + ui/gamepad-view-configuration.vala \ + ui/media-selector.vala \ + ui/media-menu-button.vala \ + ui/preferences-page.vala \ ui/preferences-page-controllers.vala \ ui/preferences-page-plugins.vala \ ui/preferences-page-plugins-item.vala \ - ui/preferences-page-video.vala ui/preferences-window.vala \ - ui/quit-dialog.vala ui/remote-display.vala \ - ui/reset-gamepad-mapping-dialog.vala ui/resume-dialog.vala \ - ui/resume-failed-dialog.vala ui/search-bar.vala \ - ui/ui-state.vala utils/composite-cover.vala \ - utils/composite-title.vala utils/cue-sheet/cue-sheet.vala \ + ui/preferences-page-video.vala \ + ui/preferences-window.vala \ + ui/quit-dialog.vala \ + ui/remote-display.vala \ + ui/reset-gamepad-mapping-dialog.vala \ + ui/resume-dialog.vala \ + ui/resume-failed-dialog.vala \ + ui/search-bar.vala \ + ui/ui-state.vala \ + \ + utils/composite-cover.vala \ + utils/composite-title.vala \ + utils/cue-sheet/cue-sheet.vala \ utils/cue-sheet/cue-sheet-error.vala \ utils/cue-sheet/cue-sheet-file-format.vala \ utils/cue-sheet/cue-sheet-file-node.vala \ utils/cue-sheet/cue-sheet-track-mode.vala \ - utils/cue-sheet/cue-sheet-track-node.vala utils/directory.vala \ - utils/filename-title.vala utils/fingerprint.vala \ - utils/grep.vala utils/local-cover.vala \ - utils/string-input-stream.vala utils/uri.vala \ - utils/uri-error.vala utils/xml-doc.vala config.vala \ - credits.vala main.vala $(BUILT_SOURCES) $(NULL) \ - $(am__append_1) $(am__append_2) $(am__append_3) + utils/cue-sheet/cue-sheet-track-node.vala \ + utils/directory.vala \ + utils/filename-title.vala \ + utils/fingerprint.vala \ + utils/grep.vala \ + utils/local-cover.vala \ + utils/string-input-stream.vala \ + utils/uri.vala \ + utils/uri-error.vala \ + utils/xml-doc.vala \ + \ + config.vala \ + credits.vala \ + main.vala \ + $(BUILT_SOURCES) \ + $(NULL) + gnome_games_VALAFLAGS = \ --target-glib=@GLIB_MIN_VERSION@ \ --pkg gio-2.0 \ --pkg glib-2.0 \ --pkg grilo-0.3 \ --pkg gtk+-3.0 \ + --pkg manette-0.2 \ --pkg librsvg-2.0 \ --pkg libsoup-2.4 \ --pkg libxml-2.0 \ --pkg sqlite3 \ --pkg tracker-sparql-2.0 \ - --pkg retro-gtk-0.12 \ + --pkg retro-gtk-0.14 \ --pkg linux \ --pkg posix \ - --pkg event \ --pkg event-codes \ - --pkg gamepad \ - --pkg gamepad-dpad \ - --pkg gamepad-input \ - --pkg gamepad-mapping \ - --pkg gamepad-mappings-manager \ - --pkg gamepad-monitor \ - --pkg raw-gamepad \ --gresources $(gresource_file) \ --vapi $(vapi_file) \ - --vapidir=event/ \ --vapidir=gamepad/ \ -H $(header_file) \ $(NULL) gnome_games_CFLAGS = \ $(GNOME_GAMES_CFLAGS) \ - $(GAMEPADS_CFLAGS) \ - $(UDEV_CFLAGS) \ - -I$(srcdir)/event \ -I$(srcdir)/gamepad \ - -I$(srcdir)/gamepad/linux \ -DGNOMELOCALEDIR=\""$(datadir)/locale"\" \ -DGAMES_PLUGINS_DIR=\"$(libdir)/gnome-games/plugins\" \ $(NULL) -gnome_games_CPPFLAGS = -DRETRO_GTK_USE_UNSTABLE_API $(NULL) \ - $(am__append_4) $(am__append_5) +gnome_games_CPPFLAGS = \ + -DRETRO_GTK_USE_UNSTABLE_API \ + $(NULL) + gnome_games_LDADD = \ $(GNOME_GAMES_LIBS) \ - $(GAMEPADS_LIBS) \ - $(UDEV_LIBS) \ $(NULL) gnome_gamesincludedir = $(includedir) @@ -1017,14 +941,6 @@ dummy/$(DEPDIR)/$(am__dirstamp) dummy/gnome_games-dummy-runner.$(OBJEXT): dummy/$(am__dirstamp) \ dummy/$(DEPDIR)/$(am__dirstamp) -event/$(am__dirstamp): - @$(MKDIR_P) event - @: > event/$(am__dirstamp) -event/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) event/$(DEPDIR) - @: > event/$(DEPDIR)/$(am__dirstamp) -event/gnome_games-event.$(OBJEXT): event/$(am__dirstamp) \ - event/$(DEPDIR)/$(am__dirstamp) gameinfo/$(am__dirstamp): @$(MKDIR_P) gameinfo @: > gameinfo/$(am__dirstamp) @@ -1047,26 +963,12 @@ gamepad/$(DEPDIR)/$(am__dirstamp): @$(MKDIR_P) gamepad/$(DEPDIR) @: > gamepad/$(DEPDIR)/$(am__dirstamp) -gamepad/gnome_games-gamepad.$(OBJEXT): gamepad/$(am__dirstamp) \ - gamepad/$(DEPDIR)/$(am__dirstamp) gamepad/gnome_games-gamepad-dpad.$(OBJEXT): gamepad/$(am__dirstamp) \ gamepad/$(DEPDIR)/$(am__dirstamp) gamepad/gnome_games-gamepad-input.$(OBJEXT): gamepad/$(am__dirstamp) \ gamepad/$(DEPDIR)/$(am__dirstamp) gamepad/gnome_games-gamepad-mapping-builder.$(OBJEXT): \ gamepad/$(am__dirstamp) gamepad/$(DEPDIR)/$(am__dirstamp) -gamepad/gnome_games-gamepad-mapping.$(OBJEXT): \ - gamepad/$(am__dirstamp) gamepad/$(DEPDIR)/$(am__dirstamp) -gamepad/gnome_games-gamepad-mapping-error.$(OBJEXT): \ - gamepad/$(am__dirstamp) gamepad/$(DEPDIR)/$(am__dirstamp) -gamepad/gnome_games-gamepad-mappings-manager.$(OBJEXT): \ - gamepad/$(am__dirstamp) gamepad/$(DEPDIR)/$(am__dirstamp) -gamepad/gnome_games-gamepad-monitor.$(OBJEXT): \ - gamepad/$(am__dirstamp) gamepad/$(DEPDIR)/$(am__dirstamp) -gamepad/gnome_games-raw-gamepad.$(OBJEXT): gamepad/$(am__dirstamp) \ - gamepad/$(DEPDIR)/$(am__dirstamp) -gamepad/gnome_games-raw-gamepad-monitor.$(OBJEXT): \ - gamepad/$(am__dirstamp) gamepad/$(DEPDIR)/$(am__dirstamp) generic/$(am__dirstamp): @$(MKDIR_P) generic @: > generic/$(am__dirstamp) @@ -1259,21 +1161,6 @@ utils/$(DEPDIR)/$(am__dirstamp) utils/gnome_games-xml-doc.$(OBJEXT): utils/$(am__dirstamp) \ utils/$(DEPDIR)/$(am__dirstamp) -gamepad/linux/$(am__dirstamp): - @$(MKDIR_P) gamepad/linux - @: > gamepad/linux/$(am__dirstamp) -gamepad/linux/$(DEPDIR)/$(am__dirstamp): - @$(MKDIR_P) gamepad/linux/$(DEPDIR) - @: > gamepad/linux/$(DEPDIR)/$(am__dirstamp) -gamepad/linux/gnome_games-linux-raw-gamepad.$(OBJEXT): \ - gamepad/linux/$(am__dirstamp) \ - gamepad/linux/$(DEPDIR)/$(am__dirstamp) -gamepad/linux/gnome_games-linux-raw-gamepad-monitor.$(OBJEXT): \ - gamepad/linux/$(am__dirstamp) \ - gamepad/linux/$(DEPDIR)/$(am__dirstamp) -gamepad/linux/gnome_games-linux-raw-gamepad-monitor-fallback.$(OBJEXT): \ - gamepad/linux/$(am__dirstamp) \ - gamepad/linux/$(DEPDIR)/$(am__dirstamp) gnome-games$(EXEEXT): $(gnome_games_OBJECTS) $(gnome_games_DEPENDENCIES) $(EXTRA_gnome_games_DEPENDENCIES) @rm -f gnome-games$(EXEEXT) @@ -1286,10 +1173,8 @@ -rm -f core/media-set/*.$(OBJEXT) -rm -f database/*.$(OBJEXT) -rm -f dummy/*.$(OBJEXT) - -rm -f event/*.$(OBJEXT) -rm -f gameinfo/*.$(OBJEXT) -rm -f gamepad/*.$(OBJEXT) - -rm -f gamepad/linux/*.$(OBJEXT) -rm -f generic/*.$(OBJEXT) -rm -f grilo/*.$(OBJEXT) -rm -f retro/*.$(OBJEXT) @@ -1336,7 +1221,6 @@ @AMDEP_TRUE@@am__include@ @am__quote@dummy/$(DEPDIR)/gnome_games-dummy-game.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@dummy/$(DEPDIR)/gnome_games-dummy-icon.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@dummy/$(DEPDIR)/gnome_games-dummy-runner.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@event/$(DEPDIR)/gnome_games-event.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gameinfo/$(DEPDIR)/gnome_games-gameinfo-disc-id-disc-title.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gameinfo/$(DEPDIR)/gnome_games-gameinfo-disc-id-game-title.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gameinfo/$(DEPDIR)/gnome_games-gameinfo-disc-id-input-capabilities.Po@am__quote@ @@ -1345,16 +1229,6 @@ @AMDEP_TRUE@@am__include@ @am__quote@gamepad/$(DEPDIR)/gnome_games-gamepad-dpad.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gamepad/$(DEPDIR)/gnome_games-gamepad-input.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@gamepad/$(DEPDIR)/gnome_games-gamepad-mapping-builder.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gamepad/$(DEPDIR)/gnome_games-gamepad-mapping-error.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gamepad/$(DEPDIR)/gnome_games-gamepad-mapping.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gamepad/$(DEPDIR)/gnome_games-gamepad-mappings-manager.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gamepad/$(DEPDIR)/gnome_games-gamepad-monitor.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gamepad/$(DEPDIR)/gnome_games-gamepad.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gamepad/$(DEPDIR)/gnome_games-raw-gamepad-monitor.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gamepad/$(DEPDIR)/gnome_games-raw-gamepad.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gamepad/linux/$(DEPDIR)/gnome_games-linux-raw-gamepad-monitor-fallback.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gamepad/linux/$(DEPDIR)/gnome_games-linux-raw-gamepad-monitor.Po@am__quote@ -@AMDEP_TRUE@@am__include@ @am__quote@gamepad/linux/$(DEPDIR)/gnome_games-linux-raw-gamepad.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@generic/$(DEPDIR)/gnome_games-generic-game-uri-adapter.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@generic/$(DEPDIR)/gnome_games-generic-game.Po@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@generic/$(DEPDIR)/gnome_games-generic-title.Po@am__quote@ @@ -1886,20 +1760,6 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -c -o dummy/gnome_games-dummy-runner.obj `if test -f 'dummy/dummy-runner.c'; then $(CYGPATH_W) 'dummy/dummy-runner.c'; else $(CYGPATH_W) '$(srcdir)/dummy/dummy-runner.c'; fi` -event/gnome_games-event.o: event/event.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -MT event/gnome_games-event.o -MD -MP -MF event/$(DEPDIR)/gnome_games-event.Tpo -c -o event/gnome_games-event.o `test -f 'event/event.c' || echo '$(srcdir)/'`event/event.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) event/$(DEPDIR)/gnome_games-event.Tpo event/$(DEPDIR)/gnome_games-event.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='event/event.c' object='event/gnome_games-event.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -c -o event/gnome_games-event.o `test -f 'event/event.c' || echo '$(srcdir)/'`event/event.c - -event/gnome_games-event.obj: event/event.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -MT event/gnome_games-event.obj -MD -MP -MF event/$(DEPDIR)/gnome_games-event.Tpo -c -o event/gnome_games-event.obj `if test -f 'event/event.c'; then $(CYGPATH_W) 'event/event.c'; else $(CYGPATH_W) '$(srcdir)/event/event.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) event/$(DEPDIR)/gnome_games-event.Tpo event/$(DEPDIR)/gnome_games-event.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='event/event.c' object='event/gnome_games-event.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -c -o event/gnome_games-event.obj `if test -f 'event/event.c'; then $(CYGPATH_W) 'event/event.c'; else $(CYGPATH_W) '$(srcdir)/event/event.c'; fi` - gameinfo/gnome_games-gameinfo-doc.o: gameinfo/gameinfo-doc.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -MT gameinfo/gnome_games-gameinfo-doc.o -MD -MP -MF gameinfo/$(DEPDIR)/gnome_games-gameinfo-doc.Tpo -c -o gameinfo/gnome_games-gameinfo-doc.o `test -f 'gameinfo/gameinfo-doc.c' || echo '$(srcdir)/'`gameinfo/gameinfo-doc.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gameinfo/$(DEPDIR)/gnome_games-gameinfo-doc.Tpo gameinfo/$(DEPDIR)/gnome_games-gameinfo-doc.Po @@ -1970,20 +1830,6 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -c -o gameinfo/gnome_games-gameinfo-disc-id-input-capabilities.obj `if test -f 'gameinfo/gameinfo-disc-id-input-capabilities.c'; then $(CYGPATH_W) 'gameinfo/gameinfo-disc-id-input-capabilities.c'; else $(CYGPATH_W) '$(srcdir)/gameinfo/gameinfo-disc-id-input-capabilities.c'; fi` -gamepad/gnome_games-gamepad.o: gamepad/gamepad.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -MT gamepad/gnome_games-gamepad.o -MD -MP -MF gamepad/$(DEPDIR)/gnome_games-gamepad.Tpo -c -o gamepad/gnome_games-gamepad.o `test -f 'gamepad/gamepad.c' || echo '$(srcdir)/'`gamepad/gamepad.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gamepad/$(DEPDIR)/gnome_games-gamepad.Tpo gamepad/$(DEPDIR)/gnome_games-gamepad.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gamepad/gamepad.c' object='gamepad/gnome_games-gamepad.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -c -o gamepad/gnome_games-gamepad.o `test -f 'gamepad/gamepad.c' || echo '$(srcdir)/'`gamepad/gamepad.c - -gamepad/gnome_games-gamepad.obj: gamepad/gamepad.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -MT gamepad/gnome_games-gamepad.obj -MD -MP -MF gamepad/$(DEPDIR)/gnome_games-gamepad.Tpo -c -o gamepad/gnome_games-gamepad.obj `if test -f 'gamepad/gamepad.c'; then $(CYGPATH_W) 'gamepad/gamepad.c'; else $(CYGPATH_W) '$(srcdir)/gamepad/gamepad.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gamepad/$(DEPDIR)/gnome_games-gamepad.Tpo gamepad/$(DEPDIR)/gnome_games-gamepad.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gamepad/gamepad.c' object='gamepad/gnome_games-gamepad.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -c -o gamepad/gnome_games-gamepad.obj `if test -f 'gamepad/gamepad.c'; then $(CYGPATH_W) 'gamepad/gamepad.c'; else $(CYGPATH_W) '$(srcdir)/gamepad/gamepad.c'; fi` - gamepad/gnome_games-gamepad-dpad.o: gamepad/gamepad-dpad.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -MT gamepad/gnome_games-gamepad-dpad.o -MD -MP -MF gamepad/$(DEPDIR)/gnome_games-gamepad-dpad.Tpo -c -o gamepad/gnome_games-gamepad-dpad.o `test -f 'gamepad/gamepad-dpad.c' || echo '$(srcdir)/'`gamepad/gamepad-dpad.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gamepad/$(DEPDIR)/gnome_games-gamepad-dpad.Tpo gamepad/$(DEPDIR)/gnome_games-gamepad-dpad.Po @@ -2026,90 +1872,6 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -c -o gamepad/gnome_games-gamepad-mapping-builder.obj `if test -f 'gamepad/gamepad-mapping-builder.c'; then $(CYGPATH_W) 'gamepad/gamepad-mapping-builder.c'; else $(CYGPATH_W) '$(srcdir)/gamepad/gamepad-mapping-builder.c'; fi` -gamepad/gnome_games-gamepad-mapping.o: gamepad/gamepad-mapping.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -MT gamepad/gnome_games-gamepad-mapping.o -MD -MP -MF gamepad/$(DEPDIR)/gnome_games-gamepad-mapping.Tpo -c -o gamepad/gnome_games-gamepad-mapping.o `test -f 'gamepad/gamepad-mapping.c' || echo '$(srcdir)/'`gamepad/gamepad-mapping.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gamepad/$(DEPDIR)/gnome_games-gamepad-mapping.Tpo gamepad/$(DEPDIR)/gnome_games-gamepad-mapping.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gamepad/gamepad-mapping.c' object='gamepad/gnome_games-gamepad-mapping.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -c -o gamepad/gnome_games-gamepad-mapping.o `test -f 'gamepad/gamepad-mapping.c' || echo '$(srcdir)/'`gamepad/gamepad-mapping.c - -gamepad/gnome_games-gamepad-mapping.obj: gamepad/gamepad-mapping.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -MT gamepad/gnome_games-gamepad-mapping.obj -MD -MP -MF gamepad/$(DEPDIR)/gnome_games-gamepad-mapping.Tpo -c -o gamepad/gnome_games-gamepad-mapping.obj `if test -f 'gamepad/gamepad-mapping.c'; then $(CYGPATH_W) 'gamepad/gamepad-mapping.c'; else $(CYGPATH_W) '$(srcdir)/gamepad/gamepad-mapping.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gamepad/$(DEPDIR)/gnome_games-gamepad-mapping.Tpo gamepad/$(DEPDIR)/gnome_games-gamepad-mapping.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gamepad/gamepad-mapping.c' object='gamepad/gnome_games-gamepad-mapping.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -c -o gamepad/gnome_games-gamepad-mapping.obj `if test -f 'gamepad/gamepad-mapping.c'; then $(CYGPATH_W) 'gamepad/gamepad-mapping.c'; else $(CYGPATH_W) '$(srcdir)/gamepad/gamepad-mapping.c'; fi` - -gamepad/gnome_games-gamepad-mapping-error.o: gamepad/gamepad-mapping-error.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -MT gamepad/gnome_games-gamepad-mapping-error.o -MD -MP -MF gamepad/$(DEPDIR)/gnome_games-gamepad-mapping-error.Tpo -c -o gamepad/gnome_games-gamepad-mapping-error.o `test -f 'gamepad/gamepad-mapping-error.c' || echo '$(srcdir)/'`gamepad/gamepad-mapping-error.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gamepad/$(DEPDIR)/gnome_games-gamepad-mapping-error.Tpo gamepad/$(DEPDIR)/gnome_games-gamepad-mapping-error.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gamepad/gamepad-mapping-error.c' object='gamepad/gnome_games-gamepad-mapping-error.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -c -o gamepad/gnome_games-gamepad-mapping-error.o `test -f 'gamepad/gamepad-mapping-error.c' || echo '$(srcdir)/'`gamepad/gamepad-mapping-error.c - -gamepad/gnome_games-gamepad-mapping-error.obj: gamepad/gamepad-mapping-error.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -MT gamepad/gnome_games-gamepad-mapping-error.obj -MD -MP -MF gamepad/$(DEPDIR)/gnome_games-gamepad-mapping-error.Tpo -c -o gamepad/gnome_games-gamepad-mapping-error.obj `if test -f 'gamepad/gamepad-mapping-error.c'; then $(CYGPATH_W) 'gamepad/gamepad-mapping-error.c'; else $(CYGPATH_W) '$(srcdir)/gamepad/gamepad-mapping-error.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gamepad/$(DEPDIR)/gnome_games-gamepad-mapping-error.Tpo gamepad/$(DEPDIR)/gnome_games-gamepad-mapping-error.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gamepad/gamepad-mapping-error.c' object='gamepad/gnome_games-gamepad-mapping-error.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -c -o gamepad/gnome_games-gamepad-mapping-error.obj `if test -f 'gamepad/gamepad-mapping-error.c'; then $(CYGPATH_W) 'gamepad/gamepad-mapping-error.c'; else $(CYGPATH_W) '$(srcdir)/gamepad/gamepad-mapping-error.c'; fi` - -gamepad/gnome_games-gamepad-mappings-manager.o: gamepad/gamepad-mappings-manager.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -MT gamepad/gnome_games-gamepad-mappings-manager.o -MD -MP -MF gamepad/$(DEPDIR)/gnome_games-gamepad-mappings-manager.Tpo -c -o gamepad/gnome_games-gamepad-mappings-manager.o `test -f 'gamepad/gamepad-mappings-manager.c' || echo '$(srcdir)/'`gamepad/gamepad-mappings-manager.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gamepad/$(DEPDIR)/gnome_games-gamepad-mappings-manager.Tpo gamepad/$(DEPDIR)/gnome_games-gamepad-mappings-manager.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gamepad/gamepad-mappings-manager.c' object='gamepad/gnome_games-gamepad-mappings-manager.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -c -o gamepad/gnome_games-gamepad-mappings-manager.o `test -f 'gamepad/gamepad-mappings-manager.c' || echo '$(srcdir)/'`gamepad/gamepad-mappings-manager.c - -gamepad/gnome_games-gamepad-mappings-manager.obj: gamepad/gamepad-mappings-manager.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -MT gamepad/gnome_games-gamepad-mappings-manager.obj -MD -MP -MF gamepad/$(DEPDIR)/gnome_games-gamepad-mappings-manager.Tpo -c -o gamepad/gnome_games-gamepad-mappings-manager.obj `if test -f 'gamepad/gamepad-mappings-manager.c'; then $(CYGPATH_W) 'gamepad/gamepad-mappings-manager.c'; else $(CYGPATH_W) '$(srcdir)/gamepad/gamepad-mappings-manager.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gamepad/$(DEPDIR)/gnome_games-gamepad-mappings-manager.Tpo gamepad/$(DEPDIR)/gnome_games-gamepad-mappings-manager.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gamepad/gamepad-mappings-manager.c' object='gamepad/gnome_games-gamepad-mappings-manager.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -c -o gamepad/gnome_games-gamepad-mappings-manager.obj `if test -f 'gamepad/gamepad-mappings-manager.c'; then $(CYGPATH_W) 'gamepad/gamepad-mappings-manager.c'; else $(CYGPATH_W) '$(srcdir)/gamepad/gamepad-mappings-manager.c'; fi` - -gamepad/gnome_games-gamepad-monitor.o: gamepad/gamepad-monitor.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -MT gamepad/gnome_games-gamepad-monitor.o -MD -MP -MF gamepad/$(DEPDIR)/gnome_games-gamepad-monitor.Tpo -c -o gamepad/gnome_games-gamepad-monitor.o `test -f 'gamepad/gamepad-monitor.c' || echo '$(srcdir)/'`gamepad/gamepad-monitor.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gamepad/$(DEPDIR)/gnome_games-gamepad-monitor.Tpo gamepad/$(DEPDIR)/gnome_games-gamepad-monitor.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gamepad/gamepad-monitor.c' object='gamepad/gnome_games-gamepad-monitor.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -c -o gamepad/gnome_games-gamepad-monitor.o `test -f 'gamepad/gamepad-monitor.c' || echo '$(srcdir)/'`gamepad/gamepad-monitor.c - -gamepad/gnome_games-gamepad-monitor.obj: gamepad/gamepad-monitor.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -MT gamepad/gnome_games-gamepad-monitor.obj -MD -MP -MF gamepad/$(DEPDIR)/gnome_games-gamepad-monitor.Tpo -c -o gamepad/gnome_games-gamepad-monitor.obj `if test -f 'gamepad/gamepad-monitor.c'; then $(CYGPATH_W) 'gamepad/gamepad-monitor.c'; else $(CYGPATH_W) '$(srcdir)/gamepad/gamepad-monitor.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gamepad/$(DEPDIR)/gnome_games-gamepad-monitor.Tpo gamepad/$(DEPDIR)/gnome_games-gamepad-monitor.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gamepad/gamepad-monitor.c' object='gamepad/gnome_games-gamepad-monitor.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -c -o gamepad/gnome_games-gamepad-monitor.obj `if test -f 'gamepad/gamepad-monitor.c'; then $(CYGPATH_W) 'gamepad/gamepad-monitor.c'; else $(CYGPATH_W) '$(srcdir)/gamepad/gamepad-monitor.c'; fi` - -gamepad/gnome_games-raw-gamepad.o: gamepad/raw-gamepad.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -MT gamepad/gnome_games-raw-gamepad.o -MD -MP -MF gamepad/$(DEPDIR)/gnome_games-raw-gamepad.Tpo -c -o gamepad/gnome_games-raw-gamepad.o `test -f 'gamepad/raw-gamepad.c' || echo '$(srcdir)/'`gamepad/raw-gamepad.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gamepad/$(DEPDIR)/gnome_games-raw-gamepad.Tpo gamepad/$(DEPDIR)/gnome_games-raw-gamepad.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gamepad/raw-gamepad.c' object='gamepad/gnome_games-raw-gamepad.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -c -o gamepad/gnome_games-raw-gamepad.o `test -f 'gamepad/raw-gamepad.c' || echo '$(srcdir)/'`gamepad/raw-gamepad.c - -gamepad/gnome_games-raw-gamepad.obj: gamepad/raw-gamepad.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -MT gamepad/gnome_games-raw-gamepad.obj -MD -MP -MF gamepad/$(DEPDIR)/gnome_games-raw-gamepad.Tpo -c -o gamepad/gnome_games-raw-gamepad.obj `if test -f 'gamepad/raw-gamepad.c'; then $(CYGPATH_W) 'gamepad/raw-gamepad.c'; else $(CYGPATH_W) '$(srcdir)/gamepad/raw-gamepad.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gamepad/$(DEPDIR)/gnome_games-raw-gamepad.Tpo gamepad/$(DEPDIR)/gnome_games-raw-gamepad.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gamepad/raw-gamepad.c' object='gamepad/gnome_games-raw-gamepad.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -c -o gamepad/gnome_games-raw-gamepad.obj `if test -f 'gamepad/raw-gamepad.c'; then $(CYGPATH_W) 'gamepad/raw-gamepad.c'; else $(CYGPATH_W) '$(srcdir)/gamepad/raw-gamepad.c'; fi` - -gamepad/gnome_games-raw-gamepad-monitor.o: gamepad/raw-gamepad-monitor.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -MT gamepad/gnome_games-raw-gamepad-monitor.o -MD -MP -MF gamepad/$(DEPDIR)/gnome_games-raw-gamepad-monitor.Tpo -c -o gamepad/gnome_games-raw-gamepad-monitor.o `test -f 'gamepad/raw-gamepad-monitor.c' || echo '$(srcdir)/'`gamepad/raw-gamepad-monitor.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gamepad/$(DEPDIR)/gnome_games-raw-gamepad-monitor.Tpo gamepad/$(DEPDIR)/gnome_games-raw-gamepad-monitor.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gamepad/raw-gamepad-monitor.c' object='gamepad/gnome_games-raw-gamepad-monitor.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -c -o gamepad/gnome_games-raw-gamepad-monitor.o `test -f 'gamepad/raw-gamepad-monitor.c' || echo '$(srcdir)/'`gamepad/raw-gamepad-monitor.c - -gamepad/gnome_games-raw-gamepad-monitor.obj: gamepad/raw-gamepad-monitor.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -MT gamepad/gnome_games-raw-gamepad-monitor.obj -MD -MP -MF gamepad/$(DEPDIR)/gnome_games-raw-gamepad-monitor.Tpo -c -o gamepad/gnome_games-raw-gamepad-monitor.obj `if test -f 'gamepad/raw-gamepad-monitor.c'; then $(CYGPATH_W) 'gamepad/raw-gamepad-monitor.c'; else $(CYGPATH_W) '$(srcdir)/gamepad/raw-gamepad-monitor.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gamepad/$(DEPDIR)/gnome_games-raw-gamepad-monitor.Tpo gamepad/$(DEPDIR)/gnome_games-raw-gamepad-monitor.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gamepad/raw-gamepad-monitor.c' object='gamepad/gnome_games-raw-gamepad-monitor.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -c -o gamepad/gnome_games-raw-gamepad-monitor.obj `if test -f 'gamepad/raw-gamepad-monitor.c'; then $(CYGPATH_W) 'gamepad/raw-gamepad-monitor.c'; else $(CYGPATH_W) '$(srcdir)/gamepad/raw-gamepad-monitor.c'; fi` - generic/gnome_games-generic-game.o: generic/generic-game.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -MT generic/gnome_games-generic-game.o -MD -MP -MF generic/$(DEPDIR)/gnome_games-generic-game.Tpo -c -o generic/gnome_games-generic-game.o `test -f 'generic/generic-game.c' || echo '$(srcdir)/'`generic/generic-game.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) generic/$(DEPDIR)/gnome_games-generic-game.Tpo generic/$(DEPDIR)/gnome_games-generic-game.Po @@ -3173,48 +2935,6 @@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='resources.c' object='gnome_games-resources.obj' libtool=no @AMDEPBACKSLASH@ @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -c -o gnome_games-resources.obj `if test -f 'resources.c'; then $(CYGPATH_W) 'resources.c'; else $(CYGPATH_W) '$(srcdir)/resources.c'; fi` - -gamepad/linux/gnome_games-linux-raw-gamepad.o: gamepad/linux/linux-raw-gamepad.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -MT gamepad/linux/gnome_games-linux-raw-gamepad.o -MD -MP -MF gamepad/linux/$(DEPDIR)/gnome_games-linux-raw-gamepad.Tpo -c -o gamepad/linux/gnome_games-linux-raw-gamepad.o `test -f 'gamepad/linux/linux-raw-gamepad.c' || echo '$(srcdir)/'`gamepad/linux/linux-raw-gamepad.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gamepad/linux/$(DEPDIR)/gnome_games-linux-raw-gamepad.Tpo gamepad/linux/$(DEPDIR)/gnome_games-linux-raw-gamepad.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gamepad/linux/linux-raw-gamepad.c' object='gamepad/linux/gnome_games-linux-raw-gamepad.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -c -o gamepad/linux/gnome_games-linux-raw-gamepad.o `test -f 'gamepad/linux/linux-raw-gamepad.c' || echo '$(srcdir)/'`gamepad/linux/linux-raw-gamepad.c - -gamepad/linux/gnome_games-linux-raw-gamepad.obj: gamepad/linux/linux-raw-gamepad.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -MT gamepad/linux/gnome_games-linux-raw-gamepad.obj -MD -MP -MF gamepad/linux/$(DEPDIR)/gnome_games-linux-raw-gamepad.Tpo -c -o gamepad/linux/gnome_games-linux-raw-gamepad.obj `if test -f 'gamepad/linux/linux-raw-gamepad.c'; then $(CYGPATH_W) 'gamepad/linux/linux-raw-gamepad.c'; else $(CYGPATH_W) '$(srcdir)/gamepad/linux/linux-raw-gamepad.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gamepad/linux/$(DEPDIR)/gnome_games-linux-raw-gamepad.Tpo gamepad/linux/$(DEPDIR)/gnome_games-linux-raw-gamepad.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gamepad/linux/linux-raw-gamepad.c' object='gamepad/linux/gnome_games-linux-raw-gamepad.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -c -o gamepad/linux/gnome_games-linux-raw-gamepad.obj `if test -f 'gamepad/linux/linux-raw-gamepad.c'; then $(CYGPATH_W) 'gamepad/linux/linux-raw-gamepad.c'; else $(CYGPATH_W) '$(srcdir)/gamepad/linux/linux-raw-gamepad.c'; fi` - -gamepad/linux/gnome_games-linux-raw-gamepad-monitor.o: gamepad/linux/linux-raw-gamepad-monitor.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -MT gamepad/linux/gnome_games-linux-raw-gamepad-monitor.o -MD -MP -MF gamepad/linux/$(DEPDIR)/gnome_games-linux-raw-gamepad-monitor.Tpo -c -o gamepad/linux/gnome_games-linux-raw-gamepad-monitor.o `test -f 'gamepad/linux/linux-raw-gamepad-monitor.c' || echo '$(srcdir)/'`gamepad/linux/linux-raw-gamepad-monitor.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gamepad/linux/$(DEPDIR)/gnome_games-linux-raw-gamepad-monitor.Tpo gamepad/linux/$(DEPDIR)/gnome_games-linux-raw-gamepad-monitor.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gamepad/linux/linux-raw-gamepad-monitor.c' object='gamepad/linux/gnome_games-linux-raw-gamepad-monitor.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -c -o gamepad/linux/gnome_games-linux-raw-gamepad-monitor.o `test -f 'gamepad/linux/linux-raw-gamepad-monitor.c' || echo '$(srcdir)/'`gamepad/linux/linux-raw-gamepad-monitor.c - -gamepad/linux/gnome_games-linux-raw-gamepad-monitor.obj: gamepad/linux/linux-raw-gamepad-monitor.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -MT gamepad/linux/gnome_games-linux-raw-gamepad-monitor.obj -MD -MP -MF gamepad/linux/$(DEPDIR)/gnome_games-linux-raw-gamepad-monitor.Tpo -c -o gamepad/linux/gnome_games-linux-raw-gamepad-monitor.obj `if test -f 'gamepad/linux/linux-raw-gamepad-monitor.c'; then $(CYGPATH_W) 'gamepad/linux/linux-raw-gamepad-monitor.c'; else $(CYGPATH_W) '$(srcdir)/gamepad/linux/linux-raw-gamepad-monitor.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gamepad/linux/$(DEPDIR)/gnome_games-linux-raw-gamepad-monitor.Tpo gamepad/linux/$(DEPDIR)/gnome_games-linux-raw-gamepad-monitor.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gamepad/linux/linux-raw-gamepad-monitor.c' object='gamepad/linux/gnome_games-linux-raw-gamepad-monitor.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -c -o gamepad/linux/gnome_games-linux-raw-gamepad-monitor.obj `if test -f 'gamepad/linux/linux-raw-gamepad-monitor.c'; then $(CYGPATH_W) 'gamepad/linux/linux-raw-gamepad-monitor.c'; else $(CYGPATH_W) '$(srcdir)/gamepad/linux/linux-raw-gamepad-monitor.c'; fi` - -gamepad/linux/gnome_games-linux-raw-gamepad-monitor-fallback.o: gamepad/linux/linux-raw-gamepad-monitor-fallback.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -MT gamepad/linux/gnome_games-linux-raw-gamepad-monitor-fallback.o -MD -MP -MF gamepad/linux/$(DEPDIR)/gnome_games-linux-raw-gamepad-monitor-fallback.Tpo -c -o gamepad/linux/gnome_games-linux-raw-gamepad-monitor-fallback.o `test -f 'gamepad/linux/linux-raw-gamepad-monitor-fallback.c' || echo '$(srcdir)/'`gamepad/linux/linux-raw-gamepad-monitor-fallback.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gamepad/linux/$(DEPDIR)/gnome_games-linux-raw-gamepad-monitor-fallback.Tpo gamepad/linux/$(DEPDIR)/gnome_games-linux-raw-gamepad-monitor-fallback.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gamepad/linux/linux-raw-gamepad-monitor-fallback.c' object='gamepad/linux/gnome_games-linux-raw-gamepad-monitor-fallback.o' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -c -o gamepad/linux/gnome_games-linux-raw-gamepad-monitor-fallback.o `test -f 'gamepad/linux/linux-raw-gamepad-monitor-fallback.c' || echo '$(srcdir)/'`gamepad/linux/linux-raw-gamepad-monitor-fallback.c - -gamepad/linux/gnome_games-linux-raw-gamepad-monitor-fallback.obj: gamepad/linux/linux-raw-gamepad-monitor-fallback.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -MT gamepad/linux/gnome_games-linux-raw-gamepad-monitor-fallback.obj -MD -MP -MF gamepad/linux/$(DEPDIR)/gnome_games-linux-raw-gamepad-monitor-fallback.Tpo -c -o gamepad/linux/gnome_games-linux-raw-gamepad-monitor-fallback.obj `if test -f 'gamepad/linux/linux-raw-gamepad-monitor-fallback.c'; then $(CYGPATH_W) 'gamepad/linux/linux-raw-gamepad-monitor-fallback.c'; else $(CYGPATH_W) '$(srcdir)/gamepad/linux/linux-raw-gamepad-monitor-fallback.c'; fi` -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) gamepad/linux/$(DEPDIR)/gnome_games-linux-raw-gamepad-monitor-fallback.Tpo gamepad/linux/$(DEPDIR)/gnome_games-linux-raw-gamepad-monitor-fallback.Po -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='gamepad/linux/linux-raw-gamepad-monitor-fallback.c' object='gamepad/linux/gnome_games-linux-raw-gamepad-monitor-fallback.obj' libtool=no @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(gnome_games_CPPFLAGS) $(CPPFLAGS) $(gnome_games_CFLAGS) $(CFLAGS) -c -o gamepad/linux/gnome_games-linux-raw-gamepad-monitor-fallback.obj `if test -f 'gamepad/linux/linux-raw-gamepad-monitor-fallback.c'; then $(CYGPATH_W) 'gamepad/linux/linux-raw-gamepad-monitor-fallback.c'; else $(CYGPATH_W) '$(srcdir)/gamepad/linux/linux-raw-gamepad-monitor-fallback.c'; fi` $(srcdir)/command/command-error.c: $(srcdir)/gnome_games_vala.stamp @if test -f $@; then :; else rm -f $(srcdir)/gnome_games_vala.stamp; fi @if test -f $@; then :; else \ @@ -3395,6 +3115,16 @@ @if test -f $@; then :; else \ $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/gnome_games_vala.stamp; \ fi +$(srcdir)/gamepad/gamepad-dpad.c: $(srcdir)/gnome_games_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/gnome_games_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/gnome_games_vala.stamp; \ + fi +$(srcdir)/gamepad/gamepad-input.c: $(srcdir)/gnome_games_vala.stamp + @if test -f $@; then :; else rm -f $(srcdir)/gnome_games_vala.stamp; fi + @if test -f $@; then :; else \ + $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/gnome_games_vala.stamp; \ + fi $(srcdir)/gamepad/gamepad-mapping-builder.c: $(srcdir)/gnome_games_vala.stamp @if test -f $@; then :; else rm -f $(srcdir)/gnome_games_vala.stamp; fi @if test -f $@; then :; else \ @@ -3785,9 +3515,9 @@ @if test -f $@; then :; else \ $(MAKE) $(AM_MAKEFLAGS) $(srcdir)/gnome_games_vala.stamp; \ fi -$(srcdir)/gnome_games_vala.stamp: command/command-error.vala command/command-runner.vala core/cover.vala core/game.vala core/game-callback.vala core/game-collection.vala core/game-uri-adapter.vala core/icon.vala core/input-capabilities.vala core/media.vala core/media-info.vala core/media-set/media-set.vala core/media-set/media-set-error.vala core/plugin.vala core/plugin-register.vala core/plugin-register-iterator.vala core/plugin-registrar.vala core/runner.vala core/title.vala core/uid.vala core/uri-game-factory.vala core/uri-iterator.vala core/uri-source.vala database/database.vala database/database-error.vala database/database-uri-iterator.vala database/database-uri-source.vala dummy/dummy-cover.vala dummy/dummy-game.vala dummy/dummy-icon.vala dummy/dummy-runner.vala gameinfo/gameinfo-doc.vala gameinfo/gameinfo-error.vala gameinfo/gameinfo-disc-id-disc-title.vala gameinfo/gameinfo-disc-id-game-title.vala gameinfo/gameinfo-disc-id-input-capabilities.vala gamepad/gamepad-mapping-builder.vala generic/generic-game.vala generic/generic-game-uri-adapter.vala generic/generic-title.vala generic/generic-uid.vala generic/generic-uri-game-factory.vala grilo/grilo-cover.vala grilo/grilo-media.vala retro/retro-core-source.vala retro/retro-error.vala retro/retro-gamepad.vala retro/retro-input-manager.vala retro/retro-platform.vala retro/retro-runner.vala retro/retro-simple-game-uri-adapter.vala retro/retro-simple-type.vala retro/retro-simple-types.vala tracker/mime-type-tracker-uri-query.vala tracker/tracker-error.vala tracker/tracker-uri-iterator.vala tracker/tracker-uri-query.vala tracker/tracker-uri-source.vala ui/application.vala ui/application-window.vala ui/checkmark-item.vala ui/collection-box.vala ui/collection-icon-view.vala ui/collection-header-bar.vala ui/display-box.vala ui/display-header-bar.vala ui/dummy-display.vala ui/empty-collection.vala ui/error-display.vala ui/error-info-bar.vala ui/gamepad-configurer.vala ui/gamepad-mapper.vala ui/gamepad-tester.vala ui/gamepad-view.vala ui/game-icon-view.vala ui/game-thumbnail.vala ui/gamepad-view-configuration.vala ui/media-selector.vala ui/media-menu-button.vala ui/preferences-page.vala ui/preferences-page-controllers.vala ui/preferences-page-plugins.vala ui/preferences-page-plugins-item.vala ui/preferences-page-video.vala ui/preferences-window.vala ui/quit-dialog.vala ui/remote-display.vala ui/reset-gamepad-mapping-dialog.vala ui/resume-dialog.vala ui/resume-failed-dialog.vala ui/search-bar.vala ui/ui-state.vala utils/composite-cover.vala utils/composite-title.vala utils/cue-sheet/cue-sheet.vala utils/cue-sheet/cue-sheet-error.vala utils/cue-sheet/cue-sheet-file-format.vala utils/cue-sheet/cue-sheet-file-node.vala utils/cue-sheet/cue-sheet-track-mode.vala utils/cue-sheet/cue-sheet-track-node.vala utils/directory.vala utils/filename-title.vala utils/fingerprint.vala utils/grep.vala utils/local-cover.vala utils/string-input-stream.vala utils/uri.vala utils/uri-error.vala utils/xml-doc.vala config.vala credits.vala main.vala +$(srcdir)/gnome_games_vala.stamp: command/command-error.vala command/command-runner.vala core/cover.vala core/game.vala core/game-callback.vala core/game-collection.vala core/game-uri-adapter.vala core/icon.vala core/input-capabilities.vala core/media.vala core/media-info.vala core/media-set/media-set.vala core/media-set/media-set-error.vala core/plugin.vala core/plugin-register.vala core/plugin-register-iterator.vala core/plugin-registrar.vala core/runner.vala core/title.vala core/uid.vala core/uri-game-factory.vala core/uri-iterator.vala core/uri-source.vala database/database.vala database/database-error.vala database/database-uri-iterator.vala database/database-uri-source.vala dummy/dummy-cover.vala dummy/dummy-game.vala dummy/dummy-icon.vala dummy/dummy-runner.vala gameinfo/gameinfo-doc.vala gameinfo/gameinfo-error.vala gameinfo/gameinfo-disc-id-disc-title.vala gameinfo/gameinfo-disc-id-game-title.vala gameinfo/gameinfo-disc-id-input-capabilities.vala gamepad/gamepad-dpad.vala gamepad/gamepad-input.vala gamepad/gamepad-mapping-builder.vala generic/generic-game.vala generic/generic-game-uri-adapter.vala generic/generic-title.vala generic/generic-uid.vala generic/generic-uri-game-factory.vala grilo/grilo-cover.vala grilo/grilo-media.vala retro/retro-core-source.vala retro/retro-error.vala retro/retro-gamepad.vala retro/retro-input-manager.vala retro/retro-platform.vala retro/retro-runner.vala retro/retro-simple-game-uri-adapter.vala retro/retro-simple-type.vala retro/retro-simple-types.vala tracker/mime-type-tracker-uri-query.vala tracker/tracker-error.vala tracker/tracker-uri-iterator.vala tracker/tracker-uri-query.vala tracker/tracker-uri-source.vala ui/application.vala ui/application-window.vala ui/checkmark-item.vala ui/collection-box.vala ui/collection-icon-view.vala ui/collection-header-bar.vala ui/display-box.vala ui/display-header-bar.vala ui/dummy-display.vala ui/empty-collection.vala ui/error-display.vala ui/error-info-bar.vala ui/gamepad-configurer.vala ui/gamepad-mapper.vala ui/gamepad-tester.vala ui/gamepad-view.vala ui/game-icon-view.vala ui/game-thumbnail.vala ui/gamepad-view-configuration.vala ui/media-selector.vala ui/media-menu-button.vala ui/preferences-page.vala ui/preferences-page-controllers.vala ui/preferences-page-plugins.vala ui/preferences-page-plugins-item.vala ui/preferences-page-video.vala ui/preferences-window.vala ui/quit-dialog.vala ui/remote-display.vala ui/reset-gamepad-mapping-dialog.vala ui/resume-dialog.vala ui/resume-failed-dialog.vala ui/search-bar.vala ui/ui-state.vala utils/composite-cover.vala utils/composite-title.vala utils/cue-sheet/cue-sheet.vala utils/cue-sheet/cue-sheet-error.vala utils/cue-sheet/cue-sheet-file-format.vala utils/cue-sheet/cue-sheet-file-node.vala utils/cue-sheet/cue-sheet-track-mode.vala utils/cue-sheet/cue-sheet-track-node.vala utils/directory.vala utils/filename-title.vala utils/fingerprint.vala utils/grep.vala utils/local-cover.vala utils/string-input-stream.vala utils/uri.vala utils/uri-error.vala utils/xml-doc.vala config.vala credits.vala main.vala $(AM_V_at)rm -f $@ && echo stamp > $@-t - $(AM_V_VALAC)$(am__cd) $(srcdir) && $(VALAC) $(gnome_games_VALAFLAGS) $(VALAFLAGS) -C command/command-error.vala command/command-runner.vala core/cover.vala core/game.vala core/game-callback.vala core/game-collection.vala core/game-uri-adapter.vala core/icon.vala core/input-capabilities.vala core/media.vala core/media-info.vala core/media-set/media-set.vala core/media-set/media-set-error.vala core/plugin.vala core/plugin-register.vala core/plugin-register-iterator.vala core/plugin-registrar.vala core/runner.vala core/title.vala core/uid.vala core/uri-game-factory.vala core/uri-iterator.vala core/uri-source.vala database/database.vala database/database-error.vala database/database-uri-iterator.vala database/database-uri-source.vala dummy/dummy-cover.vala dummy/dummy-game.vala dummy/dummy-icon.vala dummy/dummy-runner.vala gameinfo/gameinfo-doc.vala gameinfo/gameinfo-error.vala gameinfo/gameinfo-disc-id-disc-title.vala gameinfo/gameinfo-disc-id-game-title.vala gameinfo/gameinfo-disc-id-input-capabilities.vala gamepad/gamepad-mapping-builder.vala generic/generic-game.vala generic/generic-game-uri-adapter.vala generic/generic-title.vala generic/generic-uid.vala generic/generic-uri-game-factory.vala grilo/grilo-cover.vala grilo/grilo-media.vala retro/retro-core-source.vala retro/retro-error.vala retro/retro-gamepad.vala retro/retro-input-manager.vala retro/retro-platform.vala retro/retro-runner.vala retro/retro-simple-game-uri-adapter.vala retro/retro-simple-type.vala retro/retro-simple-types.vala tracker/mime-type-tracker-uri-query.vala tracker/tracker-error.vala tracker/tracker-uri-iterator.vala tracker/tracker-uri-query.vala tracker/tracker-uri-source.vala ui/application.vala ui/application-window.vala ui/checkmark-item.vala ui/collection-box.vala ui/collection-icon-view.vala ui/collection-header-bar.vala ui/display-box.vala ui/display-header-bar.vala ui/dummy-display.vala ui/empty-collection.vala ui/error-display.vala ui/error-info-bar.vala ui/gamepad-configurer.vala ui/gamepad-mapper.vala ui/gamepad-tester.vala ui/gamepad-view.vala ui/game-icon-view.vala ui/game-thumbnail.vala ui/gamepad-view-configuration.vala ui/media-selector.vala ui/media-menu-button.vala ui/preferences-page.vala ui/preferences-page-controllers.vala ui/preferences-page-plugins.vala ui/preferences-page-plugins-item.vala ui/preferences-page-video.vala ui/preferences-window.vala ui/quit-dialog.vala ui/remote-display.vala ui/reset-gamepad-mapping-dialog.vala ui/resume-dialog.vala ui/resume-failed-dialog.vala ui/search-bar.vala ui/ui-state.vala utils/composite-cover.vala utils/composite-title.vala utils/cue-sheet/cue-sheet.vala utils/cue-sheet/cue-sheet-error.vala utils/cue-sheet/cue-sheet-file-format.vala utils/cue-sheet/cue-sheet-file-node.vala utils/cue-sheet/cue-sheet-track-mode.vala utils/cue-sheet/cue-sheet-track-node.vala utils/directory.vala utils/filename-title.vala utils/fingerprint.vala utils/grep.vala utils/local-cover.vala utils/string-input-stream.vala utils/uri.vala utils/uri-error.vala utils/xml-doc.vala config.vala credits.vala main.vala + $(AM_V_VALAC)$(am__cd) $(srcdir) && $(VALAC) $(gnome_games_VALAFLAGS) $(VALAFLAGS) -C command/command-error.vala command/command-runner.vala core/cover.vala core/game.vala core/game-callback.vala core/game-collection.vala core/game-uri-adapter.vala core/icon.vala core/input-capabilities.vala core/media.vala core/media-info.vala core/media-set/media-set.vala core/media-set/media-set-error.vala core/plugin.vala core/plugin-register.vala core/plugin-register-iterator.vala core/plugin-registrar.vala core/runner.vala core/title.vala core/uid.vala core/uri-game-factory.vala core/uri-iterator.vala core/uri-source.vala database/database.vala database/database-error.vala database/database-uri-iterator.vala database/database-uri-source.vala dummy/dummy-cover.vala dummy/dummy-game.vala dummy/dummy-icon.vala dummy/dummy-runner.vala gameinfo/gameinfo-doc.vala gameinfo/gameinfo-error.vala gameinfo/gameinfo-disc-id-disc-title.vala gameinfo/gameinfo-disc-id-game-title.vala gameinfo/gameinfo-disc-id-input-capabilities.vala gamepad/gamepad-dpad.vala gamepad/gamepad-input.vala gamepad/gamepad-mapping-builder.vala generic/generic-game.vala generic/generic-game-uri-adapter.vala generic/generic-title.vala generic/generic-uid.vala generic/generic-uri-game-factory.vala grilo/grilo-cover.vala grilo/grilo-media.vala retro/retro-core-source.vala retro/retro-error.vala retro/retro-gamepad.vala retro/retro-input-manager.vala retro/retro-platform.vala retro/retro-runner.vala retro/retro-simple-game-uri-adapter.vala retro/retro-simple-type.vala retro/retro-simple-types.vala tracker/mime-type-tracker-uri-query.vala tracker/tracker-error.vala tracker/tracker-uri-iterator.vala tracker/tracker-uri-query.vala tracker/tracker-uri-source.vala ui/application.vala ui/application-window.vala ui/checkmark-item.vala ui/collection-box.vala ui/collection-icon-view.vala ui/collection-header-bar.vala ui/display-box.vala ui/display-header-bar.vala ui/dummy-display.vala ui/empty-collection.vala ui/error-display.vala ui/error-info-bar.vala ui/gamepad-configurer.vala ui/gamepad-mapper.vala ui/gamepad-tester.vala ui/gamepad-view.vala ui/game-icon-view.vala ui/game-thumbnail.vala ui/gamepad-view-configuration.vala ui/media-selector.vala ui/media-menu-button.vala ui/preferences-page.vala ui/preferences-page-controllers.vala ui/preferences-page-plugins.vala ui/preferences-page-plugins-item.vala ui/preferences-page-video.vala ui/preferences-window.vala ui/quit-dialog.vala ui/remote-display.vala ui/reset-gamepad-mapping-dialog.vala ui/resume-dialog.vala ui/resume-failed-dialog.vala ui/search-bar.vala ui/ui-state.vala utils/composite-cover.vala utils/composite-title.vala utils/cue-sheet/cue-sheet.vala utils/cue-sheet/cue-sheet-error.vala utils/cue-sheet/cue-sheet-file-format.vala utils/cue-sheet/cue-sheet-file-node.vala utils/cue-sheet/cue-sheet-track-mode.vala utils/cue-sheet/cue-sheet-track-node.vala utils/directory.vala utils/filename-title.vala utils/fingerprint.vala utils/grep.vala utils/local-cover.vala utils/string-input-stream.vala utils/uri.vala utils/uri-error.vala utils/xml-doc.vala config.vala credits.vala main.vala $(AM_V_at)mv -f $@-t $@ mostlyclean-libtool: @@ -3965,14 +3695,10 @@ -rm -f database/$(am__dirstamp) -rm -f dummy/$(DEPDIR)/$(am__dirstamp) -rm -f dummy/$(am__dirstamp) - -rm -f event/$(DEPDIR)/$(am__dirstamp) - -rm -f event/$(am__dirstamp) -rm -f gameinfo/$(DEPDIR)/$(am__dirstamp) -rm -f gameinfo/$(am__dirstamp) -rm -f gamepad/$(DEPDIR)/$(am__dirstamp) -rm -f gamepad/$(am__dirstamp) - -rm -f gamepad/linux/$(DEPDIR)/$(am__dirstamp) - -rm -f gamepad/linux/$(am__dirstamp) -rm -f generic/$(DEPDIR)/$(am__dirstamp) -rm -f generic/$(am__dirstamp) -rm -f grilo/$(DEPDIR)/$(am__dirstamp) @@ -4029,6 +3755,8 @@ -rm -f $(srcdir)/gameinfo/gameinfo-disc-id-input-capabilities.c -rm -f $(srcdir)/gameinfo/gameinfo-doc.c -rm -f $(srcdir)/gameinfo/gameinfo-error.c + -rm -f $(srcdir)/gamepad/gamepad-dpad.c + -rm -f $(srcdir)/gamepad/gamepad-input.c -rm -f $(srcdir)/gamepad/gamepad-mapping-builder.c -rm -f $(srcdir)/generic/generic-game-uri-adapter.c -rm -f $(srcdir)/generic/generic-game.c @@ -4144,6 +3872,8 @@ -rm -f gameinfo/gameinfo-disc-id-input-capabilities.c -rm -f gameinfo/gameinfo-doc.c -rm -f gameinfo/gameinfo-error.c + -rm -f gamepad/gamepad-dpad.c + -rm -f gamepad/gamepad-input.c -rm -f gamepad/gamepad-mapping-builder.c -rm -f generic/generic-game-uri-adapter.c -rm -f generic/generic-game.c @@ -4225,7 +3955,7 @@ clean-am: clean-binPROGRAMS clean-generic clean-libtool mostlyclean-am distclean: distclean-am - -rm -rf ./$(DEPDIR) command/$(DEPDIR) core/$(DEPDIR) core/media-set/$(DEPDIR) database/$(DEPDIR) dummy/$(DEPDIR) event/$(DEPDIR) gameinfo/$(DEPDIR) gamepad/$(DEPDIR) gamepad/linux/$(DEPDIR) generic/$(DEPDIR) grilo/$(DEPDIR) retro/$(DEPDIR) tracker/$(DEPDIR) ui/$(DEPDIR) utils/$(DEPDIR) utils/cue-sheet/$(DEPDIR) + -rm -rf ./$(DEPDIR) command/$(DEPDIR) core/$(DEPDIR) core/media-set/$(DEPDIR) database/$(DEPDIR) dummy/$(DEPDIR) gameinfo/$(DEPDIR) gamepad/$(DEPDIR) generic/$(DEPDIR) grilo/$(DEPDIR) retro/$(DEPDIR) tracker/$(DEPDIR) ui/$(DEPDIR) utils/$(DEPDIR) utils/cue-sheet/$(DEPDIR) -rm -f Makefile distclean-am: clean-am distclean-compile distclean-generic \ distclean-tags @@ -4272,7 +4002,7 @@ installcheck-am: maintainer-clean: maintainer-clean-am - -rm -rf ./$(DEPDIR) command/$(DEPDIR) core/$(DEPDIR) core/media-set/$(DEPDIR) database/$(DEPDIR) dummy/$(DEPDIR) event/$(DEPDIR) gameinfo/$(DEPDIR) gamepad/$(DEPDIR) gamepad/linux/$(DEPDIR) generic/$(DEPDIR) grilo/$(DEPDIR) retro/$(DEPDIR) tracker/$(DEPDIR) ui/$(DEPDIR) utils/$(DEPDIR) utils/cue-sheet/$(DEPDIR) + -rm -rf ./$(DEPDIR) command/$(DEPDIR) core/$(DEPDIR) core/media-set/$(DEPDIR) database/$(DEPDIR) dummy/$(DEPDIR) gameinfo/$(DEPDIR) gamepad/$(DEPDIR) generic/$(DEPDIR) grilo/$(DEPDIR) retro/$(DEPDIR) tracker/$(DEPDIR) ui/$(DEPDIR) utils/$(DEPDIR) utils/cue-sheet/$(DEPDIR) -rm -f Makefile maintainer-clean-am: distclean-am maintainer-clean-generic diff -Nru gnome-games-app-3.26.2/src/resources.c gnome-games-app-3.28.0/src/resources.c --- gnome-games-app-3.26.2/src/resources.c 2017-11-07 19:00:35.000000000 +0000 +++ gnome-games-app-3.28.0/src/resources.c 2018-03-12 14:57:09.000000000 +0000 @@ -6,4628 +6,148 @@ # define SECTION #endif -static const SECTION union { const guint8 data[100979]; const double alignment; void * const ptr;} org_resource_data = { { +static const SECTION union { const guint8 data[65256]; const double alignment; void * const ptr;} org_resource_data = { { 0x47, 0x56, 0x61, 0x72, 0x69, 0x61, 0x6e, 0x74, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x18, 0x00, 0x00, 0x00, 0x64, 0x04, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x28, 0x27, 0x00, 0x00, 0x00, - 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x01, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x48, 0x04, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x28, 0x26, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x01, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, + 0x04, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, - 0x08, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, - 0x09, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, - 0x0d, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x0c, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, + 0x0f, 0x00, 0x00, 0x00, 0x0f, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, - 0x10, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, - 0x12, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, - 0x14, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, - 0x15, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x11, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, + 0x13, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, - 0x18, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, - 0x1c, 0x00, 0x00, 0x00, 0x1e, 0x00, 0x00, 0x00, - 0x1f, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, + 0x19, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, + 0x1b, 0x00, 0x00, 0x00, 0x1b, 0x00, 0x00, 0x00, + 0x1b, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, + 0x1e, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, - 0x21, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, - 0x24, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, - 0x25, 0x00, 0x00, 0x00, 0x0f, 0x62, 0x53, 0xce, - 0x04, 0x00, 0x00, 0x00, 0x64, 0x04, 0x00, 0x00, - 0x14, 0x00, 0x76, 0x00, 0x78, 0x04, 0x00, 0x00, - 0x48, 0x90, 0x00, 0x00, 0x13, 0xa8, 0x40, 0x8a, - 0x0d, 0x00, 0x00, 0x00, 0x48, 0x90, 0x00, 0x00, - 0x11, 0x00, 0x76, 0x00, 0x60, 0x90, 0x00, 0x00, - 0x1f, 0x93, 0x00, 0x00, 0x34, 0xea, 0xa2, 0x0a, - 0x0d, 0x00, 0x00, 0x00, 0x1f, 0x93, 0x00, 0x00, - 0x11, 0x00, 0x76, 0x00, 0x30, 0x93, 0x00, 0x00, - 0x32, 0x9c, 0x00, 0x00, 0xd0, 0x57, 0xd7, 0x38, - 0x0d, 0x00, 0x00, 0x00, 0x32, 0x9c, 0x00, 0x00, - 0x1b, 0x00, 0x76, 0x00, 0x50, 0x9c, 0x00, 0x00, - 0xf3, 0xa1, 0x00, 0x00, 0x9d, 0xc4, 0xc1, 0x81, - 0x1a, 0x00, 0x00, 0x00, 0xf3, 0xa1, 0x00, 0x00, - 0x09, 0x00, 0x4c, 0x00, 0xfc, 0xa1, 0x00, 0x00, - 0x04, 0xa2, 0x00, 0x00, 0xc7, 0xa7, 0x9a, 0x3f, - 0x1a, 0x00, 0x00, 0x00, 0x04, 0xa2, 0x00, 0x00, - 0x0d, 0x00, 0x76, 0x00, 0x18, 0xa2, 0x00, 0x00, - 0x7f, 0xa3, 0x00, 0x00, 0xb2, 0x02, 0xff, 0x47, - 0x0d, 0x00, 0x00, 0x00, 0x7f, 0xa3, 0x00, 0x00, - 0x10, 0x00, 0x76, 0x00, 0x90, 0xa3, 0x00, 0x00, - 0x5d, 0xab, 0x00, 0x00, 0x9a, 0xd4, 0x14, 0x36, - 0x0d, 0x00, 0x00, 0x00, 0x5d, 0xab, 0x00, 0x00, - 0x1f, 0x00, 0x76, 0x00, 0x80, 0xab, 0x00, 0x00, - 0x5c, 0xb0, 0x00, 0x00, 0x94, 0x80, 0x48, 0xb5, - 0x0d, 0x00, 0x00, 0x00, 0x5c, 0xb0, 0x00, 0x00, - 0x10, 0x00, 0x76, 0x00, 0x70, 0xb0, 0x00, 0x00, - 0x39, 0xb9, 0x00, 0x00, 0xcf, 0x7e, 0xb4, 0xe9, - 0x0d, 0x00, 0x00, 0x00, 0x39, 0xb9, 0x00, 0x00, - 0x17, 0x00, 0x76, 0x00, 0x50, 0xb9, 0x00, 0x00, - 0x9e, 0xbf, 0x00, 0x00, 0x25, 0xe6, 0x91, 0xc5, - 0x0d, 0x00, 0x00, 0x00, 0x9e, 0xbf, 0x00, 0x00, - 0x17, 0x00, 0x76, 0x00, 0xb8, 0xbf, 0x00, 0x00, - 0x00, 0xc4, 0x00, 0x00, 0x10, 0xca, 0xff, 0xcd, - 0x0d, 0x00, 0x00, 0x00, 0x00, 0xc4, 0x00, 0x00, - 0x14, 0x00, 0x76, 0x00, 0x18, 0xc4, 0x00, 0x00, - 0x55, 0xc6, 0x00, 0x00, 0x9d, 0xe2, 0xf6, 0xbb, - 0x0d, 0x00, 0x00, 0x00, 0x55, 0xc6, 0x00, 0x00, - 0x11, 0x00, 0x76, 0x00, 0x68, 0xc6, 0x00, 0x00, - 0xf8, 0xcc, 0x00, 0x00, 0x19, 0x0b, 0x7d, 0x7b, - 0x1a, 0x00, 0x00, 0x00, 0xf8, 0xcc, 0x00, 0x00, - 0x03, 0x00, 0x4c, 0x00, 0xfc, 0xcc, 0x00, 0x00, - 0x6c, 0xcd, 0x00, 0x00, 0xaa, 0x2d, 0x82, 0x2f, - 0x0d, 0x00, 0x00, 0x00, 0x6c, 0xcd, 0x00, 0x00, - 0x11, 0x00, 0x76, 0x00, 0x80, 0xcd, 0x00, 0x00, - 0x84, 0xd0, 0x00, 0x00, 0x6a, 0x68, 0xf8, 0x06, - 0x0d, 0x00, 0x00, 0x00, 0x84, 0xd0, 0x00, 0x00, - 0x11, 0x00, 0x76, 0x00, 0x98, 0xd0, 0x00, 0x00, - 0x56, 0xd3, 0x00, 0x00, 0xd4, 0xb5, 0x02, 0x00, - 0xff, 0xff, 0xff, 0xff, 0x56, 0xd3, 0x00, 0x00, - 0x01, 0x00, 0x4c, 0x00, 0x58, 0xd3, 0x00, 0x00, - 0x5c, 0xd3, 0x00, 0x00, 0xfc, 0x76, 0x2c, 0x5a, - 0x0d, 0x00, 0x00, 0x00, 0x5c, 0xd3, 0x00, 0x00, - 0x15, 0x00, 0x76, 0x00, 0x78, 0xd3, 0x00, 0x00, - 0x44, 0xe0, 0x00, 0x00, 0x4b, 0x50, 0x90, 0x0b, - 0x10, 0x00, 0x00, 0x00, 0x44, 0xe0, 0x00, 0x00, - 0x04, 0x00, 0x4c, 0x00, 0x48, 0xe0, 0x00, 0x00, - 0x4c, 0xe0, 0x00, 0x00, 0x27, 0xa9, 0x29, 0x7f, - 0x0d, 0x00, 0x00, 0x00, 0x4c, 0xe0, 0x00, 0x00, - 0x11, 0x00, 0x76, 0x00, 0x60, 0xe0, 0x00, 0x00, - 0x93, 0xeb, 0x00, 0x00, 0x18, 0x41, 0xe7, 0x10, - 0x0d, 0x00, 0x00, 0x00, 0x93, 0xeb, 0x00, 0x00, - 0x11, 0x00, 0x76, 0x00, 0xa8, 0xeb, 0x00, 0x00, - 0xf6, 0xed, 0x00, 0x00, 0xa1, 0xf7, 0x16, 0xeb, - 0x1a, 0x00, 0x00, 0x00, 0xf6, 0xed, 0x00, 0x00, - 0x04, 0x00, 0x4c, 0x00, 0xfc, 0xed, 0x00, 0x00, - 0x00, 0xee, 0x00, 0x00, 0x49, 0x25, 0x72, 0x76, - 0x0d, 0x00, 0x00, 0x00, 0x00, 0xee, 0x00, 0x00, - 0x18, 0x00, 0x76, 0x00, 0x18, 0xee, 0x00, 0x00, - 0xd7, 0xf4, 0x00, 0x00, 0x2c, 0x0e, 0x43, 0xc6, - 0x0d, 0x00, 0x00, 0x00, 0xd7, 0xf4, 0x00, 0x00, - 0x20, 0x00, 0x76, 0x00, 0xf8, 0xf4, 0x00, 0x00, - 0x80, 0xf7, 0x00, 0x00, 0x75, 0x2f, 0x3f, 0xf4, - 0x15, 0x00, 0x00, 0x00, 0x80, 0xf7, 0x00, 0x00, - 0x08, 0x00, 0x76, 0x00, 0x88, 0xf7, 0x00, 0x00, - 0xec, 0xf9, 0x00, 0x00, 0x71, 0xd0, 0x4c, 0x56, - 0x0d, 0x00, 0x00, 0x00, 0xec, 0xf9, 0x00, 0x00, - 0x0e, 0x00, 0x76, 0x00, 0x00, 0xfa, 0x00, 0x00, - 0xd4, 0x01, 0x01, 0x00, 0x2c, 0xcb, 0x52, 0x35, - 0x1f, 0x00, 0x00, 0x00, 0xd4, 0x01, 0x01, 0x00, - 0x06, 0x00, 0x4c, 0x00, 0xdc, 0x01, 0x01, 0x00, - 0xec, 0x01, 0x01, 0x00, 0x5e, 0xe5, 0x9c, 0xc5, - 0x0d, 0x00, 0x00, 0x00, 0xec, 0x01, 0x01, 0x00, - 0x15, 0x00, 0x76, 0x00, 0x08, 0x02, 0x01, 0x00, - 0xe3, 0x09, 0x01, 0x00, 0x28, 0x8a, 0x16, 0xe1, - 0x04, 0x00, 0x00, 0x00, 0xe3, 0x09, 0x01, 0x00, - 0x14, 0x00, 0x76, 0x00, 0xf8, 0x09, 0x01, 0x00, - 0xb2, 0x4c, 0x01, 0x00, 0x53, 0xf5, 0xaa, 0xda, - 0x0d, 0x00, 0x00, 0x00, 0xb2, 0x4c, 0x01, 0x00, - 0x15, 0x00, 0x76, 0x00, 0xc8, 0x4c, 0x01, 0x00, - 0xdc, 0x57, 0x01, 0x00, 0x53, 0xd7, 0x16, 0x0a, - 0x0d, 0x00, 0x00, 0x00, 0xdc, 0x57, 0x01, 0x00, - 0x10, 0x00, 0x76, 0x00, 0xf0, 0x57, 0x01, 0x00, - 0xec, 0x5b, 0x01, 0x00, 0xb0, 0xb7, 0x24, 0x30, - 0x12, 0x00, 0x00, 0x00, 0xec, 0x5b, 0x01, 0x00, - 0x06, 0x00, 0x4c, 0x00, 0xf4, 0x5b, 0x01, 0x00, - 0xf8, 0x5b, 0x01, 0x00, 0xc5, 0x3a, 0x80, 0xff, - 0x0d, 0x00, 0x00, 0x00, 0xf8, 0x5b, 0x01, 0x00, - 0x1f, 0x00, 0x76, 0x00, 0x18, 0x5c, 0x01, 0x00, - 0x76, 0x64, 0x01, 0x00, 0xdd, 0xff, 0x75, 0xd1, - 0x0d, 0x00, 0x00, 0x00, 0x76, 0x64, 0x01, 0x00, - 0x0d, 0x00, 0x76, 0x00, 0x88, 0x64, 0x01, 0x00, - 0x94, 0x66, 0x01, 0x00, 0x95, 0x89, 0x9c, 0x94, - 0x0d, 0x00, 0x00, 0x00, 0x94, 0x66, 0x01, 0x00, - 0x15, 0x00, 0x76, 0x00, 0xb0, 0x66, 0x01, 0x00, - 0xd0, 0x71, 0x01, 0x00, 0x0d, 0x58, 0x07, 0x77, - 0x0d, 0x00, 0x00, 0x00, 0xd0, 0x71, 0x01, 0x00, - 0x13, 0x00, 0x76, 0x00, 0xe8, 0x71, 0x01, 0x00, - 0x1d, 0x7b, 0x01, 0x00, 0xa5, 0xa9, 0x37, 0x46, - 0x0d, 0x00, 0x00, 0x00, 0x1d, 0x7b, 0x01, 0x00, - 0x19, 0x00, 0x76, 0x00, 0x38, 0x7b, 0x01, 0x00, - 0x9d, 0x81, 0x01, 0x00, 0xc6, 0x7d, 0x35, 0x40, - 0x0d, 0x00, 0x00, 0x00, 0x9d, 0x81, 0x01, 0x00, - 0x11, 0x00, 0x76, 0x00, 0xb0, 0x81, 0x01, 0x00, - 0xcd, 0x85, 0x01, 0x00, 0xc5, 0x47, 0xd2, 0x91, - 0x0d, 0x00, 0x00, 0x00, 0xcd, 0x85, 0x01, 0x00, - 0x0e, 0x00, 0x76, 0x00, 0xe0, 0x85, 0x01, 0x00, - 0x73, 0x8a, 0x01, 0x00, 0x67, 0x61, 0x6d, 0x65, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, - 0x65, 0x72, 0x64, 0x62, 0x2e, 0x74, 0x78, 0x74, - 0xc0, 0x8b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x23, 0x20, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x3a, 0x20, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, - 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, - 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x61, 0x62, - 0x6f, 0x6d, 0x64, 0x71, 0x2f, 0x53, 0x44, 0x4c, - 0x5f, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x44, - 0x42, 0x0a, 0x0a, 0x23, 0x20, 0x57, 0x69, 0x6e, - 0x64, 0x6f, 0x77, 0x73, 0x20, 0x2d, 0x20, 0x44, - 0x49, 0x4e, 0x50, 0x55, 0x54, 0x0a, 0x38, 0x66, - 0x30, 0x65, 0x31, 0x32, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x35, 0x30, 0x34, 0x39, 0x34, 0x34, - 0x35, 0x36, 0x34, 0x39, 0x34, 0x34, 0x2c, 0x41, - 0x63, 0x6d, 0x65, 0x2c, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x57, 0x69, 0x6e, - 0x64, 0x6f, 0x77, 0x73, 0x2c, 0x78, 0x3a, 0x62, - 0x32, 0x2c, 0x61, 0x3a, 0x62, 0x30, 0x2c, 0x62, - 0x3a, 0x62, 0x31, 0x2c, 0x79, 0x3a, 0x62, 0x33, - 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x38, - 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, - 0x39, 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, - 0x3a, 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, - 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, - 0x34, 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, 0x2c, 0x64, - 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x36, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x37, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, 0x69, - 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, - 0x6b, 0x3a, 0x62, 0x31, 0x31, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, - 0x33, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, - 0x3a, 0x61, 0x32, 0x2c, 0x0a, 0x33, 0x34, 0x31, - 0x61, 0x33, 0x36, 0x30, 0x38, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x35, 0x30, 0x34, 0x39, 0x34, 0x34, 0x35, - 0x36, 0x34, 0x39, 0x34, 0x34, 0x2c, 0x41, 0x66, - 0x74, 0x65, 0x72, 0x67, 0x6c, 0x6f, 0x77, 0x20, - 0x50, 0x53, 0x33, 0x20, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2c, 0x61, - 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x3a, 0x62, 0x32, - 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x38, - 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, - 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, 0x70, 0x6c, - 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x38, - 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x3a, 0x68, 0x30, 0x2e, 0x32, 0x2c, 0x64, 0x70, - 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, - 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, 0x62, 0x31, - 0x32, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, - 0x34, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x30, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x62, 0x36, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, - 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x31, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x37, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, - 0x61, 0x32, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x79, 0x3a, 0x61, 0x33, 0x2c, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x3a, 0x62, 0x39, 0x2c, 0x78, 0x3a, - 0x62, 0x30, 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x3a, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, - 0x2c, 0x0a, 0x66, 0x66, 0x66, 0x66, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x35, 0x30, - 0x34, 0x39, 0x34, 0x34, 0x35, 0x36, 0x34, 0x39, - 0x34, 0x34, 0x2c, 0x47, 0x61, 0x6d, 0x65, 0x53, - 0x74, 0x6f, 0x70, 0x20, 0x47, 0x61, 0x6d, 0x65, - 0x70, 0x61, 0x64, 0x2c, 0x61, 0x3a, 0x62, 0x30, - 0x2c, 0x62, 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x61, - 0x63, 0x6b, 0x3a, 0x62, 0x38, 0x2c, 0x64, 0x70, - 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, - 0x34, 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, - 0x3a, 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, - 0x2e, 0x32, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, - 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x67, 0x75, 0x69, - 0x64, 0x65, 0x3a, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x34, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, - 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x36, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, - 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, - 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x31, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, - 0x62, 0x37, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x78, 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x79, 0x3a, 0x61, 0x33, 0x2c, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x39, 0x2c, - 0x78, 0x3a, 0x62, 0x32, 0x2c, 0x79, 0x3a, 0x62, - 0x33, 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x3a, 0x57, 0x69, 0x6e, 0x64, 0x6f, - 0x77, 0x73, 0x2c, 0x0a, 0x36, 0x64, 0x30, 0x34, - 0x31, 0x36, 0x63, 0x32, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x35, 0x30, 0x34, 0x39, 0x34, 0x34, 0x35, 0x36, - 0x34, 0x39, 0x34, 0x34, 0x2c, 0x47, 0x65, 0x6e, - 0x65, 0x72, 0x69, 0x63, 0x20, 0x44, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, - 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x6c, 0x65, 0x72, 0x2c, 0x61, 0x3a, 0x62, 0x31, - 0x2c, 0x62, 0x3a, 0x62, 0x32, 0x2c, 0x62, 0x61, - 0x63, 0x6b, 0x3a, 0x62, 0x38, 0x2c, 0x64, 0x70, - 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, - 0x34, 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, - 0x3a, 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, - 0x2e, 0x32, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, - 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x31, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, - 0x36, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, - 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, - 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x62, 0x35, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, - 0x62, 0x31, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x3a, 0x62, 0x37, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x78, 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, 0x33, 0x2c, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x39, - 0x2c, 0x78, 0x3a, 0x62, 0x30, 0x2c, 0x79, 0x3a, - 0x62, 0x33, 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x3a, 0x57, 0x69, 0x6e, 0x64, - 0x6f, 0x77, 0x73, 0x2c, 0x0a, 0x30, 0x64, 0x30, - 0x66, 0x36, 0x65, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x35, 0x30, 0x34, 0x39, 0x34, 0x34, 0x35, - 0x36, 0x34, 0x39, 0x34, 0x34, 0x2c, 0x48, 0x4f, - 0x52, 0x49, 0x50, 0x41, 0x44, 0x20, 0x34, 0x2c, - 0x61, 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x3a, 0x62, - 0x32, 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, 0x78, - 0x3a, 0x62, 0x30, 0x2c, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x3a, 0x62, 0x39, 0x2c, 0x67, 0x75, 0x69, - 0x64, 0x65, 0x3a, 0x62, 0x31, 0x32, 0x2c, 0x62, - 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x38, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, - 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, - 0x62, 0x31, 0x31, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x34, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x62, 0x35, 0x2c, 0x64, 0x70, 0x75, - 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x64, - 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, - 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, - 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, - 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, - 0x30, 0x2e, 0x32, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, 0x32, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, - 0x33, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x36, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x37, - 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x3a, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, - 0x73, 0x2c, 0x0a, 0x36, 0x64, 0x30, 0x34, 0x31, - 0x39, 0x63, 0x32, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x35, - 0x30, 0x34, 0x39, 0x34, 0x34, 0x35, 0x36, 0x34, - 0x39, 0x34, 0x34, 0x2c, 0x4c, 0x6f, 0x67, 0x69, - 0x74, 0x65, 0x63, 0x68, 0x20, 0x46, 0x37, 0x31, - 0x30, 0x20, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x61, - 0x64, 0x2c, 0x61, 0x3a, 0x62, 0x31, 0x2c, 0x62, - 0x3a, 0x62, 0x32, 0x2c, 0x62, 0x61, 0x63, 0x6b, - 0x3a, 0x62, 0x38, 0x2c, 0x64, 0x70, 0x64, 0x6f, - 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, - 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, - 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, - 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, - 0x2e, 0x31, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x34, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x30, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x36, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, - 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, - 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, - 0x37, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, - 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x79, 0x3a, 0x61, 0x33, 0x2c, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x3a, 0x62, 0x39, 0x2c, 0x78, - 0x3a, 0x62, 0x30, 0x2c, 0x79, 0x3a, 0x62, 0x33, - 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x3a, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, - 0x73, 0x2c, 0x0a, 0x38, 0x38, 0x38, 0x38, 0x30, - 0x38, 0x30, 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x35, - 0x30, 0x34, 0x39, 0x34, 0x34, 0x35, 0x36, 0x34, - 0x39, 0x34, 0x34, 0x2c, 0x50, 0x53, 0x33, 0x20, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, - 0x65, 0x72, 0x2c, 0x61, 0x3a, 0x62, 0x32, 0x2c, - 0x62, 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x61, 0x63, - 0x6b, 0x3a, 0x62, 0x38, 0x2c, 0x64, 0x70, 0x64, - 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x38, - 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, - 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, 0x70, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, - 0x32, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, - 0x30, 0x2e, 0x31, 0x2c, 0x67, 0x75, 0x69, 0x64, - 0x65, 0x3a, 0x62, 0x31, 0x32, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, - 0x62, 0x39, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, - 0x36, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, - 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, - 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x62, 0x35, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, - 0x62, 0x31, 0x30, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x3a, 0x62, 0x37, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x78, 0x3a, 0x61, 0x33, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, 0x34, 0x2c, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x31, - 0x31, 0x2c, 0x78, 0x3a, 0x62, 0x30, 0x2c, 0x79, - 0x3a, 0x62, 0x33, 0x2c, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x57, 0x69, 0x6e, - 0x64, 0x6f, 0x77, 0x73, 0x2c, 0x0a, 0x34, 0x63, - 0x30, 0x35, 0x36, 0x38, 0x30, 0x32, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x35, 0x30, 0x34, 0x39, 0x34, 0x34, - 0x35, 0x36, 0x34, 0x39, 0x34, 0x34, 0x2c, 0x50, - 0x53, 0x33, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2c, 0x61, 0x3a, - 0x62, 0x31, 0x34, 0x2c, 0x62, 0x3a, 0x62, 0x31, - 0x33, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, - 0x30, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, - 0x3a, 0x62, 0x36, 0x2c, 0x64, 0x70, 0x6c, 0x65, - 0x66, 0x74, 0x3a, 0x62, 0x37, 0x2c, 0x64, 0x70, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x62, 0x35, - 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x62, 0x34, - 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, 0x62, - 0x31, 0x36, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x31, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x38, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, - 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x31, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x32, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, - 0x39, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, - 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x79, 0x3a, 0x61, 0x33, 0x2c, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x3a, 0x62, 0x33, 0x2c, 0x78, - 0x3a, 0x62, 0x31, 0x35, 0x2c, 0x79, 0x3a, 0x62, - 0x31, 0x32, 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x3a, 0x57, 0x69, 0x6e, 0x64, - 0x6f, 0x77, 0x73, 0x2c, 0x0a, 0x32, 0x35, 0x30, - 0x39, 0x30, 0x35, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x35, 0x30, 0x34, 0x39, 0x34, 0x34, 0x35, - 0x36, 0x34, 0x39, 0x34, 0x34, 0x2c, 0x50, 0x53, - 0x33, 0x20, 0x44, 0x75, 0x61, 0x6c, 0x53, 0x68, - 0x6f, 0x63, 0x6b, 0x2c, 0x61, 0x3a, 0x62, 0x32, - 0x2c, 0x62, 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x61, - 0x63, 0x6b, 0x3a, 0x62, 0x39, 0x2c, 0x64, 0x70, - 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, - 0x38, 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, - 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, 0x70, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, - 0x2e, 0x32, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, - 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x67, 0x75, 0x69, - 0x64, 0x65, 0x3a, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x36, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, - 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x34, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, - 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, - 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x37, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x31, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, - 0x62, 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x78, 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x79, 0x3a, 0x61, 0x33, 0x2c, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x38, 0x2c, - 0x78, 0x3a, 0x62, 0x30, 0x2c, 0x79, 0x3a, 0x62, - 0x33, 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x3a, 0x57, 0x69, 0x6e, 0x64, 0x6f, - 0x77, 0x73, 0x2c, 0x0a, 0x34, 0x63, 0x30, 0x35, - 0x63, 0x34, 0x30, 0x35, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x35, 0x30, 0x34, 0x39, 0x34, 0x34, 0x35, 0x36, - 0x34, 0x39, 0x34, 0x34, 0x2c, 0x50, 0x53, 0x34, - 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x6c, 0x65, 0x72, 0x2c, 0x61, 0x3a, 0x62, 0x31, - 0x2c, 0x62, 0x3a, 0x62, 0x32, 0x2c, 0x62, 0x61, - 0x63, 0x6b, 0x3a, 0x62, 0x38, 0x2c, 0x64, 0x70, - 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, - 0x34, 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, - 0x3a, 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, - 0x2e, 0x32, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, - 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x67, 0x75, 0x69, - 0x64, 0x65, 0x3a, 0x62, 0x31, 0x32, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, - 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x3a, 0x61, 0x33, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, - 0x6b, 0x3a, 0x62, 0x31, 0x31, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x61, 0x34, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, 0x32, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, - 0x35, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, - 0x62, 0x39, 0x2c, 0x78, 0x3a, 0x62, 0x30, 0x2c, - 0x79, 0x3a, 0x62, 0x33, 0x2c, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x57, 0x69, - 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x2c, 0x0a, 0x36, - 0x64, 0x30, 0x34, 0x31, 0x38, 0x63, 0x32, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x35, 0x30, 0x34, 0x39, 0x34, - 0x34, 0x35, 0x36, 0x34, 0x39, 0x34, 0x34, 0x2c, - 0x4c, 0x6f, 0x67, 0x69, 0x74, 0x65, 0x63, 0x68, - 0x20, 0x52, 0x75, 0x6d, 0x62, 0x6c, 0x65, 0x50, - 0x61, 0x64, 0x20, 0x32, 0x20, 0x55, 0x53, 0x42, - 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x3a, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, - 0x73, 0x2c, 0x78, 0x3a, 0x62, 0x30, 0x2c, 0x61, - 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x3a, 0x62, 0x32, - 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, 0x62, 0x61, - 0x63, 0x6b, 0x3a, 0x62, 0x38, 0x2c, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x3a, 0x62, 0x39, 0x2c, 0x64, - 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, - 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, - 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, - 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, - 0x30, 0x2e, 0x32, 0x2c, 0x64, 0x70, 0x75, 0x70, - 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x3a, 0x62, 0x36, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x62, 0x37, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, - 0x62, 0x31, 0x30, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x31, 0x31, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, - 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x78, 0x3a, 0x61, 0x32, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, 0x33, - 0x2c, 0x0a, 0x33, 0x36, 0x32, 0x38, 0x30, 0x31, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x35, 0x30, - 0x34, 0x39, 0x34, 0x34, 0x35, 0x36, 0x34, 0x39, - 0x34, 0x34, 0x2c, 0x4f, 0x55, 0x59, 0x41, 0x20, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, - 0x65, 0x72, 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x3a, 0x57, 0x69, 0x6e, 0x64, - 0x6f, 0x77, 0x73, 0x2c, 0x61, 0x3a, 0x62, 0x30, - 0x2c, 0x62, 0x3a, 0x62, 0x33, 0x2c, 0x79, 0x3a, - 0x62, 0x32, 0x2c, 0x78, 0x3a, 0x62, 0x31, 0x2c, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x31, - 0x34, 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, - 0x62, 0x31, 0x35, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x36, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x37, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, - 0x64, 0x70, 0x75, 0x70, 0x3a, 0x62, 0x38, 0x2c, - 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x62, - 0x31, 0x30, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, - 0x6e, 0x3a, 0x62, 0x39, 0x2c, 0x64, 0x70, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x3a, 0x62, 0x31, 0x31, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, - 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, - 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x78, 0x3a, 0x61, 0x33, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x79, 0x3a, 0x61, 0x34, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x62, 0x31, 0x32, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x62, 0x31, 0x33, 0x2c, - 0x0a, 0x34, 0x66, 0x30, 0x34, 0x30, 0x30, 0x62, - 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x35, 0x30, 0x34, - 0x39, 0x34, 0x34, 0x35, 0x36, 0x34, 0x39, 0x34, - 0x34, 0x2c, 0x54, 0x68, 0x72, 0x75, 0x73, 0x74, - 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x20, 0x46, - 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x6d, - 0x20, 0x44, 0x75, 0x61, 0x6c, 0x20, 0x50, 0x6f, - 0x77, 0x65, 0x72, 0x2c, 0x61, 0x3a, 0x62, 0x30, - 0x2c, 0x62, 0x3a, 0x62, 0x32, 0x2c, 0x79, 0x3a, - 0x62, 0x33, 0x2c, 0x78, 0x3a, 0x62, 0x31, 0x2c, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x31, - 0x30, 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, - 0x62, 0x38, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, - 0x62, 0x39, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x31, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x32, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x36, - 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, - 0x2e, 0x31, 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, - 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, - 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, - 0x2e, 0x34, 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, - 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, - 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x79, 0x3a, 0x61, 0x33, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x3a, 0x62, 0x35, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x3a, 0x62, 0x37, 0x2c, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x57, 0x69, - 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x2c, 0x0a, 0x30, - 0x30, 0x66, 0x30, 0x30, 0x33, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x35, 0x30, 0x34, 0x39, 0x34, - 0x34, 0x35, 0x36, 0x34, 0x39, 0x34, 0x34, 0x2c, - 0x52, 0x65, 0x74, 0x72, 0x6f, 0x55, 0x53, 0x42, - 0x2e, 0x63, 0x6f, 0x6d, 0x20, 0x52, 0x65, 0x74, - 0x72, 0x6f, 0x50, 0x61, 0x64, 0x2c, 0x61, 0x3a, - 0x62, 0x31, 0x2c, 0x62, 0x3a, 0x62, 0x35, 0x2c, - 0x78, 0x3a, 0x62, 0x30, 0x2c, 0x79, 0x3a, 0x62, - 0x34, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, - 0x32, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, - 0x62, 0x33, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x36, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x37, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x57, - 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x2c, 0x0a, - 0x30, 0x30, 0x66, 0x30, 0x66, 0x31, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x35, 0x30, 0x34, 0x39, - 0x34, 0x34, 0x35, 0x36, 0x34, 0x39, 0x34, 0x34, - 0x2c, 0x52, 0x65, 0x74, 0x72, 0x6f, 0x55, 0x53, - 0x42, 0x2e, 0x63, 0x6f, 0x6d, 0x20, 0x53, 0x75, - 0x70, 0x65, 0x72, 0x20, 0x52, 0x65, 0x74, 0x72, - 0x6f, 0x50, 0x6f, 0x72, 0x74, 0x2c, 0x61, 0x3a, - 0x62, 0x31, 0x2c, 0x62, 0x3a, 0x62, 0x35, 0x2c, - 0x78, 0x3a, 0x62, 0x30, 0x2c, 0x79, 0x3a, 0x62, - 0x34, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, - 0x32, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, - 0x62, 0x33, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x36, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x37, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x57, - 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x2c, 0x0a, - 0x32, 0x38, 0x30, 0x34, 0x30, 0x31, 0x34, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x35, 0x30, 0x34, 0x39, - 0x34, 0x34, 0x35, 0x36, 0x34, 0x39, 0x34, 0x34, - 0x2c, 0x47, 0x61, 0x6d, 0x65, 0x50, 0x61, 0x64, - 0x20, 0x50, 0x72, 0x6f, 0x20, 0x55, 0x53, 0x42, - 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x3a, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, - 0x73, 0x2c, 0x61, 0x3a, 0x62, 0x31, 0x2c, 0x62, - 0x3a, 0x62, 0x32, 0x2c, 0x78, 0x3a, 0x62, 0x30, - 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, 0x62, 0x61, - 0x63, 0x6b, 0x3a, 0x62, 0x38, 0x2c, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x3a, 0x62, 0x39, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, - 0x31, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x36, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x37, - 0x2c, 0x0a, 0x66, 0x66, 0x31, 0x31, 0x33, 0x31, - 0x33, 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x35, 0x30, - 0x34, 0x39, 0x34, 0x34, 0x35, 0x36, 0x34, 0x39, - 0x34, 0x34, 0x2c, 0x53, 0x56, 0x45, 0x4e, 0x20, - 0x58, 0x2d, 0x50, 0x41, 0x44, 0x2c, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x57, - 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x2c, 0x61, - 0x3a, 0x62, 0x32, 0x2c, 0x62, 0x3a, 0x62, 0x33, - 0x2c, 0x79, 0x3a, 0x62, 0x31, 0x2c, 0x78, 0x3a, - 0x62, 0x30, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x3a, 0x62, 0x35, 0x2c, 0x62, 0x61, 0x63, 0x6b, - 0x3a, 0x62, 0x34, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x36, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x62, 0x37, 0x2c, 0x64, 0x70, 0x75, - 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x64, - 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, - 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, - 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, - 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, - 0x30, 0x2e, 0x32, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, 0x32, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, - 0x34, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x38, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x39, - 0x2c, 0x0a, 0x38, 0x66, 0x30, 0x65, 0x30, 0x33, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x35, 0x30, - 0x34, 0x39, 0x34, 0x34, 0x35, 0x36, 0x34, 0x39, - 0x34, 0x34, 0x2c, 0x50, 0x69, 0x72, 0x61, 0x6e, - 0x68, 0x61, 0x20, 0x78, 0x74, 0x72, 0x65, 0x6d, - 0x65, 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x3a, 0x57, 0x69, 0x6e, 0x64, 0x6f, - 0x77, 0x73, 0x2c, 0x78, 0x3a, 0x62, 0x33, 0x2c, - 0x61, 0x3a, 0x62, 0x32, 0x2c, 0x62, 0x3a, 0x62, - 0x31, 0x2c, 0x79, 0x3a, 0x62, 0x30, 0x2c, 0x62, - 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x38, 0x2c, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x39, 0x2c, - 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, - 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x64, 0x6f, - 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, - 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, - 0x68, 0x30, 0x2e, 0x32, 0x2c, 0x64, 0x70, 0x75, - 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x65, 0x72, 0x3a, 0x62, 0x36, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x65, 0x72, 0x3a, 0x62, 0x37, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, - 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, - 0x62, 0x31, 0x31, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, 0x33, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, - 0x32, 0x2c, 0x0a, 0x38, 0x66, 0x30, 0x65, 0x30, - 0x64, 0x33, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x35, - 0x30, 0x34, 0x39, 0x34, 0x34, 0x35, 0x36, 0x34, - 0x39, 0x34, 0x34, 0x2c, 0x4d, 0x75, 0x6c, 0x74, - 0x69, 0x6c, 0x61, 0x73, 0x65, 0x72, 0x20, 0x4a, - 0x53, 0x30, 0x37, 0x31, 0x20, 0x55, 0x53, 0x42, - 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x3a, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, - 0x73, 0x2c, 0x61, 0x3a, 0x62, 0x31, 0x2c, 0x62, - 0x3a, 0x62, 0x32, 0x2c, 0x79, 0x3a, 0x62, 0x33, - 0x2c, 0x78, 0x3a, 0x62, 0x30, 0x2c, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x3a, 0x62, 0x39, 0x2c, 0x62, - 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x38, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, - 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, - 0x62, 0x31, 0x31, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x34, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x62, 0x35, 0x2c, 0x64, 0x70, 0x75, - 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x64, - 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, - 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, - 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, - 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, - 0x30, 0x2e, 0x32, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, 0x32, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, - 0x33, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x36, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x37, - 0x2c, 0x0a, 0x31, 0x30, 0x30, 0x38, 0x30, 0x33, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x35, 0x30, - 0x34, 0x39, 0x34, 0x34, 0x35, 0x36, 0x34, 0x39, - 0x34, 0x34, 0x2c, 0x50, 0x53, 0x32, 0x20, 0x55, - 0x53, 0x42, 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x3a, 0x57, 0x69, 0x6e, 0x64, - 0x6f, 0x77, 0x73, 0x2c, 0x61, 0x3a, 0x62, 0x32, - 0x2c, 0x62, 0x3a, 0x62, 0x31, 0x2c, 0x79, 0x3a, - 0x62, 0x30, 0x2c, 0x78, 0x3a, 0x62, 0x33, 0x2c, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x39, - 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x38, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, 0x69, - 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, - 0x6b, 0x3a, 0x62, 0x31, 0x31, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x62, 0x36, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x65, 0x72, 0x3a, 0x62, 0x37, 0x2c, 0x64, - 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, - 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, - 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x64, - 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, - 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x3a, 0x68, 0x30, 0x2e, 0x32, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, - 0x34, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, - 0x3a, 0x61, 0x32, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, - 0x62, 0x34, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, - 0x62, 0x35, 0x2c, 0x0a, 0x37, 0x39, 0x30, 0x30, - 0x30, 0x36, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x35, 0x30, 0x34, 0x39, 0x34, 0x34, 0x35, 0x36, - 0x34, 0x39, 0x34, 0x34, 0x2c, 0x47, 0x2d, 0x53, - 0x68, 0x61, 0x72, 0x6b, 0x20, 0x47, 0x53, 0x2d, - 0x47, 0x50, 0x37, 0x30, 0x32, 0x2c, 0x61, 0x3a, - 0x62, 0x32, 0x2c, 0x62, 0x3a, 0x62, 0x31, 0x2c, - 0x78, 0x3a, 0x62, 0x33, 0x2c, 0x79, 0x3a, 0x62, - 0x30, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, - 0x38, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, - 0x62, 0x39, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x30, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x31, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x35, - 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, - 0x2e, 0x31, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, - 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, - 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, - 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, - 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, - 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x79, 0x3a, 0x61, 0x34, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x3a, 0x62, 0x36, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x3a, 0x62, 0x37, 0x2c, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x57, 0x69, - 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x2c, 0x0a, 0x34, - 0x62, 0x31, 0x32, 0x30, 0x31, 0x34, 0x64, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x35, 0x30, 0x34, 0x39, 0x34, - 0x34, 0x35, 0x36, 0x34, 0x39, 0x34, 0x34, 0x2c, - 0x4e, 0x59, 0x4b, 0x4f, 0x20, 0x41, 0x49, 0x52, - 0x46, 0x4c, 0x4f, 0x2c, 0x61, 0x3a, 0x62, 0x30, - 0x2c, 0x62, 0x3a, 0x62, 0x31, 0x2c, 0x78, 0x3a, - 0x62, 0x32, 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, - 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x38, 0x2c, - 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, 0x62, 0x31, - 0x30, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, - 0x62, 0x39, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x61, 0x30, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, - 0x63, 0x6b, 0x3a, 0x61, 0x32, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x61, 0x33, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, 0x64, - 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, - 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, - 0x68, 0x30, 0x2e, 0x30, 0x2c, 0x64, 0x70, 0x6c, - 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x38, - 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x3a, 0x68, 0x30, 0x2e, 0x32, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x78, 0x3a, 0x68, 0x30, 0x2e, 0x36, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, 0x68, - 0x30, 0x2e, 0x31, 0x32, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x78, 0x3a, 0x68, 0x30, 0x2e, 0x39, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, - 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x3a, 0x62, 0x36, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x3a, 0x62, 0x37, 0x2c, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x57, 0x69, 0x6e, - 0x64, 0x6f, 0x77, 0x73, 0x2c, 0x0a, 0x64, 0x36, - 0x32, 0x30, 0x36, 0x64, 0x63, 0x61, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x35, 0x30, 0x34, 0x39, 0x34, 0x34, - 0x35, 0x36, 0x34, 0x39, 0x34, 0x34, 0x2c, 0x50, - 0x6f, 0x77, 0x65, 0x72, 0x41, 0x20, 0x50, 0x72, - 0x6f, 0x20, 0x45, 0x78, 0x2c, 0x61, 0x3a, 0x62, - 0x31, 0x2c, 0x62, 0x3a, 0x62, 0x32, 0x2c, 0x78, - 0x3a, 0x62, 0x30, 0x2c, 0x79, 0x3a, 0x62, 0x33, - 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x38, - 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, 0x62, - 0x31, 0x32, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x3a, 0x62, 0x39, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, - 0x30, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x31, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, - 0x35, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, - 0x30, 0x2e, 0x31, 0x2c, 0x64, 0x70, 0x64, 0x6f, - 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x30, 0x2c, - 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, - 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, - 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, - 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x78, 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x79, 0x3a, 0x61, 0x33, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x62, 0x36, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x62, 0x37, 0x2c, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x57, - 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x2c, 0x0a, - 0x61, 0x33, 0x30, 0x36, 0x30, 0x63, 0x66, 0x66, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x35, 0x30, 0x34, 0x39, - 0x34, 0x34, 0x35, 0x36, 0x34, 0x39, 0x34, 0x34, - 0x2c, 0x53, 0x61, 0x69, 0x74, 0x65, 0x6b, 0x20, - 0x50, 0x32, 0x35, 0x30, 0x30, 0x2c, 0x61, 0x3a, - 0x62, 0x32, 0x2c, 0x62, 0x3a, 0x62, 0x33, 0x2c, - 0x79, 0x3a, 0x62, 0x31, 0x2c, 0x78, 0x3a, 0x62, - 0x30, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, - 0x62, 0x34, 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, - 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x62, 0x61, 0x63, - 0x6b, 0x3a, 0x62, 0x35, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x38, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x39, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x36, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x37, - 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, - 0x2e, 0x31, 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, - 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, - 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, - 0x2e, 0x34, 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, - 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, - 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x79, 0x3a, 0x61, 0x33, 0x2c, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x57, - 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x2c, 0x0a, - 0x34, 0x66, 0x30, 0x34, 0x31, 0x35, 0x62, 0x33, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x35, 0x30, 0x34, 0x39, - 0x34, 0x34, 0x35, 0x36, 0x34, 0x39, 0x34, 0x34, - 0x2c, 0x54, 0x68, 0x72, 0x75, 0x73, 0x74, 0x6d, - 0x61, 0x73, 0x74, 0x65, 0x72, 0x20, 0x44, 0x75, - 0x61, 0x6c, 0x20, 0x41, 0x6e, 0x61, 0x6c, 0x6f, - 0x67, 0x20, 0x33, 0x2e, 0x32, 0x2c, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x57, - 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x2c, 0x78, - 0x3a, 0x62, 0x31, 0x2c, 0x61, 0x3a, 0x62, 0x30, - 0x2c, 0x62, 0x3a, 0x62, 0x32, 0x2c, 0x79, 0x3a, - 0x62, 0x33, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, - 0x62, 0x38, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x3a, 0x62, 0x39, 0x2c, 0x64, 0x70, 0x6c, 0x65, - 0x66, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x38, 0x2c, - 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, - 0x30, 0x2e, 0x34, 0x2c, 0x64, 0x70, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, - 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, - 0x2e, 0x31, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x34, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, - 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x36, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, - 0x62, 0x37, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x30, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x31, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, - 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, - 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x79, 0x3a, 0x61, 0x33, 0x2c, 0x0a, 0x36, - 0x66, 0x30, 0x65, 0x31, 0x65, 0x30, 0x31, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x35, 0x30, 0x34, 0x39, 0x34, - 0x34, 0x35, 0x36, 0x34, 0x39, 0x34, 0x34, 0x2c, - 0x52, 0x6f, 0x63, 0x6b, 0x20, 0x43, 0x61, 0x6e, - 0x64, 0x79, 0x20, 0x47, 0x61, 0x6d, 0x65, 0x70, - 0x61, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x50, - 0x53, 0x33, 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x3a, 0x57, 0x69, 0x6e, 0x64, - 0x6f, 0x77, 0x73, 0x2c, 0x61, 0x3a, 0x62, 0x31, - 0x2c, 0x62, 0x3a, 0x62, 0x32, 0x2c, 0x78, 0x3a, - 0x62, 0x30, 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, - 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x38, 0x2c, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x39, - 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, 0x62, - 0x31, 0x32, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x34, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x35, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, - 0x30, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x31, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, - 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, - 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x78, 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x79, 0x3a, 0x61, 0x33, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x62, 0x36, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x62, 0x37, 0x2c, 0x64, 0x70, - 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, - 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, - 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x64, 0x6f, - 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, - 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, - 0x68, 0x30, 0x2e, 0x32, 0x2c, 0x0a, 0x38, 0x33, - 0x30, 0x35, 0x36, 0x30, 0x32, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x35, 0x30, 0x34, 0x39, 0x34, 0x34, - 0x35, 0x36, 0x34, 0x39, 0x34, 0x34, 0x2c, 0x69, - 0x42, 0x75, 0x66, 0x66, 0x61, 0x6c, 0x6f, 0x20, - 0x55, 0x53, 0x42, 0x20, 0x32, 0x2d, 0x61, 0x78, - 0x69, 0x73, 0x20, 0x38, 0x2d, 0x62, 0x75, 0x74, - 0x74, 0x6f, 0x6e, 0x20, 0x47, 0x61, 0x6d, 0x65, - 0x70, 0x61, 0x64, 0x2c, 0x61, 0x3a, 0x62, 0x31, - 0x2c, 0x62, 0x3a, 0x62, 0x30, 0x2c, 0x79, 0x3a, - 0x62, 0x32, 0x2c, 0x78, 0x3a, 0x62, 0x33, 0x2c, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x37, - 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x36, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, - 0x35, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, - 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, - 0x3a, 0x61, 0x31, 0x2c, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x57, 0x69, 0x6e, - 0x64, 0x6f, 0x77, 0x73, 0x2c, 0x0a, 0x31, 0x30, - 0x30, 0x38, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x35, 0x30, 0x34, 0x39, 0x34, 0x34, - 0x35, 0x36, 0x34, 0x39, 0x34, 0x34, 0x2c, 0x50, - 0x53, 0x31, 0x20, 0x55, 0x53, 0x42, 0x2c, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, - 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x2c, - 0x61, 0x3a, 0x62, 0x32, 0x2c, 0x62, 0x3a, 0x62, - 0x31, 0x2c, 0x78, 0x3a, 0x62, 0x33, 0x2c, 0x79, - 0x3a, 0x62, 0x30, 0x2c, 0x62, 0x61, 0x63, 0x6b, - 0x3a, 0x62, 0x38, 0x2c, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x3a, 0x62, 0x39, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x62, 0x36, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x62, 0x37, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, - 0x62, 0x31, 0x30, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x31, 0x31, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, - 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x78, 0x3a, 0x61, 0x33, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, 0x32, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, - 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, - 0x31, 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, - 0x3a, 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, - 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, - 0x34, 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, 0x2c, 0x0a, - 0x34, 0x39, 0x31, 0x39, 0x30, 0x32, 0x30, 0x34, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x35, 0x30, 0x34, 0x39, - 0x34, 0x34, 0x35, 0x36, 0x34, 0x39, 0x34, 0x34, - 0x2c, 0x49, 0x70, 0x65, 0x67, 0x61, 0x20, 0x50, - 0x47, 0x2d, 0x39, 0x30, 0x32, 0x33, 0x2c, 0x61, - 0x3a, 0x62, 0x30, 0x2c, 0x62, 0x3a, 0x62, 0x31, - 0x2c, 0x78, 0x3a, 0x62, 0x33, 0x2c, 0x79, 0x3a, - 0x62, 0x34, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, - 0x62, 0x31, 0x30, 0x2c, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x3a, 0x62, 0x31, 0x31, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, - 0x62, 0x31, 0x33, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x31, 0x34, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x36, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x37, 0x2c, 0x64, 0x70, 0x75, 0x70, - 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x64, 0x70, - 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, - 0x34, 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, - 0x3a, 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, - 0x2e, 0x32, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, - 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x78, 0x3a, 0x61, 0x33, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, 0x34, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x38, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x39, 0x2c, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x3a, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, - 0x2c, 0x0a, 0x34, 0x66, 0x30, 0x34, 0x32, 0x33, - 0x62, 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x35, 0x30, - 0x34, 0x39, 0x34, 0x34, 0x35, 0x36, 0x34, 0x39, - 0x34, 0x34, 0x2c, 0x44, 0x75, 0x61, 0x6c, 0x20, - 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x20, - 0x33, 0x2d, 0x69, 0x6e, 0x2d, 0x31, 0x2c, 0x61, - 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x3a, 0x62, 0x32, - 0x2c, 0x78, 0x3a, 0x62, 0x30, 0x2c, 0x79, 0x3a, - 0x62, 0x33, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, - 0x62, 0x38, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x3a, 0x62, 0x39, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, - 0x30, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x31, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, - 0x35, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, - 0x30, 0x2e, 0x31, 0x2c, 0x64, 0x70, 0x64, 0x6f, - 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, - 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, - 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, - 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, - 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x78, 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x79, 0x3a, 0x61, 0x35, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x62, 0x36, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x62, 0x37, 0x2c, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x57, - 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x2c, 0x0a, - 0x30, 0x64, 0x30, 0x66, 0x34, 0x39, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x35, 0x30, 0x34, 0x39, - 0x34, 0x34, 0x35, 0x36, 0x34, 0x39, 0x34, 0x34, - 0x2c, 0x48, 0x61, 0x74, 0x73, 0x75, 0x6e, 0x65, - 0x20, 0x4d, 0x69, 0x6b, 0x75, 0x20, 0x53, 0x68, - 0x6f, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x6c, 0x65, 0x72, 0x2c, 0x61, 0x3a, 0x62, - 0x31, 0x2c, 0x62, 0x3a, 0x62, 0x32, 0x2c, 0x78, - 0x3a, 0x62, 0x30, 0x2c, 0x79, 0x3a, 0x62, 0x33, - 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x38, - 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, 0x62, - 0x31, 0x32, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x3a, 0x62, 0x39, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, - 0x30, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x31, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, - 0x35, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, - 0x30, 0x2e, 0x31, 0x2c, 0x64, 0x70, 0x64, 0x6f, - 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, - 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, - 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, - 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, - 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x78, 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x79, 0x3a, 0x61, 0x33, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x62, 0x36, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x62, 0x37, 0x2c, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x57, - 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x2c, 0x0a, - 0x37, 0x39, 0x30, 0x30, 0x34, 0x33, 0x31, 0x38, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x35, 0x30, 0x34, 0x39, - 0x34, 0x34, 0x35, 0x36, 0x34, 0x39, 0x34, 0x34, - 0x2c, 0x4d, 0x61, 0x79, 0x66, 0x6c, 0x61, 0x73, - 0x68, 0x20, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x75, - 0x62, 0x65, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x20, 0x41, 0x64, - 0x61, 0x70, 0x74, 0x65, 0x72, 0x2c, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x57, - 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x73, 0x2c, 0x61, - 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x3a, 0x62, 0x32, - 0x2c, 0x78, 0x3a, 0x62, 0x30, 0x2c, 0x79, 0x3a, - 0x62, 0x33, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, - 0x62, 0x30, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x3a, 0x62, 0x39, 0x2c, 0x67, 0x75, 0x69, 0x64, - 0x65, 0x3a, 0x62, 0x30, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x62, 0x37, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, - 0x62, 0x30, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x30, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, - 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, - 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x78, 0x3a, 0x61, 0x35, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x79, 0x3a, 0x61, 0x32, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x61, 0x33, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x61, 0x34, 0x2c, 0x64, 0x70, - 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, - 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, - 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x64, 0x6f, - 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, - 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, - 0x68, 0x30, 0x2e, 0x32, 0x2c, 0x0a, 0x37, 0x39, - 0x30, 0x30, 0x30, 0x30, 0x31, 0x38, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x35, 0x30, 0x34, 0x39, 0x34, 0x34, - 0x35, 0x36, 0x34, 0x39, 0x34, 0x34, 0x2c, 0x4d, - 0x61, 0x79, 0x66, 0x6c, 0x61, 0x73, 0x68, 0x20, - 0x57, 0x69, 0x69, 0x55, 0x20, 0x50, 0x72, 0x6f, - 0x20, 0x47, 0x61, 0x6d, 0x65, 0x20, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, - 0x20, 0x41, 0x64, 0x61, 0x70, 0x74, 0x65, 0x72, - 0x20, 0x28, 0x44, 0x49, 0x6e, 0x70, 0x75, 0x74, - 0x29, 0x2c, 0x61, 0x3a, 0x62, 0x31, 0x2c, 0x62, - 0x3a, 0x62, 0x32, 0x2c, 0x78, 0x3a, 0x62, 0x30, - 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, 0x62, 0x61, - 0x63, 0x6b, 0x3a, 0x62, 0x38, 0x2c, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x3a, 0x62, 0x39, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, - 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, - 0x62, 0x31, 0x31, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x34, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x62, 0x35, 0x2c, 0x64, 0x70, 0x75, - 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x64, - 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, - 0x2e, 0x34, 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, - 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, - 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, - 0x30, 0x2e, 0x32, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, 0x32, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, - 0x33, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x36, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x37, - 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x3a, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, - 0x73, 0x2c, 0x0a, 0x32, 0x35, 0x30, 0x39, 0x65, - 0x38, 0x30, 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x35, - 0x30, 0x34, 0x39, 0x34, 0x34, 0x35, 0x36, 0x34, - 0x39, 0x34, 0x34, 0x2c, 0x4d, 0x61, 0x79, 0x66, - 0x6c, 0x61, 0x73, 0x68, 0x20, 0x57, 0x69, 0x69, - 0x20, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, 0x63, - 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x6c, 0x65, 0x72, 0x2c, 0x61, 0x3a, 0x62, 0x31, - 0x2c, 0x62, 0x3a, 0x62, 0x30, 0x2c, 0x78, 0x3a, - 0x62, 0x33, 0x2c, 0x79, 0x3a, 0x62, 0x32, 0x2c, - 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x38, 0x2c, - 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, 0x62, 0x31, - 0x30, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, - 0x62, 0x39, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x34, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x35, 0x2c, 0x64, 0x70, 0x75, 0x70, - 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x64, 0x70, - 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, - 0x34, 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, - 0x3a, 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, - 0x2e, 0x32, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, - 0x62, 0x31, 0x31, 0x2c, 0x64, 0x70, 0x64, 0x6f, - 0x77, 0x6e, 0x3a, 0x62, 0x31, 0x33, 0x2c, 0x64, - 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x62, 0x31, - 0x32, 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x3a, 0x62, 0x31, 0x34, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, - 0x32, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, - 0x3a, 0x61, 0x33, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, - 0x62, 0x36, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, - 0x62, 0x37, 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x3a, 0x57, 0x69, 0x6e, 0x64, - 0x6f, 0x77, 0x73, 0x2c, 0x0a, 0x33, 0x30, 0x30, - 0x66, 0x31, 0x30, 0x30, 0x31, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x35, 0x30, 0x34, 0x39, 0x34, 0x34, 0x35, - 0x36, 0x34, 0x39, 0x34, 0x34, 0x2c, 0x53, 0x61, - 0x69, 0x74, 0x65, 0x6b, 0x20, 0x50, 0x34, 0x38, - 0x30, 0x20, 0x52, 0x75, 0x6d, 0x62, 0x6c, 0x65, - 0x20, 0x50, 0x61, 0x64, 0x2c, 0x61, 0x3a, 0x62, - 0x32, 0x2c, 0x62, 0x3a, 0x62, 0x33, 0x2c, 0x78, - 0x3a, 0x62, 0x30, 0x2c, 0x79, 0x3a, 0x62, 0x31, - 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x38, - 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, - 0x39, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x30, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, - 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x31, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x36, 0x2c, - 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, - 0x31, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, - 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, 0x70, - 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, 0x2e, - 0x38, 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, - 0x61, 0x33, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x79, 0x3a, 0x61, 0x32, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x3a, 0x62, 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x3a, 0x62, 0x37, 0x2c, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x57, 0x69, 0x6e, - 0x64, 0x6f, 0x77, 0x73, 0x2c, 0x0a, 0x0a, 0x23, - 0x20, 0x4f, 0x53, 0x20, 0x58, 0x0a, 0x30, 0x35, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x34, 0x37, - 0x35, 0x33, 0x32, 0x30, 0x34, 0x37, 0x36, 0x31, - 0x36, 0x64, 0x36, 0x35, 0x37, 0x30, 0x36, 0x31, - 0x36, 0x34, 0x30, 0x30, 0x30, 0x30, 0x2c, 0x47, - 0x61, 0x6d, 0x65, 0x53, 0x74, 0x6f, 0x70, 0x20, - 0x47, 0x61, 0x6d, 0x65, 0x70, 0x61, 0x64, 0x2c, - 0x61, 0x3a, 0x62, 0x30, 0x2c, 0x62, 0x3a, 0x62, - 0x31, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, - 0x38, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, - 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, 0x70, - 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, 0x2e, - 0x38, 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, 0x2c, 0x64, - 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, - 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, - 0x6b, 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x3a, 0x62, 0x36, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, - 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x31, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x62, 0x37, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, 0x32, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, - 0x61, 0x33, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x3a, 0x62, 0x39, 0x2c, 0x78, 0x3a, 0x62, 0x32, - 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4d, - 0x61, 0x63, 0x20, 0x4f, 0x53, 0x20, 0x58, 0x2c, - 0x0a, 0x36, 0x64, 0x30, 0x34, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x31, 0x36, 0x63, 0x32, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x2c, 0x4c, 0x6f, 0x67, 0x69, 0x74, 0x65, - 0x63, 0x68, 0x20, 0x46, 0x33, 0x31, 0x30, 0x20, - 0x47, 0x61, 0x6d, 0x65, 0x70, 0x61, 0x64, 0x20, - 0x28, 0x44, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x29, - 0x2c, 0x61, 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x3a, - 0x62, 0x32, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, - 0x62, 0x38, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, - 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, - 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, - 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, 0x2c, - 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, - 0x31, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, - 0x34, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x30, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x62, 0x36, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, - 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x31, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x37, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, - 0x61, 0x32, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x79, 0x3a, 0x61, 0x33, 0x2c, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x3a, 0x62, 0x39, 0x2c, 0x78, 0x3a, - 0x62, 0x30, 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x3a, 0x4d, 0x61, 0x63, 0x20, 0x4f, 0x53, 0x20, - 0x58, 0x2c, 0x0a, 0x36, 0x64, 0x30, 0x34, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x31, 0x38, 0x63, 0x32, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x2c, 0x4c, 0x6f, 0x67, 0x69, - 0x74, 0x65, 0x63, 0x68, 0x20, 0x46, 0x35, 0x31, - 0x30, 0x20, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x61, - 0x64, 0x20, 0x28, 0x44, 0x49, 0x6e, 0x70, 0x75, - 0x74, 0x29, 0x2c, 0x61, 0x3a, 0x62, 0x31, 0x2c, - 0x62, 0x3a, 0x62, 0x32, 0x2c, 0x62, 0x61, 0x63, - 0x6b, 0x3a, 0x62, 0x38, 0x2c, 0x64, 0x70, 0x64, - 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, - 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, - 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, - 0x32, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, - 0x30, 0x2e, 0x31, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x34, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, - 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x36, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, - 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, - 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x31, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, - 0x62, 0x37, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x78, 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x79, 0x3a, 0x61, 0x33, 0x2c, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x39, 0x2c, - 0x78, 0x3a, 0x62, 0x30, 0x2c, 0x79, 0x3a, 0x62, - 0x33, 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x3a, 0x4d, 0x61, 0x63, 0x20, 0x4f, - 0x53, 0x20, 0x58, 0x2c, 0x0a, 0x36, 0x64, 0x30, - 0x34, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x66, 0x63, - 0x32, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x2c, 0x4c, 0x6f, - 0x67, 0x69, 0x74, 0x65, 0x63, 0x68, 0x20, 0x46, - 0x37, 0x31, 0x30, 0x20, 0x47, 0x61, 0x6d, 0x65, - 0x70, 0x61, 0x64, 0x20, 0x28, 0x58, 0x49, 0x6e, - 0x70, 0x75, 0x74, 0x29, 0x2c, 0x61, 0x3a, 0x62, - 0x30, 0x2c, 0x62, 0x3a, 0x62, 0x31, 0x2c, 0x62, - 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x39, 0x2c, 0x64, - 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x62, 0x31, - 0x32, 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, - 0x3a, 0x62, 0x31, 0x33, 0x2c, 0x64, 0x70, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x3a, 0x62, 0x31, 0x34, - 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x62, 0x31, - 0x31, 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, - 0x62, 0x31, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x34, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x36, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, 0x32, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, - 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x37, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, 0x35, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, - 0x61, 0x33, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x79, 0x3a, 0x61, 0x34, 0x2c, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x3a, 0x62, 0x38, 0x2c, 0x78, 0x3a, - 0x62, 0x32, 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x3a, 0x4d, 0x61, 0x63, 0x20, 0x4f, 0x53, 0x20, - 0x58, 0x2c, 0x0a, 0x36, 0x64, 0x30, 0x34, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x31, 0x39, 0x63, 0x32, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x2c, 0x4c, 0x6f, 0x67, 0x69, - 0x74, 0x65, 0x63, 0x68, 0x20, 0x57, 0x69, 0x72, - 0x65, 0x6c, 0x65, 0x73, 0x73, 0x20, 0x47, 0x61, - 0x6d, 0x65, 0x70, 0x61, 0x64, 0x20, 0x28, 0x44, - 0x49, 0x6e, 0x70, 0x75, 0x74, 0x29, 0x2c, 0x61, - 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x3a, 0x62, 0x32, - 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x38, - 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, - 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, 0x70, 0x6c, - 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x38, - 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x3a, 0x68, 0x30, 0x2e, 0x32, 0x2c, 0x64, 0x70, - 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, - 0x6b, 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x3a, 0x62, 0x36, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, - 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x31, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x62, 0x37, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, 0x32, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, - 0x61, 0x33, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x3a, 0x62, 0x39, 0x2c, 0x78, 0x3a, 0x62, 0x30, - 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4d, - 0x61, 0x63, 0x20, 0x4f, 0x53, 0x20, 0x58, 0x2c, - 0x0a, 0x34, 0x63, 0x30, 0x35, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x36, 0x38, 0x30, 0x32, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x2c, 0x50, 0x53, 0x33, 0x20, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, - 0x2c, 0x61, 0x3a, 0x62, 0x31, 0x34, 0x2c, 0x62, - 0x3a, 0x62, 0x31, 0x33, 0x2c, 0x62, 0x61, 0x63, - 0x6b, 0x3a, 0x62, 0x30, 0x2c, 0x64, 0x70, 0x64, - 0x6f, 0x77, 0x6e, 0x3a, 0x62, 0x36, 0x2c, 0x64, - 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x62, 0x37, - 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x3a, 0x62, 0x35, 0x2c, 0x64, 0x70, 0x75, 0x70, - 0x3a, 0x62, 0x34, 0x2c, 0x67, 0x75, 0x69, 0x64, - 0x65, 0x3a, 0x62, 0x31, 0x36, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, - 0x3a, 0x62, 0x31, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, - 0x62, 0x38, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, - 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x62, 0x31, 0x31, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, - 0x6b, 0x3a, 0x62, 0x32, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x3a, 0x62, 0x39, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x78, 0x3a, 0x61, 0x32, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, 0x33, - 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, - 0x33, 0x2c, 0x78, 0x3a, 0x62, 0x31, 0x35, 0x2c, - 0x79, 0x3a, 0x62, 0x31, 0x32, 0x2c, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4d, - 0x61, 0x63, 0x20, 0x4f, 0x53, 0x20, 0x58, 0x2c, - 0x0a, 0x34, 0x63, 0x30, 0x35, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x63, 0x34, 0x30, 0x35, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x2c, 0x50, 0x53, 0x34, 0x20, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, - 0x2c, 0x61, 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x3a, - 0x62, 0x32, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, - 0x62, 0x38, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, - 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, - 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, - 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, 0x2c, - 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, - 0x31, 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, - 0x62, 0x31, 0x32, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x34, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, - 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, 0x33, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, - 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, - 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x31, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, - 0x61, 0x34, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x78, 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x79, 0x3a, 0x61, 0x35, 0x2c, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x39, 0x2c, - 0x78, 0x3a, 0x62, 0x30, 0x2c, 0x79, 0x3a, 0x62, - 0x33, 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x3a, 0x4d, 0x61, 0x63, 0x20, 0x4f, - 0x53, 0x20, 0x58, 0x2c, 0x0a, 0x35, 0x65, 0x30, - 0x34, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x38, 0x65, 0x30, - 0x32, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x2c, 0x58, 0x33, - 0x36, 0x30, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2c, 0x61, 0x3a, - 0x62, 0x30, 0x2c, 0x62, 0x3a, 0x62, 0x31, 0x2c, - 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x39, 0x2c, - 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x62, - 0x31, 0x32, 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, - 0x74, 0x3a, 0x62, 0x31, 0x33, 0x2c, 0x64, 0x70, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x62, 0x31, - 0x34, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x62, - 0x31, 0x31, 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, - 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x36, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, 0x32, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, - 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, - 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x37, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, - 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, - 0x3a, 0x61, 0x33, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x79, 0x3a, 0x61, 0x34, 0x2c, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x3a, 0x62, 0x38, 0x2c, 0x78, - 0x3a, 0x62, 0x32, 0x2c, 0x79, 0x3a, 0x62, 0x33, - 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x3a, 0x4d, 0x61, 0x63, 0x20, 0x4f, 0x53, - 0x20, 0x58, 0x2c, 0x0a, 0x38, 0x39, 0x31, 0x36, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x66, 0x64, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x2c, 0x52, 0x61, 0x7a, - 0x65, 0x72, 0x20, 0x4f, 0x6e, 0x7a, 0x61, 0x20, - 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, 0x65, - 0x6e, 0x74, 0x2c, 0x61, 0x3a, 0x62, 0x30, 0x2c, - 0x62, 0x3a, 0x62, 0x31, 0x2c, 0x79, 0x3a, 0x62, - 0x33, 0x2c, 0x78, 0x3a, 0x62, 0x32, 0x2c, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x38, 0x2c, - 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, 0x62, 0x31, - 0x30, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, - 0x39, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x36, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, - 0x6b, 0x3a, 0x62, 0x37, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, 0x64, 0x70, - 0x75, 0x70, 0x3a, 0x62, 0x31, 0x31, 0x2c, 0x64, - 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x62, 0x31, - 0x33, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, - 0x3a, 0x62, 0x31, 0x32, 0x2c, 0x64, 0x70, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x3a, 0x62, 0x31, 0x34, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, - 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, - 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x78, 0x3a, 0x61, 0x33, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x79, 0x3a, 0x61, 0x34, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x61, 0x35, 0x2c, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4d, - 0x61, 0x63, 0x20, 0x4f, 0x53, 0x20, 0x58, 0x2c, - 0x0a, 0x34, 0x66, 0x30, 0x34, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x62, 0x33, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x2c, 0x54, 0x68, 0x72, 0x75, 0x73, 0x74, - 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x20, 0x46, - 0x69, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x6d, - 0x20, 0x44, 0x75, 0x61, 0x6c, 0x20, 0x50, 0x6f, - 0x77, 0x65, 0x72, 0x2c, 0x61, 0x3a, 0x62, 0x30, - 0x2c, 0x62, 0x3a, 0x62, 0x32, 0x2c, 0x79, 0x3a, - 0x62, 0x33, 0x2c, 0x78, 0x3a, 0x62, 0x31, 0x2c, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x31, - 0x30, 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, - 0x62, 0x38, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, - 0x62, 0x39, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x31, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x3a, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x62, 0x36, 0x2c, 0x64, 0x70, - 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, - 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, - 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x64, 0x6f, - 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, - 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, - 0x68, 0x30, 0x2e, 0x32, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, 0x32, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, - 0x61, 0x33, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, - 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, - 0x37, 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x3a, 0x4d, 0x61, 0x63, 0x20, 0x4f, - 0x53, 0x20, 0x58, 0x2c, 0x0a, 0x38, 0x66, 0x30, - 0x65, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x33, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x2c, 0x50, 0x69, - 0x72, 0x61, 0x6e, 0x68, 0x61, 0x20, 0x78, 0x74, - 0x72, 0x65, 0x6d, 0x65, 0x2c, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4d, 0x61, - 0x63, 0x20, 0x4f, 0x53, 0x20, 0x58, 0x2c, 0x78, - 0x3a, 0x62, 0x33, 0x2c, 0x61, 0x3a, 0x62, 0x32, - 0x2c, 0x62, 0x3a, 0x62, 0x31, 0x2c, 0x79, 0x3a, - 0x62, 0x30, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, - 0x62, 0x38, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x3a, 0x62, 0x39, 0x2c, 0x64, 0x70, 0x6c, 0x65, - 0x66, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x38, 0x2c, - 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, - 0x30, 0x2e, 0x34, 0x2c, 0x64, 0x70, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, - 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, - 0x2e, 0x31, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x36, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, - 0x34, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x37, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, - 0x62, 0x35, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x30, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x31, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, - 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, - 0x3a, 0x61, 0x33, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x79, 0x3a, 0x61, 0x32, 0x2c, 0x0a, 0x30, - 0x64, 0x30, 0x66, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x34, - 0x64, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2c, - 0x48, 0x4f, 0x52, 0x49, 0x20, 0x47, 0x65, 0x6d, - 0x20, 0x50, 0x61, 0x64, 0x20, 0x33, 0x2c, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, - 0x4d, 0x61, 0x63, 0x20, 0x4f, 0x53, 0x20, 0x58, - 0x2c, 0x61, 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x3a, - 0x62, 0x32, 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, - 0x78, 0x3a, 0x62, 0x30, 0x2c, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x3a, 0x62, 0x39, 0x2c, 0x67, 0x75, - 0x69, 0x64, 0x65, 0x3a, 0x62, 0x31, 0x32, 0x2c, - 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x38, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, - 0x6b, 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, - 0x3a, 0x62, 0x31, 0x31, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, 0x64, 0x70, - 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, - 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, - 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x64, 0x6f, - 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, - 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, - 0x68, 0x30, 0x2e, 0x32, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, 0x32, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, - 0x61, 0x33, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, - 0x36, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, - 0x37, 0x2c, 0x0a, 0x37, 0x39, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x36, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x2c, 0x47, 0x2d, 0x53, 0x68, - 0x61, 0x72, 0x6b, 0x20, 0x47, 0x50, 0x2d, 0x37, - 0x30, 0x32, 0x2c, 0x61, 0x3a, 0x62, 0x32, 0x2c, - 0x62, 0x3a, 0x62, 0x31, 0x2c, 0x78, 0x3a, 0x62, - 0x33, 0x2c, 0x79, 0x3a, 0x62, 0x30, 0x2c, 0x62, - 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x38, 0x2c, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x39, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, - 0x6b, 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, - 0x3a, 0x62, 0x31, 0x31, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, 0x64, 0x70, - 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, - 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, - 0x30, 0x2e, 0x34, 0x2c, 0x64, 0x70, 0x6c, 0x65, - 0x66, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x38, 0x2c, - 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, - 0x68, 0x30, 0x2e, 0x32, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, 0x33, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, - 0x61, 0x34, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, - 0x36, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, - 0x37, 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x3a, 0x4d, 0x61, 0x63, 0x20, 0x4f, - 0x53, 0x20, 0x58, 0x2c, 0x0a, 0x34, 0x66, 0x30, - 0x34, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x35, 0x62, - 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x2c, 0x54, 0x68, - 0x72, 0x75, 0x73, 0x74, 0x6d, 0x61, 0x73, 0x74, - 0x65, 0x72, 0x20, 0x44, 0x75, 0x61, 0x6c, 0x20, - 0x41, 0x6e, 0x61, 0x6c, 0x6f, 0x67, 0x20, 0x33, - 0x2e, 0x32, 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x3a, 0x4d, 0x61, 0x63, 0x20, - 0x4f, 0x53, 0x20, 0x58, 0x2c, 0x78, 0x3a, 0x62, - 0x31, 0x2c, 0x61, 0x3a, 0x62, 0x30, 0x2c, 0x62, - 0x3a, 0x62, 0x32, 0x2c, 0x79, 0x3a, 0x62, 0x33, - 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x38, - 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, - 0x39, 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, - 0x3a, 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, - 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, - 0x34, 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, 0x2c, 0x64, - 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x36, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x37, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, 0x69, - 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, - 0x6b, 0x3a, 0x62, 0x31, 0x31, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, - 0x32, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, - 0x3a, 0x61, 0x33, 0x2c, 0x0a, 0x41, 0x44, 0x31, - 0x42, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x46, - 0x39, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x2c, 0x47, 0x61, - 0x6d, 0x65, 0x73, 0x74, 0x6f, 0x70, 0x20, 0x42, - 0x42, 0x2d, 0x30, 0x37, 0x30, 0x20, 0x58, 0x33, - 0x36, 0x30, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2c, 0x61, 0x3a, - 0x62, 0x30, 0x2c, 0x62, 0x3a, 0x62, 0x31, 0x2c, - 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x39, 0x2c, - 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x62, - 0x31, 0x32, 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, - 0x74, 0x3a, 0x62, 0x31, 0x33, 0x2c, 0x64, 0x70, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x62, 0x31, - 0x34, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x62, - 0x31, 0x31, 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, - 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x36, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, 0x32, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, - 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, - 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x37, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, - 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, - 0x3a, 0x61, 0x33, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x79, 0x3a, 0x61, 0x34, 0x2c, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x3a, 0x62, 0x38, 0x2c, 0x78, - 0x3a, 0x62, 0x32, 0x2c, 0x79, 0x3a, 0x62, 0x33, - 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x3a, 0x4d, 0x61, 0x63, 0x20, 0x4f, 0x53, - 0x20, 0x58, 0x2c, 0x0a, 0x30, 0x35, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x35, 0x37, 0x36, 0x39, - 0x36, 0x39, 0x36, 0x64, 0x36, 0x66, 0x37, 0x34, - 0x36, 0x35, 0x32, 0x30, 0x32, 0x38, 0x33, 0x30, - 0x33, 0x30, 0x30, 0x30, 0x2c, 0x57, 0x69, 0x69, - 0x20, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2c, - 0x61, 0x3a, 0x62, 0x34, 0x2c, 0x62, 0x3a, 0x62, - 0x35, 0x2c, 0x79, 0x3a, 0x62, 0x39, 0x2c, 0x78, - 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x3a, 0x62, 0x36, 0x2c, 0x67, 0x75, - 0x69, 0x64, 0x65, 0x3a, 0x62, 0x38, 0x2c, 0x62, - 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x37, 0x2c, 0x64, - 0x70, 0x75, 0x70, 0x3a, 0x62, 0x32, 0x2c, 0x64, - 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x62, 0x30, - 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, - 0x62, 0x33, 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x3a, 0x62, 0x31, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x62, 0x31, 0x32, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x62, 0x31, 0x31, 0x2c, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, - 0x4d, 0x61, 0x63, 0x20, 0x4f, 0x53, 0x20, 0x58, - 0x2c, 0x0a, 0x38, 0x33, 0x30, 0x35, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x36, 0x30, 0x32, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x2c, 0x69, 0x42, 0x75, 0x66, 0x66, - 0x61, 0x6c, 0x6f, 0x20, 0x55, 0x53, 0x42, 0x20, - 0x32, 0x2d, 0x61, 0x78, 0x69, 0x73, 0x20, 0x38, - 0x2d, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x20, - 0x47, 0x61, 0x6d, 0x65, 0x70, 0x61, 0x64, 0x2c, - 0x61, 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x3a, 0x62, - 0x30, 0x2c, 0x78, 0x3a, 0x62, 0x33, 0x2c, 0x79, - 0x3a, 0x62, 0x32, 0x2c, 0x62, 0x61, 0x63, 0x6b, - 0x3a, 0x62, 0x36, 0x2c, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x3a, 0x62, 0x37, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x3a, 0x4d, 0x61, 0x63, 0x20, 0x4f, 0x53, 0x20, - 0x58, 0x2c, 0x0a, 0x35, 0x65, 0x30, 0x34, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x64, 0x64, 0x30, 0x32, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x2c, 0x58, 0x62, 0x6f, 0x78, - 0x20, 0x4f, 0x6e, 0x65, 0x20, 0x57, 0x69, 0x72, - 0x65, 0x64, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2c, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4d, - 0x61, 0x63, 0x20, 0x4f, 0x53, 0x20, 0x58, 0x2c, - 0x78, 0x3a, 0x62, 0x32, 0x2c, 0x61, 0x3a, 0x62, - 0x30, 0x2c, 0x62, 0x3a, 0x62, 0x31, 0x2c, 0x79, - 0x3a, 0x62, 0x33, 0x2c, 0x62, 0x61, 0x63, 0x6b, - 0x3a, 0x62, 0x39, 0x2c, 0x67, 0x75, 0x69, 0x64, - 0x65, 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x3a, 0x62, 0x38, 0x2c, 0x64, - 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x62, 0x31, - 0x33, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, - 0x3a, 0x62, 0x31, 0x32, 0x2c, 0x64, 0x70, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x3a, 0x62, 0x31, 0x34, - 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x62, 0x31, - 0x31, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, - 0x34, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, 0x32, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, - 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, - 0x35, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x36, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, - 0x6b, 0x3a, 0x62, 0x37, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, 0x33, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, - 0x61, 0x34, 0x2c, 0x0a, 0x30, 0x35, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x35, 0x37, 0x36, 0x39, - 0x36, 0x39, 0x36, 0x64, 0x36, 0x66, 0x37, 0x34, - 0x36, 0x35, 0x32, 0x30, 0x32, 0x38, 0x33, 0x31, - 0x33, 0x38, 0x30, 0x30, 0x2c, 0x57, 0x69, 0x69, - 0x20, 0x55, 0x20, 0x50, 0x72, 0x6f, 0x20, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, - 0x72, 0x2c, 0x61, 0x3a, 0x62, 0x31, 0x36, 0x2c, - 0x62, 0x3a, 0x62, 0x31, 0x35, 0x2c, 0x78, 0x3a, - 0x62, 0x31, 0x38, 0x2c, 0x79, 0x3a, 0x62, 0x31, - 0x37, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, - 0x37, 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, - 0x62, 0x38, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x3a, 0x62, 0x36, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x32, - 0x33, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x32, 0x34, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x31, - 0x39, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x32, 0x30, 0x2c, 0x64, 0x70, 0x75, 0x70, - 0x3a, 0x62, 0x31, 0x31, 0x2c, 0x64, 0x70, 0x64, - 0x6f, 0x77, 0x6e, 0x3a, 0x62, 0x31, 0x32, 0x2c, - 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x62, - 0x31, 0x33, 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x3a, 0x62, 0x31, 0x34, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, - 0x61, 0x32, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x79, 0x3a, 0x61, 0x33, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x3a, 0x62, 0x32, 0x31, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x3a, 0x62, 0x32, 0x32, 0x2c, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4d, - 0x61, 0x63, 0x20, 0x4f, 0x53, 0x20, 0x58, 0x2c, - 0x0a, 0x37, 0x39, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x31, 0x38, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x2c, 0x4d, 0x61, 0x79, 0x66, 0x6c, 0x61, - 0x73, 0x68, 0x20, 0x57, 0x69, 0x69, 0x55, 0x20, - 0x50, 0x72, 0x6f, 0x20, 0x47, 0x61, 0x6d, 0x65, - 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x6c, 0x65, 0x72, 0x20, 0x41, 0x64, 0x61, 0x70, - 0x74, 0x65, 0x72, 0x20, 0x28, 0x44, 0x49, 0x6e, - 0x70, 0x75, 0x74, 0x29, 0x2c, 0x61, 0x3a, 0x62, - 0x34, 0x2c, 0x62, 0x3a, 0x62, 0x38, 0x2c, 0x78, - 0x3a, 0x62, 0x30, 0x2c, 0x79, 0x3a, 0x62, 0x31, - 0x32, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, - 0x33, 0x32, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x3a, 0x62, 0x33, 0x36, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x34, 0x30, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x34, - 0x34, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, - 0x31, 0x36, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x32, 0x30, 0x2c, 0x64, 0x70, 0x75, - 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x64, - 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, - 0x2e, 0x34, 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, - 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, - 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, - 0x30, 0x2e, 0x32, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x79, 0x3a, 0x61, 0x34, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, 0x38, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, - 0x31, 0x32, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, - 0x32, 0x34, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, - 0x62, 0x32, 0x38, 0x2c, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4d, 0x61, 0x63, - 0x20, 0x4f, 0x53, 0x20, 0x58, 0x2c, 0x0a, 0x32, - 0x35, 0x30, 0x39, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x65, - 0x38, 0x30, 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x2c, - 0x4d, 0x61, 0x79, 0x66, 0x6c, 0x61, 0x73, 0x68, - 0x20, 0x57, 0x69, 0x69, 0x20, 0x43, 0x6c, 0x61, - 0x73, 0x73, 0x69, 0x63, 0x20, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2c, - 0x61, 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x3a, 0x62, - 0x30, 0x2c, 0x78, 0x3a, 0x62, 0x33, 0x2c, 0x79, - 0x3a, 0x62, 0x32, 0x2c, 0x62, 0x61, 0x63, 0x6b, - 0x3a, 0x62, 0x38, 0x2c, 0x67, 0x75, 0x69, 0x64, - 0x65, 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x3a, 0x62, 0x39, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, - 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, - 0x31, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, - 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, 0x70, - 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, 0x2e, - 0x38, 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, 0x2c, 0x64, - 0x70, 0x75, 0x70, 0x3a, 0x62, 0x31, 0x31, 0x2c, - 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x62, - 0x31, 0x33, 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, - 0x74, 0x3a, 0x62, 0x31, 0x32, 0x2c, 0x64, 0x70, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x62, 0x31, - 0x34, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, - 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, - 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x78, 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, 0x33, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x62, 0x36, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x62, 0x37, 0x2c, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, - 0x4d, 0x61, 0x63, 0x20, 0x4f, 0x53, 0x20, 0x58, - 0x2c, 0x0a, 0x33, 0x35, 0x31, 0x32, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x32, 0x31, 0x61, 0x62, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x2c, 0x53, 0x46, 0x43, 0x33, 0x30, - 0x20, 0x4a, 0x6f, 0x79, 0x73, 0x74, 0x69, 0x63, - 0x6b, 0x2c, 0x61, 0x3a, 0x62, 0x31, 0x2c, 0x62, - 0x3a, 0x62, 0x30, 0x2c, 0x78, 0x3a, 0x62, 0x34, - 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, 0x62, 0x61, - 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x31, 0x31, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x36, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, - 0x37, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, - 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, - 0x3a, 0x61, 0x31, 0x2c, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4d, 0x61, 0x63, - 0x20, 0x4f, 0x53, 0x20, 0x58, 0x2c, 0x0a, 0x0a, - 0x23, 0x20, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x0a, - 0x30, 0x35, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x34, 0x37, 0x35, 0x33, 0x32, 0x30, 0x34, 0x37, - 0x36, 0x31, 0x36, 0x64, 0x36, 0x35, 0x37, 0x30, - 0x36, 0x31, 0x36, 0x34, 0x30, 0x30, 0x30, 0x30, - 0x2c, 0x47, 0x61, 0x6d, 0x65, 0x53, 0x74, 0x6f, - 0x70, 0x20, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x61, - 0x64, 0x2c, 0x61, 0x3a, 0x62, 0x30, 0x2c, 0x62, - 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x61, 0x63, 0x6b, - 0x3a, 0x62, 0x38, 0x2c, 0x64, 0x70, 0x64, 0x6f, - 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, - 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, - 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, - 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, - 0x2e, 0x31, 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, - 0x3a, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, - 0x34, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x30, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x62, 0x36, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, - 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x31, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x37, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, - 0x61, 0x32, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x79, 0x3a, 0x61, 0x33, 0x2c, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x3a, 0x62, 0x39, 0x2c, 0x78, 0x3a, - 0x62, 0x32, 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x3a, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x2c, 0x0a, - 0x30, 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x62, 0x61, 0x32, 0x32, 0x30, 0x30, 0x30, 0x30, - 0x32, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, - 0x2c, 0x4a, 0x65, 0x73, 0x73, 0x20, 0x54, 0x65, - 0x63, 0x68, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x79, - 0x20, 0x55, 0x53, 0x42, 0x20, 0x47, 0x61, 0x6d, - 0x65, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x6c, 0x65, 0x72, 0x2c, 0x61, 0x3a, 0x62, - 0x32, 0x2c, 0x62, 0x3a, 0x62, 0x31, 0x2c, 0x62, - 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x38, 0x2c, 0x64, - 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, - 0x2e, 0x34, 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, - 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, - 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, - 0x30, 0x2e, 0x32, 0x2c, 0x64, 0x70, 0x75, 0x70, - 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x67, 0x75, - 0x69, 0x64, 0x65, 0x3a, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x3a, 0x62, 0x36, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x62, 0x37, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, 0x33, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, - 0x61, 0x32, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x3a, 0x62, 0x39, 0x2c, 0x78, 0x3a, 0x62, 0x33, - 0x2c, 0x79, 0x3a, 0x62, 0x30, 0x2c, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4c, - 0x69, 0x6e, 0x75, 0x78, 0x2c, 0x0a, 0x30, 0x33, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x36, 0x64, - 0x30, 0x34, 0x30, 0x30, 0x30, 0x30, 0x31, 0x39, - 0x63, 0x32, 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, - 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x2c, 0x4c, - 0x6f, 0x67, 0x69, 0x74, 0x65, 0x63, 0x68, 0x20, - 0x43, 0x6f, 0x72, 0x64, 0x6c, 0x65, 0x73, 0x73, - 0x20, 0x52, 0x75, 0x6d, 0x62, 0x6c, 0x65, 0x50, - 0x61, 0x64, 0x20, 0x32, 0x2c, 0x61, 0x3a, 0x62, - 0x31, 0x2c, 0x62, 0x3a, 0x62, 0x32, 0x2c, 0x62, - 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x38, 0x2c, 0x64, - 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, - 0x2e, 0x34, 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, - 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, - 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, - 0x30, 0x2e, 0x32, 0x2c, 0x64, 0x70, 0x75, 0x70, - 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x67, 0x75, - 0x69, 0x64, 0x65, 0x3a, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x31, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, - 0x36, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, - 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, - 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x62, 0x35, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, - 0x62, 0x31, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x3a, 0x62, 0x37, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x78, 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, 0x33, 0x2c, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x39, - 0x2c, 0x78, 0x3a, 0x62, 0x30, 0x2c, 0x79, 0x3a, - 0x62, 0x33, 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x3a, 0x4c, 0x69, 0x6e, 0x75, - 0x78, 0x2c, 0x0a, 0x30, 0x33, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x36, 0x64, 0x30, 0x34, 0x30, - 0x30, 0x30, 0x30, 0x31, 0x64, 0x63, 0x32, 0x30, - 0x30, 0x30, 0x30, 0x31, 0x34, 0x34, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x2c, 0x4c, 0x6f, 0x67, 0x69, - 0x74, 0x65, 0x63, 0x68, 0x20, 0x46, 0x33, 0x31, - 0x30, 0x20, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x61, - 0x64, 0x20, 0x28, 0x58, 0x49, 0x6e, 0x70, 0x75, - 0x74, 0x29, 0x2c, 0x61, 0x3a, 0x62, 0x30, 0x2c, - 0x62, 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x61, 0x63, - 0x6b, 0x3a, 0x62, 0x36, 0x2c, 0x64, 0x70, 0x64, - 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, - 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, - 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, - 0x32, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, - 0x30, 0x2e, 0x31, 0x2c, 0x67, 0x75, 0x69, 0x64, - 0x65, 0x3a, 0x62, 0x38, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x39, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, 0x32, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, - 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, - 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x31, 0x30, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, - 0x61, 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x78, 0x3a, 0x61, 0x33, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x79, 0x3a, 0x61, 0x34, 0x2c, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x37, 0x2c, - 0x78, 0x3a, 0x62, 0x32, 0x2c, 0x79, 0x3a, 0x62, - 0x33, 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x3a, 0x4c, 0x69, 0x6e, 0x75, 0x78, - 0x2c, 0x0a, 0x30, 0x33, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x36, 0x64, 0x30, 0x34, 0x30, 0x30, - 0x30, 0x30, 0x31, 0x65, 0x63, 0x32, 0x30, 0x30, - 0x30, 0x30, 0x32, 0x30, 0x32, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x2c, 0x4c, 0x6f, 0x67, 0x69, 0x74, - 0x65, 0x63, 0x68, 0x20, 0x46, 0x35, 0x31, 0x30, - 0x20, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x61, 0x64, - 0x20, 0x28, 0x58, 0x49, 0x6e, 0x70, 0x75, 0x74, - 0x29, 0x2c, 0x61, 0x3a, 0x62, 0x30, 0x2c, 0x62, - 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x61, 0x63, 0x6b, - 0x3a, 0x62, 0x36, 0x2c, 0x64, 0x70, 0x64, 0x6f, - 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, - 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, - 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, - 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, - 0x2e, 0x31, 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, - 0x3a, 0x62, 0x38, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x34, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x39, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, 0x32, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, - 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, - 0x30, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, - 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, - 0x3a, 0x61, 0x33, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x79, 0x3a, 0x61, 0x34, 0x2c, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x3a, 0x62, 0x37, 0x2c, 0x78, - 0x3a, 0x62, 0x32, 0x2c, 0x79, 0x3a, 0x62, 0x33, - 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x3a, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x2c, - 0x0a, 0x30, 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x36, 0x64, 0x30, 0x34, 0x30, 0x30, 0x30, - 0x30, 0x31, 0x39, 0x63, 0x32, 0x30, 0x30, 0x30, - 0x30, 0x31, 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, - 0x30, 0x2c, 0x4c, 0x6f, 0x67, 0x69, 0x74, 0x65, - 0x63, 0x68, 0x20, 0x46, 0x37, 0x31, 0x30, 0x20, - 0x47, 0x61, 0x6d, 0x65, 0x70, 0x61, 0x64, 0x20, - 0x28, 0x44, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x29, - 0x2c, 0x61, 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x3a, - 0x62, 0x32, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, - 0x62, 0x38, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, - 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, - 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, - 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, 0x2c, - 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, - 0x31, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, - 0x34, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x30, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x62, 0x36, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, - 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x31, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x37, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, - 0x61, 0x32, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x79, 0x3a, 0x61, 0x33, 0x2c, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x3a, 0x62, 0x39, 0x2c, 0x78, 0x3a, - 0x62, 0x30, 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x3a, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x2c, 0x0a, - 0x30, 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x36, 0x64, 0x30, 0x34, 0x30, 0x30, 0x30, 0x30, - 0x31, 0x66, 0x63, 0x32, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x35, 0x30, 0x33, 0x30, 0x30, 0x30, 0x30, - 0x2c, 0x4c, 0x6f, 0x67, 0x69, 0x74, 0x65, 0x63, - 0x68, 0x20, 0x46, 0x37, 0x31, 0x30, 0x20, 0x47, - 0x61, 0x6d, 0x65, 0x70, 0x61, 0x64, 0x20, 0x28, - 0x58, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x29, 0x2c, - 0x61, 0x3a, 0x62, 0x30, 0x2c, 0x62, 0x3a, 0x62, - 0x31, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, - 0x36, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, - 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, 0x70, - 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, 0x2e, - 0x38, 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, 0x2c, 0x64, - 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, - 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, 0x62, - 0x38, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, - 0x34, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x39, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x61, 0x32, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x35, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x30, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, 0x35, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, - 0x33, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, - 0x3a, 0x61, 0x34, 0x2c, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x3a, 0x62, 0x37, 0x2c, 0x78, 0x3a, 0x62, - 0x32, 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, - 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x2c, 0x0a, 0x30, - 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x34, - 0x63, 0x30, 0x35, 0x30, 0x30, 0x30, 0x30, 0x36, - 0x38, 0x30, 0x32, 0x30, 0x30, 0x30, 0x30, 0x31, - 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x2c, - 0x50, 0x53, 0x33, 0x20, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2c, 0x61, - 0x3a, 0x62, 0x31, 0x34, 0x2c, 0x62, 0x3a, 0x62, - 0x31, 0x33, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, - 0x62, 0x30, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, - 0x6e, 0x3a, 0x62, 0x36, 0x2c, 0x64, 0x70, 0x6c, - 0x65, 0x66, 0x74, 0x3a, 0x62, 0x37, 0x2c, 0x64, - 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x62, - 0x35, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x62, - 0x34, 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, - 0x62, 0x31, 0x36, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x31, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x38, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, - 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, - 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x31, 0x31, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, - 0x62, 0x32, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, - 0x62, 0x39, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x78, 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x79, 0x3a, 0x61, 0x33, 0x2c, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x33, 0x2c, - 0x78, 0x3a, 0x62, 0x31, 0x35, 0x2c, 0x79, 0x3a, - 0x62, 0x31, 0x32, 0x2c, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4c, 0x69, 0x6e, - 0x75, 0x78, 0x2c, 0x0a, 0x30, 0x33, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x34, 0x63, 0x30, 0x35, - 0x30, 0x30, 0x30, 0x30, 0x63, 0x34, 0x30, 0x35, - 0x30, 0x30, 0x30, 0x30, 0x31, 0x31, 0x30, 0x31, - 0x30, 0x30, 0x30, 0x30, 0x2c, 0x53, 0x6f, 0x6e, - 0x79, 0x20, 0x44, 0x75, 0x61, 0x6c, 0x53, 0x68, - 0x6f, 0x63, 0x6b, 0x20, 0x34, 0x2c, 0x61, 0x3a, - 0x62, 0x31, 0x2c, 0x62, 0x3a, 0x62, 0x32, 0x2c, - 0x79, 0x3a, 0x62, 0x33, 0x2c, 0x78, 0x3a, 0x62, - 0x30, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, - 0x62, 0x39, 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, - 0x3a, 0x62, 0x31, 0x32, 0x2c, 0x62, 0x61, 0x63, - 0x6b, 0x3a, 0x62, 0x38, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x31, 0x30, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, - 0x31, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, - 0x34, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x35, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, - 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x64, 0x70, 0x6c, - 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x38, - 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, - 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, 0x70, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, - 0x32, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, - 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, - 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x78, 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, 0x35, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x62, 0x36, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x62, 0x37, 0x2c, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, - 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x2c, 0x0a, 0x30, - 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x36, - 0x66, 0x30, 0x65, 0x30, 0x30, 0x30, 0x30, 0x33, - 0x30, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x31, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x2c, - 0x45, 0x41, 0x20, 0x53, 0x70, 0x6f, 0x72, 0x74, - 0x73, 0x20, 0x50, 0x53, 0x33, 0x20, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, - 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x3a, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x2c, - 0x61, 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x3a, 0x62, - 0x32, 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, 0x78, - 0x3a, 0x62, 0x30, 0x2c, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x3a, 0x62, 0x39, 0x2c, 0x67, 0x75, 0x69, - 0x64, 0x65, 0x3a, 0x62, 0x31, 0x32, 0x2c, 0x62, - 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x38, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, - 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, - 0x62, 0x31, 0x31, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x34, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x62, 0x35, 0x2c, 0x64, 0x70, 0x75, - 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x64, - 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, - 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, - 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, - 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, - 0x30, 0x2e, 0x32, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, 0x32, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, - 0x33, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x36, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x37, - 0x2c, 0x0a, 0x30, 0x33, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x64, 0x65, 0x32, 0x38, 0x30, 0x30, - 0x30, 0x30, 0x66, 0x66, 0x31, 0x31, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x2c, 0x56, 0x61, 0x6c, 0x76, 0x65, - 0x20, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, - 0x6e, 0x67, 0x20, 0x47, 0x61, 0x6d, 0x65, 0x70, - 0x61, 0x64, 0x2c, 0x61, 0x3a, 0x62, 0x30, 0x2c, - 0x62, 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x61, 0x63, - 0x6b, 0x3a, 0x62, 0x36, 0x2c, 0x64, 0x70, 0x64, - 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, - 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, - 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, - 0x32, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, - 0x30, 0x2e, 0x31, 0x2c, 0x67, 0x75, 0x69, 0x64, - 0x65, 0x3a, 0x62, 0x38, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x39, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, 0x32, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, - 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, - 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x31, 0x30, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, - 0x61, 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x78, 0x3a, 0x61, 0x33, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x79, 0x3a, 0x61, 0x34, 0x2c, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x37, 0x2c, - 0x78, 0x3a, 0x62, 0x32, 0x2c, 0x79, 0x3a, 0x62, - 0x33, 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x3a, 0x4c, 0x69, 0x6e, 0x75, 0x78, - 0x2c, 0x0a, 0x30, 0x33, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x35, 0x65, 0x30, 0x34, 0x30, 0x30, - 0x30, 0x30, 0x38, 0x65, 0x30, 0x32, 0x30, 0x30, - 0x30, 0x30, 0x31, 0x34, 0x30, 0x31, 0x30, 0x30, - 0x30, 0x30, 0x2c, 0x58, 0x33, 0x36, 0x30, 0x20, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, - 0x65, 0x72, 0x2c, 0x61, 0x3a, 0x62, 0x30, 0x2c, - 0x62, 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x61, 0x63, - 0x6b, 0x3a, 0x62, 0x36, 0x2c, 0x64, 0x70, 0x64, - 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, - 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, - 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, - 0x32, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, - 0x30, 0x2e, 0x31, 0x2c, 0x67, 0x75, 0x69, 0x64, - 0x65, 0x3a, 0x62, 0x38, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x39, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, 0x32, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, - 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, - 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x31, 0x30, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, - 0x61, 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x78, 0x3a, 0x61, 0x33, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x79, 0x3a, 0x61, 0x34, 0x2c, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x37, 0x2c, - 0x78, 0x3a, 0x62, 0x32, 0x2c, 0x79, 0x3a, 0x62, - 0x33, 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x3a, 0x4c, 0x69, 0x6e, 0x75, 0x78, - 0x2c, 0x0a, 0x30, 0x33, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x35, 0x65, 0x30, 0x34, 0x30, 0x30, - 0x30, 0x30, 0x38, 0x65, 0x30, 0x32, 0x30, 0x30, - 0x30, 0x30, 0x31, 0x30, 0x30, 0x31, 0x30, 0x30, - 0x30, 0x30, 0x2c, 0x58, 0x33, 0x36, 0x30, 0x20, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, - 0x65, 0x72, 0x2c, 0x61, 0x3a, 0x62, 0x30, 0x2c, - 0x62, 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x61, 0x63, - 0x6b, 0x3a, 0x62, 0x36, 0x2c, 0x64, 0x70, 0x64, - 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, - 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, - 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, - 0x32, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, - 0x30, 0x2e, 0x31, 0x2c, 0x67, 0x75, 0x69, 0x64, - 0x65, 0x3a, 0x62, 0x38, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x39, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, 0x32, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, - 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, - 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x31, 0x30, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, - 0x61, 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x78, 0x3a, 0x61, 0x33, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x79, 0x3a, 0x61, 0x34, 0x2c, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x37, 0x2c, - 0x78, 0x3a, 0x62, 0x32, 0x2c, 0x79, 0x3a, 0x62, - 0x33, 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x3a, 0x4c, 0x69, 0x6e, 0x75, 0x78, - 0x2c, 0x0a, 0x30, 0x33, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x35, 0x65, 0x30, 0x34, 0x30, 0x30, - 0x30, 0x30, 0x31, 0x39, 0x30, 0x37, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, 0x30, - 0x30, 0x30, 0x2c, 0x58, 0x33, 0x36, 0x30, 0x20, - 0x57, 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, - 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x6c, 0x65, 0x72, 0x2c, 0x61, 0x3a, 0x62, 0x30, - 0x2c, 0x62, 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x61, - 0x63, 0x6b, 0x3a, 0x62, 0x36, 0x2c, 0x64, 0x70, - 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x62, 0x31, 0x34, - 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, - 0x62, 0x31, 0x31, 0x2c, 0x64, 0x70, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x3a, 0x62, 0x31, 0x32, 0x2c, - 0x64, 0x70, 0x75, 0x70, 0x3a, 0x62, 0x31, 0x33, - 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, 0x62, - 0x38, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, - 0x34, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x39, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x61, 0x32, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x35, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x30, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, 0x35, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, - 0x33, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, - 0x3a, 0x61, 0x34, 0x2c, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x3a, 0x62, 0x37, 0x2c, 0x78, 0x3a, 0x62, - 0x32, 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, - 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x2c, 0x0a, 0x30, - 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, - 0x30, 0x30, 0x38, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, - 0x30, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x2c, - 0x54, 0x77, 0x69, 0x6e, 0x20, 0x55, 0x53, 0x42, - 0x20, 0x50, 0x53, 0x32, 0x20, 0x41, 0x64, 0x61, - 0x70, 0x74, 0x65, 0x72, 0x2c, 0x61, 0x3a, 0x62, - 0x32, 0x2c, 0x62, 0x3a, 0x62, 0x31, 0x2c, 0x79, - 0x3a, 0x62, 0x30, 0x2c, 0x78, 0x3a, 0x62, 0x33, - 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, - 0x39, 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, - 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x38, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, 0x69, - 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, - 0x6b, 0x3a, 0x62, 0x31, 0x31, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x62, 0x36, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x65, 0x72, 0x3a, 0x62, 0x37, 0x2c, 0x64, - 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, - 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, - 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x64, - 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, - 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x3a, 0x68, 0x30, 0x2e, 0x32, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, - 0x33, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, - 0x3a, 0x61, 0x32, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, - 0x62, 0x34, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, - 0x62, 0x35, 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x3a, 0x4c, 0x69, 0x6e, 0x75, - 0x78, 0x2c, 0x0a, 0x30, 0x33, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x61, 0x33, 0x30, 0x36, 0x30, - 0x30, 0x30, 0x30, 0x32, 0x33, 0x66, 0x36, 0x30, - 0x30, 0x30, 0x30, 0x31, 0x31, 0x30, 0x31, 0x30, - 0x30, 0x30, 0x30, 0x2c, 0x53, 0x61, 0x69, 0x74, - 0x65, 0x6b, 0x20, 0x43, 0x79, 0x62, 0x6f, 0x72, - 0x67, 0x20, 0x56, 0x2e, 0x31, 0x20, 0x47, 0x61, - 0x6d, 0x65, 0x20, 0x50, 0x61, 0x64, 0x2c, 0x61, - 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x3a, 0x62, 0x32, - 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, 0x78, 0x3a, - 0x62, 0x30, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x3a, 0x62, 0x39, 0x2c, 0x67, 0x75, 0x69, 0x64, - 0x65, 0x3a, 0x62, 0x31, 0x32, 0x2c, 0x62, 0x61, - 0x63, 0x6b, 0x3a, 0x62, 0x38, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, - 0x62, 0x31, 0x30, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x31, 0x31, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x34, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x35, 0x2c, 0x64, 0x70, 0x75, 0x70, - 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x64, 0x70, - 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, 0x2e, - 0x38, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, - 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, 0x70, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, - 0x2e, 0x32, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, - 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x78, 0x3a, 0x61, 0x32, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, 0x34, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x36, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x37, 0x2c, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x3a, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x2c, 0x0a, - 0x30, 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x34, 0x66, 0x30, 0x34, 0x30, 0x30, 0x30, 0x30, - 0x32, 0x30, 0x62, 0x33, 0x30, 0x30, 0x30, 0x30, - 0x31, 0x30, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, - 0x2c, 0x54, 0x68, 0x72, 0x75, 0x73, 0x74, 0x6d, - 0x61, 0x73, 0x74, 0x65, 0x72, 0x20, 0x32, 0x20, - 0x69, 0x6e, 0x20, 0x31, 0x20, 0x44, 0x54, 0x2c, - 0x61, 0x3a, 0x62, 0x30, 0x2c, 0x62, 0x3a, 0x62, - 0x32, 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, 0x78, - 0x3a, 0x62, 0x31, 0x2c, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x3a, 0x62, 0x39, 0x2c, 0x67, 0x75, 0x69, - 0x64, 0x65, 0x3a, 0x2c, 0x62, 0x61, 0x63, 0x6b, - 0x3a, 0x62, 0x38, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, - 0x30, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x31, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, - 0x36, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, - 0x30, 0x2e, 0x31, 0x2c, 0x64, 0x70, 0x6c, 0x65, - 0x66, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x38, 0x2c, - 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, - 0x30, 0x2e, 0x34, 0x2c, 0x64, 0x70, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, - 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, - 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x78, 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x79, 0x3a, 0x61, 0x33, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x62, 0x37, 0x2c, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4c, - 0x69, 0x6e, 0x75, 0x78, 0x2c, 0x0a, 0x30, 0x33, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x34, 0x66, - 0x30, 0x34, 0x30, 0x30, 0x30, 0x30, 0x32, 0x33, - 0x62, 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x2c, 0x54, - 0x68, 0x72, 0x75, 0x73, 0x74, 0x6d, 0x61, 0x73, - 0x74, 0x65, 0x72, 0x20, 0x44, 0x75, 0x61, 0x6c, - 0x20, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x20, 0x33, 0x2d, 0x69, 0x6e, 0x2d, 0x31, 0x2c, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x3a, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x2c, 0x78, - 0x3a, 0x62, 0x30, 0x2c, 0x61, 0x3a, 0x62, 0x31, - 0x2c, 0x62, 0x3a, 0x62, 0x32, 0x2c, 0x79, 0x3a, - 0x62, 0x33, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, - 0x62, 0x38, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x3a, 0x62, 0x39, 0x2c, 0x64, 0x70, 0x6c, 0x65, - 0x66, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x38, 0x2c, - 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, - 0x30, 0x2e, 0x30, 0x2c, 0x64, 0x70, 0x64, 0x6f, - 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, - 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, - 0x68, 0x30, 0x2e, 0x30, 0x2c, 0x64, 0x70, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, - 0x32, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, - 0x30, 0x2e, 0x30, 0x2c, 0x64, 0x70, 0x75, 0x70, - 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x68, 0x30, 0x2e, 0x30, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x62, 0x36, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x37, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, - 0x6b, 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, - 0x3a, 0x62, 0x31, 0x31, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, 0x32, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, - 0x61, 0x35, 0x2c, 0x0a, 0x30, 0x33, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x38, 0x66, 0x30, 0x65, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x33, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, 0x30, 0x31, - 0x30, 0x30, 0x30, 0x30, 0x2c, 0x47, 0x72, 0x65, - 0x65, 0x6e, 0x41, 0x73, 0x69, 0x61, 0x20, 0x49, - 0x6e, 0x63, 0x2e, 0x20, 0x20, 0x20, 0x20, 0x55, - 0x53, 0x42, 0x20, 0x4a, 0x6f, 0x79, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x20, 0x20, 0x20, 0x20, 0x20, - 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x3a, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x2c, - 0x78, 0x3a, 0x62, 0x33, 0x2c, 0x61, 0x3a, 0x62, - 0x32, 0x2c, 0x62, 0x3a, 0x62, 0x31, 0x2c, 0x79, - 0x3a, 0x62, 0x30, 0x2c, 0x62, 0x61, 0x63, 0x6b, - 0x3a, 0x62, 0x38, 0x2c, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x3a, 0x62, 0x39, 0x2c, 0x64, 0x70, 0x6c, - 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x38, - 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, - 0x68, 0x30, 0x2e, 0x30, 0x2c, 0x64, 0x70, 0x64, - 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, - 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x3a, 0x68, 0x30, 0x2e, 0x30, 0x2c, 0x64, 0x70, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, - 0x2e, 0x32, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, - 0x68, 0x30, 0x2e, 0x30, 0x2c, 0x64, 0x70, 0x75, - 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x65, 0x72, 0x3a, 0x68, 0x30, 0x2e, 0x30, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x36, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x37, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x35, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, 0x69, - 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, - 0x6b, 0x3a, 0x62, 0x31, 0x31, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, - 0x33, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, - 0x3a, 0x61, 0x32, 0x2c, 0x0a, 0x30, 0x33, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x38, 0x66, 0x30, - 0x65, 0x30, 0x30, 0x30, 0x30, 0x31, 0x32, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, 0x30, - 0x31, 0x30, 0x30, 0x30, 0x30, 0x2c, 0x47, 0x72, - 0x65, 0x65, 0x6e, 0x41, 0x73, 0x69, 0x61, 0x20, - 0x49, 0x6e, 0x63, 0x2e, 0x20, 0x20, 0x20, 0x20, - 0x20, 0x20, 0x55, 0x53, 0x42, 0x20, 0x20, 0x4a, - 0x6f, 0x79, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x20, - 0x20, 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x3a, 0x4c, 0x69, 0x6e, 0x75, 0x78, - 0x2c, 0x78, 0x3a, 0x62, 0x32, 0x2c, 0x61, 0x3a, - 0x62, 0x30, 0x2c, 0x62, 0x3a, 0x62, 0x31, 0x2c, - 0x79, 0x3a, 0x62, 0x33, 0x2c, 0x62, 0x61, 0x63, - 0x6b, 0x3a, 0x62, 0x38, 0x2c, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x3a, 0x62, 0x39, 0x2c, 0x64, 0x70, - 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, 0x2e, - 0x38, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, - 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, 0x70, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, - 0x2e, 0x32, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, - 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x3a, 0x62, 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x62, 0x36, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x3a, 0x62, 0x37, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x31, 0x30, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, - 0x31, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, - 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, - 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x78, 0x3a, 0x61, 0x33, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, 0x32, 0x2c, - 0x0a, 0x30, 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x35, 0x65, 0x30, 0x34, 0x30, 0x30, 0x30, - 0x30, 0x39, 0x31, 0x30, 0x32, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x37, 0x30, 0x31, 0x30, 0x30, 0x30, - 0x30, 0x2c, 0x58, 0x33, 0x36, 0x30, 0x20, 0x57, - 0x69, 0x72, 0x65, 0x6c, 0x65, 0x73, 0x73, 0x20, - 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, - 0x65, 0x72, 0x2c, 0x61, 0x3a, 0x62, 0x30, 0x2c, - 0x62, 0x3a, 0x62, 0x31, 0x2c, 0x79, 0x3a, 0x62, - 0x33, 0x2c, 0x78, 0x3a, 0x62, 0x32, 0x2c, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x37, 0x2c, - 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, 0x62, 0x38, - 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x36, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, 0x69, - 0x63, 0x6b, 0x3a, 0x62, 0x39, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, - 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, 0x64, 0x70, - 0x75, 0x70, 0x3a, 0x62, 0x31, 0x33, 0x2c, 0x64, - 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x62, 0x31, - 0x31, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, - 0x3a, 0x62, 0x31, 0x34, 0x2c, 0x64, 0x70, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x3a, 0x62, 0x31, 0x32, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, - 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, - 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x78, 0x3a, 0x61, 0x33, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x79, 0x3a, 0x61, 0x34, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x61, 0x35, 0x2c, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4c, - 0x69, 0x6e, 0x75, 0x78, 0x2c, 0x0a, 0x30, 0x33, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x36, 0x64, - 0x30, 0x34, 0x30, 0x30, 0x30, 0x30, 0x31, 0x36, - 0x63, 0x32, 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, - 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x2c, 0x4c, - 0x6f, 0x67, 0x69, 0x74, 0x65, 0x63, 0x68, 0x20, - 0x4c, 0x6f, 0x67, 0x69, 0x74, 0x65, 0x63, 0x68, - 0x20, 0x44, 0x75, 0x61, 0x6c, 0x20, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4c, 0x69, - 0x6e, 0x75, 0x78, 0x2c, 0x78, 0x3a, 0x62, 0x30, - 0x2c, 0x61, 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x3a, - 0x62, 0x32, 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, - 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x38, 0x2c, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x39, - 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, - 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x64, - 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x30, - 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, - 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, 0x70, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, - 0x30, 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, 0x2c, 0x64, - 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x30, - 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, - 0x2e, 0x31, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x68, 0x30, 0x2e, 0x30, 0x2c, 0x64, 0x70, 0x75, - 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x65, 0x72, 0x3a, 0x68, 0x30, 0x2e, 0x30, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x36, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x35, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x37, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, 0x69, - 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, - 0x6b, 0x3a, 0x62, 0x31, 0x31, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, - 0x32, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, - 0x3a, 0x61, 0x33, 0x2c, 0x0a, 0x30, 0x33, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x32, 0x36, 0x30, - 0x39, 0x30, 0x30, 0x30, 0x30, 0x38, 0x38, 0x38, - 0x38, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x31, 0x30, 0x30, 0x30, 0x30, 0x2c, 0x47, 0x61, - 0x6d, 0x65, 0x43, 0x75, 0x62, 0x65, 0x20, 0x7b, - 0x57, 0x69, 0x73, 0x65, 0x47, 0x72, 0x6f, 0x75, - 0x70, 0x20, 0x55, 0x53, 0x42, 0x20, 0x62, 0x6f, - 0x78, 0x7d, 0x2c, 0x61, 0x3a, 0x62, 0x30, 0x2c, - 0x62, 0x3a, 0x62, 0x32, 0x2c, 0x79, 0x3a, 0x62, - 0x33, 0x2c, 0x78, 0x3a, 0x62, 0x31, 0x2c, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x37, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x65, 0x72, 0x3a, 0x62, 0x36, 0x2c, 0x64, - 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, - 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, - 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, - 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, - 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, 0x70, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, - 0x32, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, - 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, - 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x78, 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, 0x33, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x61, 0x34, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x61, 0x35, 0x2c, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, - 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x2c, 0x0a, 0x30, - 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x36, - 0x64, 0x30, 0x34, 0x30, 0x30, 0x30, 0x30, 0x31, - 0x31, 0x63, 0x32, 0x30, 0x30, 0x30, 0x30, 0x31, - 0x30, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x2c, - 0x4c, 0x6f, 0x67, 0x69, 0x74, 0x65, 0x63, 0x68, - 0x20, 0x57, 0x69, 0x6e, 0x67, 0x4d, 0x61, 0x6e, - 0x20, 0x43, 0x6f, 0x72, 0x64, 0x6c, 0x65, 0x73, - 0x73, 0x20, 0x52, 0x75, 0x6d, 0x62, 0x6c, 0x65, - 0x50, 0x61, 0x64, 0x2c, 0x61, 0x3a, 0x62, 0x30, - 0x2c, 0x62, 0x3a, 0x62, 0x31, 0x2c, 0x79, 0x3a, - 0x62, 0x34, 0x2c, 0x78, 0x3a, 0x62, 0x33, 0x2c, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x38, - 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, 0x62, - 0x35, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, - 0x32, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, - 0x36, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x37, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, - 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x64, 0x70, 0x6c, - 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x38, - 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, - 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, 0x70, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, - 0x32, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, - 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, - 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x78, 0x3a, 0x61, 0x33, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, 0x34, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x62, 0x39, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x62, 0x31, 0x30, 0x2c, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x3a, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x2c, 0x0a, - 0x30, 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x36, 0x64, 0x30, 0x34, 0x30, 0x30, 0x30, 0x30, - 0x31, 0x38, 0x63, 0x32, 0x30, 0x30, 0x30, 0x30, - 0x31, 0x30, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, - 0x2c, 0x4c, 0x6f, 0x67, 0x69, 0x74, 0x65, 0x63, - 0x68, 0x20, 0x4c, 0x6f, 0x67, 0x69, 0x74, 0x65, - 0x63, 0x68, 0x20, 0x52, 0x75, 0x6d, 0x62, 0x6c, - 0x65, 0x50, 0x61, 0x64, 0x20, 0x32, 0x20, 0x55, - 0x53, 0x42, 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x3a, 0x4c, 0x69, 0x6e, 0x75, - 0x78, 0x2c, 0x78, 0x3a, 0x62, 0x30, 0x2c, 0x61, - 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x3a, 0x62, 0x32, - 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, 0x62, 0x61, - 0x63, 0x6b, 0x3a, 0x62, 0x38, 0x2c, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x3a, 0x62, 0x39, 0x2c, 0x64, - 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, - 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, - 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, - 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, - 0x30, 0x2e, 0x32, 0x2c, 0x64, 0x70, 0x75, 0x70, - 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x3a, 0x62, 0x36, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x62, 0x37, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, - 0x62, 0x31, 0x30, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x31, 0x31, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, - 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x78, 0x3a, 0x61, 0x32, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, 0x33, - 0x2c, 0x0a, 0x30, 0x35, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x64, 0x36, 0x32, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x61, 0x64, 0x30, 0x64, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x2c, 0x4d, 0x6f, 0x67, 0x61, 0x20, - 0x50, 0x72, 0x6f, 0x2c, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4c, 0x69, 0x6e, - 0x75, 0x78, 0x2c, 0x61, 0x3a, 0x62, 0x30, 0x2c, - 0x62, 0x3a, 0x62, 0x31, 0x2c, 0x79, 0x3a, 0x62, - 0x33, 0x2c, 0x78, 0x3a, 0x62, 0x32, 0x2c, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x36, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, - 0x6b, 0x3a, 0x62, 0x37, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, - 0x62, 0x38, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x34, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x35, 0x2c, 0x64, 0x70, 0x75, 0x70, - 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x64, 0x70, - 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, 0x2e, - 0x38, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, - 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, 0x70, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, - 0x2e, 0x32, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, - 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x78, 0x3a, 0x61, 0x32, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, 0x33, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, 0x35, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, 0x34, 0x2c, - 0x0a, 0x30, 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x34, 0x66, 0x30, 0x34, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x39, 0x64, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, 0x30, 0x30, - 0x30, 0x2c, 0x54, 0x68, 0x72, 0x75, 0x73, 0x74, - 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x20, 0x52, - 0x75, 0x6e, 0x20, 0x4e, 0x20, 0x44, 0x72, 0x69, - 0x76, 0x65, 0x20, 0x57, 0x69, 0x72, 0x65, 0x6c, - 0x65, 0x73, 0x73, 0x20, 0x50, 0x53, 0x33, 0x2c, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x3a, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x2c, 0x61, - 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x3a, 0x62, 0x32, - 0x2c, 0x78, 0x3a, 0x62, 0x30, 0x2c, 0x79, 0x3a, - 0x62, 0x33, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x3a, 0x62, 0x39, 0x2c, 0x67, 0x75, 0x69, 0x64, - 0x65, 0x3a, 0x62, 0x31, 0x32, 0x2c, 0x62, 0x61, - 0x63, 0x6b, 0x3a, 0x62, 0x38, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, - 0x62, 0x31, 0x30, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x31, 0x31, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x34, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x35, 0x2c, 0x64, 0x70, 0x75, 0x70, - 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x64, 0x70, - 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, 0x2e, - 0x38, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, - 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, 0x70, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, - 0x2e, 0x32, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, - 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x78, 0x3a, 0x61, 0x32, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, 0x33, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x36, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x37, 0x2c, - 0x0a, 0x30, 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x34, 0x66, 0x30, 0x34, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x38, 0x64, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, 0x30, 0x30, - 0x30, 0x2c, 0x54, 0x68, 0x72, 0x75, 0x73, 0x74, - 0x6d, 0x61, 0x73, 0x74, 0x65, 0x72, 0x20, 0x52, - 0x75, 0x6e, 0x20, 0x4e, 0x20, 0x44, 0x72, 0x69, - 0x76, 0x65, 0x20, 0x20, 0x57, 0x69, 0x72, 0x65, - 0x6c, 0x65, 0x73, 0x73, 0x2c, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4c, 0x69, - 0x6e, 0x75, 0x78, 0x2c, 0x61, 0x3a, 0x62, 0x31, - 0x2c, 0x62, 0x3a, 0x62, 0x32, 0x2c, 0x78, 0x3a, - 0x62, 0x30, 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x39, - 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x38, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, 0x69, - 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, - 0x6b, 0x3a, 0x62, 0x31, 0x31, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, 0x64, - 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, - 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, - 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x64, - 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, - 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x3a, 0x68, 0x30, 0x2e, 0x32, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, - 0x32, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, - 0x3a, 0x61, 0x35, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, - 0x62, 0x36, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, - 0x62, 0x37, 0x2c, 0x0a, 0x30, 0x33, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x66, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x33, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, - 0x30, 0x30, 0x30, 0x30, 0x2c, 0x52, 0x65, 0x74, - 0x72, 0x6f, 0x55, 0x53, 0x42, 0x2e, 0x63, 0x6f, - 0x6d, 0x20, 0x52, 0x65, 0x74, 0x72, 0x6f, 0x50, - 0x61, 0x64, 0x2c, 0x61, 0x3a, 0x62, 0x31, 0x2c, - 0x62, 0x3a, 0x62, 0x35, 0x2c, 0x78, 0x3a, 0x62, - 0x30, 0x2c, 0x79, 0x3a, 0x62, 0x34, 0x2c, 0x62, - 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x32, 0x2c, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x33, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x36, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x37, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, - 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, - 0x61, 0x31, 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x3a, 0x4c, 0x69, 0x6e, 0x75, - 0x78, 0x2c, 0x0a, 0x30, 0x33, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x66, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x66, 0x31, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, - 0x30, 0x30, 0x30, 0x2c, 0x52, 0x65, 0x74, 0x72, - 0x6f, 0x55, 0x53, 0x42, 0x2e, 0x63, 0x6f, 0x6d, - 0x20, 0x53, 0x75, 0x70, 0x65, 0x72, 0x20, 0x52, - 0x65, 0x74, 0x72, 0x6f, 0x50, 0x6f, 0x72, 0x74, - 0x2c, 0x61, 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x3a, - 0x62, 0x35, 0x2c, 0x78, 0x3a, 0x62, 0x30, 0x2c, - 0x79, 0x3a, 0x62, 0x34, 0x2c, 0x62, 0x61, 0x63, - 0x6b, 0x3a, 0x62, 0x32, 0x2c, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x3a, 0x62, 0x33, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x62, 0x36, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x65, 0x72, 0x3a, 0x62, 0x37, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, - 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x3a, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x2c, - 0x0a, 0x30, 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x36, 0x66, 0x30, 0x65, 0x30, 0x30, 0x30, - 0x30, 0x31, 0x66, 0x30, 0x31, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, 0x30, 0x30, - 0x30, 0x2c, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, - 0x63, 0x20, 0x58, 0x2d, 0x42, 0x6f, 0x78, 0x20, - 0x70, 0x61, 0x64, 0x2c, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4c, 0x69, 0x6e, - 0x75, 0x78, 0x2c, 0x78, 0x3a, 0x62, 0x32, 0x2c, - 0x61, 0x3a, 0x62, 0x30, 0x2c, 0x62, 0x3a, 0x62, - 0x31, 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, 0x62, - 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x36, 0x2c, 0x67, - 0x75, 0x69, 0x64, 0x65, 0x3a, 0x62, 0x38, 0x2c, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x37, - 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, - 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x64, - 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, - 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x3a, 0x68, 0x30, 0x2e, 0x32, 0x2c, 0x64, 0x70, - 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x61, 0x32, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, 0x35, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, - 0x6b, 0x3a, 0x62, 0x39, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, - 0x62, 0x31, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, 0x33, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, - 0x34, 0x2c, 0x0a, 0x30, 0x33, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x32, 0x38, 0x30, 0x34, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x31, 0x34, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, - 0x30, 0x30, 0x30, 0x2c, 0x47, 0x72, 0x61, 0x76, - 0x69, 0x73, 0x20, 0x47, 0x61, 0x6d, 0x65, 0x50, - 0x61, 0x64, 0x20, 0x50, 0x72, 0x6f, 0x20, 0x55, - 0x53, 0x42, 0x20, 0x2c, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4c, 0x69, 0x6e, - 0x75, 0x78, 0x2c, 0x78, 0x3a, 0x62, 0x30, 0x2c, - 0x61, 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x3a, 0x62, - 0x32, 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, 0x62, - 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x38, 0x2c, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x39, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x62, 0x36, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x37, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, - 0x31, 0x2c, 0x0a, 0x30, 0x33, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x35, 0x65, 0x30, 0x34, 0x30, - 0x30, 0x30, 0x30, 0x38, 0x39, 0x30, 0x32, 0x30, - 0x30, 0x30, 0x30, 0x32, 0x31, 0x30, 0x31, 0x30, - 0x30, 0x30, 0x30, 0x2c, 0x4d, 0x69, 0x63, 0x72, - 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x58, 0x2d, - 0x42, 0x6f, 0x78, 0x20, 0x70, 0x61, 0x64, 0x20, - 0x76, 0x32, 0x20, 0x28, 0x55, 0x53, 0x29, 0x2c, - 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, - 0x3a, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x2c, 0x78, - 0x3a, 0x62, 0x33, 0x2c, 0x61, 0x3a, 0x62, 0x30, - 0x2c, 0x62, 0x3a, 0x62, 0x31, 0x2c, 0x79, 0x3a, - 0x62, 0x34, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, - 0x62, 0x36, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x3a, 0x62, 0x37, 0x2c, 0x64, 0x70, 0x6c, 0x65, - 0x66, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x38, 0x2c, - 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, - 0x30, 0x2e, 0x34, 0x2c, 0x64, 0x70, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, - 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, - 0x2e, 0x31, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x35, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, - 0x32, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x32, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, - 0x61, 0x35, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x38, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, - 0x63, 0x6b, 0x3a, 0x62, 0x39, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, - 0x33, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, - 0x3a, 0x61, 0x34, 0x2c, 0x0a, 0x30, 0x33, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x36, 0x66, 0x30, - 0x65, 0x30, 0x30, 0x30, 0x30, 0x31, 0x65, 0x30, - 0x31, 0x30, 0x30, 0x30, 0x30, 0x31, 0x31, 0x30, - 0x31, 0x30, 0x30, 0x30, 0x30, 0x2c, 0x52, 0x6f, - 0x63, 0x6b, 0x20, 0x43, 0x61, 0x6e, 0x64, 0x79, - 0x20, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x61, 0x64, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x50, 0x53, 0x33, - 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x3a, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x2c, - 0x61, 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x3a, 0x62, - 0x32, 0x2c, 0x78, 0x3a, 0x62, 0x30, 0x2c, 0x79, - 0x3a, 0x62, 0x33, 0x2c, 0x62, 0x61, 0x63, 0x6b, - 0x3a, 0x62, 0x38, 0x2c, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x3a, 0x62, 0x39, 0x2c, 0x67, 0x75, 0x69, - 0x64, 0x65, 0x3a, 0x62, 0x31, 0x32, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, - 0x6b, 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, - 0x3a, 0x62, 0x31, 0x31, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, 0x32, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, - 0x61, 0x33, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, - 0x36, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, - 0x37, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, - 0x30, 0x2e, 0x31, 0x2c, 0x64, 0x70, 0x6c, 0x65, - 0x66, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x38, 0x2c, - 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, - 0x30, 0x2e, 0x34, 0x2c, 0x64, 0x70, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, - 0x2c, 0x0a, 0x30, 0x33, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x32, 0x35, 0x30, 0x39, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x35, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, 0x30, - 0x30, 0x30, 0x2c, 0x53, 0x6f, 0x6e, 0x79, 0x20, - 0x50, 0x53, 0x32, 0x20, 0x70, 0x61, 0x64, 0x20, - 0x77, 0x69, 0x74, 0x68, 0x20, 0x53, 0x6d, 0x61, - 0x72, 0x74, 0x4a, 0x6f, 0x79, 0x20, 0x61, 0x64, - 0x61, 0x70, 0x74, 0x65, 0x72, 0x2c, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4c, - 0x69, 0x6e, 0x75, 0x78, 0x2c, 0x61, 0x3a, 0x62, - 0x32, 0x2c, 0x62, 0x3a, 0x62, 0x31, 0x2c, 0x79, - 0x3a, 0x62, 0x30, 0x2c, 0x78, 0x3a, 0x62, 0x33, - 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, - 0x38, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, - 0x39, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x30, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, - 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x31, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x65, 0x72, 0x3a, 0x62, 0x36, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x37, 0x2c, - 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, - 0x31, 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, - 0x3a, 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, - 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, - 0x34, 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, - 0x61, 0x32, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x79, 0x3a, 0x61, 0x33, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x3a, 0x62, 0x34, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x3a, 0x62, 0x35, 0x2c, 0x0a, 0x30, 0x33, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x38, 0x39, 0x31, - 0x36, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x66, - 0x64, 0x30, 0x30, 0x30, 0x30, 0x32, 0x34, 0x30, - 0x31, 0x30, 0x30, 0x30, 0x30, 0x2c, 0x52, 0x61, - 0x7a, 0x65, 0x72, 0x20, 0x4f, 0x6e, 0x7a, 0x61, - 0x20, 0x54, 0x6f, 0x75, 0x72, 0x6e, 0x61, 0x6d, - 0x65, 0x6e, 0x74, 0x2c, 0x61, 0x3a, 0x62, 0x30, - 0x2c, 0x62, 0x3a, 0x62, 0x31, 0x2c, 0x79, 0x3a, - 0x62, 0x33, 0x2c, 0x78, 0x3a, 0x62, 0x32, 0x2c, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x37, - 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, 0x62, - 0x38, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, - 0x36, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x39, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, - 0x6b, 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, 0x64, - 0x70, 0x75, 0x70, 0x3a, 0x62, 0x31, 0x33, 0x2c, - 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x62, - 0x31, 0x31, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, - 0x6e, 0x3a, 0x62, 0x31, 0x34, 0x2c, 0x64, 0x70, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x62, 0x31, - 0x32, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, - 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, - 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x78, 0x3a, 0x61, 0x33, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, 0x34, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x61, 0x32, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x61, 0x35, 0x2c, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, - 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x2c, 0x0a, 0x30, - 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x34, - 0x66, 0x30, 0x34, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x62, 0x33, 0x30, 0x30, 0x30, 0x30, 0x31, - 0x30, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x2c, - 0x54, 0x68, 0x72, 0x75, 0x73, 0x74, 0x6d, 0x61, - 0x73, 0x74, 0x65, 0x72, 0x20, 0x46, 0x69, 0x72, - 0x65, 0x73, 0x74, 0x6f, 0x72, 0x6d, 0x20, 0x44, - 0x75, 0x61, 0x6c, 0x20, 0x50, 0x6f, 0x77, 0x65, - 0x72, 0x2c, 0x61, 0x3a, 0x62, 0x30, 0x2c, 0x62, - 0x3a, 0x62, 0x32, 0x2c, 0x79, 0x3a, 0x62, 0x33, - 0x2c, 0x78, 0x3a, 0x62, 0x31, 0x2c, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x3a, 0x62, 0x31, 0x30, 0x2c, - 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, 0x62, 0x38, - 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x39, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, 0x69, - 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x31, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, - 0x6b, 0x3a, 0x62, 0x31, 0x32, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x65, 0x72, 0x3a, 0x62, 0x36, 0x2c, 0x64, - 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, - 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, - 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x64, - 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, - 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x3a, 0x68, 0x30, 0x2e, 0x32, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, - 0x32, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, - 0x3a, 0x61, 0x33, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, - 0x62, 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, - 0x62, 0x37, 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x3a, 0x4c, 0x69, 0x6e, 0x75, - 0x78, 0x2c, 0x0a, 0x30, 0x33, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x61, 0x64, 0x31, 0x62, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x31, 0x66, 0x35, 0x30, - 0x30, 0x30, 0x30, 0x33, 0x33, 0x30, 0x35, 0x30, - 0x30, 0x30, 0x30, 0x2c, 0x48, 0x6f, 0x72, 0x69, - 0x20, 0x50, 0x61, 0x64, 0x20, 0x45, 0x58, 0x20, - 0x54, 0x75, 0x72, 0x62, 0x6f, 0x20, 0x32, 0x2c, - 0x61, 0x3a, 0x62, 0x30, 0x2c, 0x62, 0x3a, 0x62, - 0x31, 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, 0x78, - 0x3a, 0x62, 0x32, 0x2c, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x3a, 0x62, 0x37, 0x2c, 0x67, 0x75, 0x69, - 0x64, 0x65, 0x3a, 0x62, 0x38, 0x2c, 0x62, 0x61, - 0x63, 0x6b, 0x3a, 0x62, 0x36, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, - 0x62, 0x39, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, - 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, - 0x34, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x35, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, - 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x64, 0x70, 0x6c, - 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x38, - 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, - 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, 0x70, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, - 0x32, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, - 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, - 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x78, 0x3a, 0x61, 0x33, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, 0x34, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x61, 0x32, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x61, 0x35, 0x2c, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, - 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x2c, 0x0a, 0x30, - 0x35, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x34, - 0x63, 0x30, 0x35, 0x30, 0x30, 0x30, 0x30, 0x63, - 0x34, 0x30, 0x35, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x2c, - 0x50, 0x53, 0x34, 0x20, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x20, 0x28, - 0x42, 0x6c, 0x75, 0x65, 0x74, 0x6f, 0x6f, 0x74, - 0x68, 0x29, 0x2c, 0x61, 0x3a, 0x62, 0x31, 0x2c, - 0x62, 0x3a, 0x62, 0x32, 0x2c, 0x62, 0x61, 0x63, - 0x6b, 0x3a, 0x62, 0x38, 0x2c, 0x64, 0x70, 0x64, - 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, - 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, - 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, - 0x32, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, - 0x30, 0x2e, 0x31, 0x2c, 0x67, 0x75, 0x69, 0x64, - 0x65, 0x3a, 0x62, 0x31, 0x32, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, - 0x62, 0x31, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, - 0x61, 0x33, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, - 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, - 0x3a, 0x62, 0x31, 0x31, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x3a, 0x61, 0x34, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x78, 0x3a, 0x61, 0x32, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, 0x35, - 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, - 0x39, 0x2c, 0x78, 0x3a, 0x62, 0x30, 0x2c, 0x79, - 0x3a, 0x62, 0x33, 0x2c, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4c, 0x69, 0x6e, - 0x75, 0x78, 0x2c, 0x0a, 0x30, 0x36, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x34, 0x63, 0x30, 0x35, - 0x30, 0x30, 0x30, 0x30, 0x36, 0x38, 0x30, 0x32, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, - 0x30, 0x30, 0x30, 0x30, 0x2c, 0x50, 0x53, 0x33, - 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x6c, 0x65, 0x72, 0x20, 0x28, 0x42, 0x6c, 0x75, - 0x65, 0x74, 0x6f, 0x6f, 0x74, 0x68, 0x29, 0x2c, - 0x61, 0x3a, 0x62, 0x31, 0x34, 0x2c, 0x62, 0x3a, - 0x62, 0x31, 0x33, 0x2c, 0x79, 0x3a, 0x62, 0x31, - 0x32, 0x2c, 0x78, 0x3a, 0x62, 0x31, 0x35, 0x2c, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x33, - 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, 0x62, - 0x31, 0x36, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, - 0x62, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, - 0x63, 0x6b, 0x3a, 0x62, 0x32, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x31, 0x31, - 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x62, 0x34, - 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, - 0x62, 0x37, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, - 0x6e, 0x3a, 0x62, 0x36, 0x2c, 0x64, 0x70, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x3a, 0x62, 0x35, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, - 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, - 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x79, 0x3a, 0x61, 0x33, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x3a, 0x62, 0x38, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x3a, 0x62, 0x39, 0x2c, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4c, 0x69, - 0x6e, 0x75, 0x78, 0x2c, 0x0a, 0x30, 0x35, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x34, 0x63, 0x30, - 0x35, 0x30, 0x30, 0x30, 0x30, 0x36, 0x38, 0x30, - 0x32, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x31, 0x30, 0x30, 0x30, 0x30, 0x2c, 0x50, 0x53, - 0x33, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x6c, 0x65, 0x72, 0x20, 0x28, 0x42, 0x6c, - 0x75, 0x65, 0x74, 0x6f, 0x6f, 0x74, 0x68, 0x29, - 0x2c, 0x61, 0x3a, 0x62, 0x31, 0x34, 0x2c, 0x62, - 0x3a, 0x62, 0x31, 0x33, 0x2c, 0x79, 0x3a, 0x62, - 0x31, 0x32, 0x2c, 0x78, 0x3a, 0x62, 0x31, 0x35, - 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, - 0x33, 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, - 0x62, 0x31, 0x36, 0x2c, 0x62, 0x61, 0x63, 0x6b, - 0x3a, 0x62, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x32, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x65, 0x72, 0x3a, 0x62, 0x31, 0x30, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x31, - 0x31, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x62, - 0x34, 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, - 0x3a, 0x62, 0x37, 0x2c, 0x64, 0x70, 0x64, 0x6f, - 0x77, 0x6e, 0x3a, 0x62, 0x36, 0x2c, 0x64, 0x70, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x62, 0x35, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, - 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, - 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x78, 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x79, 0x3a, 0x61, 0x33, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x62, 0x38, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x62, 0x39, 0x2c, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4c, - 0x69, 0x6e, 0x75, 0x78, 0x2c, 0x0a, 0x30, 0x33, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x37, 0x39, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x36, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, - 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x2c, 0x44, - 0x72, 0x61, 0x67, 0x6f, 0x6e, 0x52, 0x69, 0x73, - 0x65, 0x20, 0x49, 0x6e, 0x63, 0x2e, 0x20, 0x20, - 0x20, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x69, 0x63, - 0x20, 0x20, 0x20, 0x55, 0x53, 0x42, 0x20, 0x20, - 0x4a, 0x6f, 0x79, 0x73, 0x74, 0x69, 0x63, 0x6b, - 0x20, 0x20, 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x3a, 0x4c, 0x69, 0x6e, 0x75, - 0x78, 0x2c, 0x78, 0x3a, 0x62, 0x33, 0x2c, 0x61, - 0x3a, 0x62, 0x32, 0x2c, 0x62, 0x3a, 0x62, 0x31, - 0x2c, 0x79, 0x3a, 0x62, 0x30, 0x2c, 0x62, 0x61, - 0x63, 0x6b, 0x3a, 0x62, 0x38, 0x2c, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x3a, 0x62, 0x39, 0x2c, 0x64, - 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, - 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, - 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, - 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, - 0x30, 0x2e, 0x32, 0x2c, 0x64, 0x70, 0x75, 0x70, - 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x3a, 0x62, 0x36, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x62, 0x37, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, - 0x62, 0x31, 0x30, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x31, 0x31, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, - 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x78, 0x3a, 0x61, 0x33, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, 0x34, - 0x2c, 0x0a, 0x30, 0x33, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x36, 0x36, 0x36, 0x36, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x34, 0x38, 0x38, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, 0x30, - 0x30, 0x30, 0x2c, 0x53, 0x75, 0x70, 0x65, 0x72, - 0x20, 0x4a, 0x6f, 0x79, 0x20, 0x42, 0x6f, 0x78, - 0x20, 0x35, 0x20, 0x50, 0x72, 0x6f, 0x2c, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, - 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x2c, 0x61, 0x3a, - 0x62, 0x32, 0x2c, 0x62, 0x3a, 0x62, 0x31, 0x2c, - 0x78, 0x3a, 0x62, 0x33, 0x2c, 0x79, 0x3a, 0x62, - 0x30, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, - 0x39, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, - 0x62, 0x38, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x36, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x37, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, - 0x30, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x31, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, - 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, - 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x78, 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x79, 0x3a, 0x61, 0x33, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, 0x64, 0x70, - 0x75, 0x70, 0x3a, 0x62, 0x31, 0x32, 0x2c, 0x64, - 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x62, 0x31, - 0x35, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, - 0x3a, 0x62, 0x31, 0x34, 0x2c, 0x64, 0x70, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x3a, 0x62, 0x31, 0x33, - 0x2c, 0x0a, 0x30, 0x35, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x33, 0x36, 0x32, 0x38, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x32, 0x30, 0x31, 0x30, 0x30, - 0x30, 0x30, 0x2c, 0x4f, 0x55, 0x59, 0x41, 0x20, - 0x47, 0x61, 0x6d, 0x65, 0x20, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2c, - 0x61, 0x3a, 0x62, 0x30, 0x2c, 0x62, 0x3a, 0x62, - 0x33, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, - 0x3a, 0x62, 0x39, 0x2c, 0x64, 0x70, 0x6c, 0x65, - 0x66, 0x74, 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x64, - 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x62, - 0x31, 0x31, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, - 0x62, 0x38, 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, - 0x3a, 0x62, 0x31, 0x34, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x36, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, 0x32, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, - 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, - 0x61, 0x31, 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x3a, 0x4c, 0x69, 0x6e, 0x75, - 0x78, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x37, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, 0x35, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, - 0x61, 0x33, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x79, 0x3a, 0x61, 0x34, 0x2c, 0x78, 0x3a, 0x62, - 0x31, 0x2c, 0x79, 0x3a, 0x62, 0x32, 0x2c, 0x0a, - 0x30, 0x35, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x33, 0x36, 0x32, 0x38, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x33, 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, - 0x2c, 0x4f, 0x55, 0x59, 0x41, 0x20, 0x47, 0x61, - 0x6d, 0x65, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2c, 0x61, 0x3a, - 0x62, 0x30, 0x2c, 0x62, 0x3a, 0x62, 0x33, 0x2c, - 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x62, - 0x39, 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, - 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x64, 0x70, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x3a, 0x62, 0x31, 0x31, - 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x62, 0x38, - 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, 0x62, - 0x31, 0x34, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x34, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x36, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x61, 0x32, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, - 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x3a, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x35, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x37, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x61, 0x35, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, 0x33, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, - 0x61, 0x34, 0x2c, 0x78, 0x3a, 0x62, 0x31, 0x2c, - 0x79, 0x3a, 0x62, 0x32, 0x2c, 0x0a, 0x30, 0x33, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x38, 0x39, - 0x31, 0x36, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, - 0x66, 0x64, 0x30, 0x30, 0x30, 0x30, 0x32, 0x34, - 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x2c, 0x52, - 0x61, 0x7a, 0x65, 0x72, 0x20, 0x4f, 0x6e, 0x7a, - 0x61, 0x20, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x69, - 0x63, 0x20, 0x45, 0x64, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x3a, 0x4c, 0x69, 0x6e, 0x75, 0x78, - 0x2c, 0x78, 0x3a, 0x62, 0x32, 0x2c, 0x61, 0x3a, - 0x62, 0x30, 0x2c, 0x62, 0x3a, 0x62, 0x31, 0x2c, - 0x79, 0x3a, 0x62, 0x33, 0x2c, 0x62, 0x61, 0x63, - 0x6b, 0x3a, 0x62, 0x36, 0x2c, 0x67, 0x75, 0x69, - 0x64, 0x65, 0x3a, 0x62, 0x38, 0x2c, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x3a, 0x62, 0x37, 0x2c, 0x64, - 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x62, 0x31, - 0x31, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, - 0x3a, 0x62, 0x31, 0x34, 0x2c, 0x64, 0x70, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x3a, 0x62, 0x31, 0x32, - 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x62, 0x31, - 0x33, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, - 0x34, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, 0x32, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, - 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, - 0x35, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x39, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, - 0x6b, 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, - 0x33, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, - 0x3a, 0x61, 0x34, 0x2c, 0x0a, 0x30, 0x33, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x35, 0x65, 0x30, - 0x34, 0x30, 0x30, 0x30, 0x30, 0x64, 0x31, 0x30, - 0x32, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, - 0x31, 0x30, 0x30, 0x30, 0x30, 0x2c, 0x4d, 0x69, - 0x63, 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, - 0x58, 0x2d, 0x42, 0x6f, 0x78, 0x20, 0x4f, 0x6e, - 0x65, 0x20, 0x70, 0x61, 0x64, 0x2c, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4c, - 0x69, 0x6e, 0x75, 0x78, 0x2c, 0x78, 0x3a, 0x62, - 0x32, 0x2c, 0x61, 0x3a, 0x62, 0x30, 0x2c, 0x62, - 0x3a, 0x62, 0x31, 0x2c, 0x79, 0x3a, 0x62, 0x33, - 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x36, - 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, 0x62, - 0x38, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, - 0x62, 0x37, 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, - 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, - 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, - 0x2e, 0x30, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, - 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, - 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, - 0x30, 0x2e, 0x30, 0x2c, 0x64, 0x70, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, - 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, - 0x2e, 0x30, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, - 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x68, 0x30, 0x2e, 0x30, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x61, 0x35, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, - 0x3a, 0x62, 0x39, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x31, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, - 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x78, 0x3a, 0x61, 0x33, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, 0x34, - 0x2c, 0x0a, 0x30, 0x33, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x35, 0x65, 0x30, 0x34, 0x30, 0x30, - 0x30, 0x30, 0x64, 0x64, 0x30, 0x32, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x33, 0x30, 0x32, 0x30, 0x30, - 0x30, 0x30, 0x2c, 0x4d, 0x69, 0x63, 0x72, 0x6f, - 0x73, 0x6f, 0x66, 0x74, 0x20, 0x58, 0x2d, 0x42, - 0x6f, 0x78, 0x20, 0x4f, 0x6e, 0x65, 0x20, 0x70, - 0x61, 0x64, 0x20, 0x76, 0x32, 0x2c, 0x78, 0x3a, - 0x62, 0x32, 0x2c, 0x61, 0x3a, 0x62, 0x30, 0x2c, - 0x62, 0x3a, 0x62, 0x31, 0x2c, 0x79, 0x3a, 0x62, - 0x33, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, - 0x36, 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, - 0x62, 0x38, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x3a, 0x62, 0x37, 0x2c, 0x64, 0x70, 0x6c, 0x65, - 0x66, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x38, 0x2c, - 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, - 0x30, 0x2e, 0x30, 0x2c, 0x64, 0x70, 0x64, 0x6f, - 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, - 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, - 0x68, 0x30, 0x2e, 0x30, 0x2c, 0x64, 0x70, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, - 0x32, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, - 0x30, 0x2e, 0x30, 0x2c, 0x64, 0x70, 0x75, 0x70, - 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x68, 0x30, 0x2e, 0x30, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x61, 0x32, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, 0x35, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, - 0x6b, 0x3a, 0x62, 0x39, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, - 0x62, 0x31, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, 0x33, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, - 0x34, 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x3a, 0x4c, 0x69, 0x6e, 0x75, 0x78, - 0x2c, 0x0a, 0x30, 0x33, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x37, 0x39, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x31, 0x31, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x31, 0x30, 0x30, 0x31, 0x30, 0x30, - 0x30, 0x30, 0x2c, 0x52, 0x65, 0x74, 0x72, 0x6f, - 0x4c, 0x69, 0x6e, 0x6b, 0x20, 0x53, 0x61, 0x74, - 0x75, 0x72, 0x6e, 0x20, 0x43, 0x6c, 0x61, 0x73, - 0x73, 0x69, 0x63, 0x20, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2c, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, - 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x2c, 0x78, 0x3a, - 0x62, 0x33, 0x2c, 0x61, 0x3a, 0x62, 0x30, 0x2c, - 0x62, 0x3a, 0x62, 0x31, 0x2c, 0x79, 0x3a, 0x62, - 0x34, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, - 0x35, 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, - 0x62, 0x32, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x3a, 0x62, 0x38, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x36, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x62, 0x37, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x0a, - 0x30, 0x35, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x37, 0x65, 0x30, 0x35, 0x30, 0x30, 0x30, 0x30, - 0x33, 0x30, 0x30, 0x33, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x2c, 0x4e, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x64, - 0x6f, 0x20, 0x57, 0x69, 0x69, 0x20, 0x55, 0x20, - 0x50, 0x72, 0x6f, 0x20, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2c, 0x70, - 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, - 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x2c, 0x61, 0x3a, - 0x62, 0x30, 0x2c, 0x62, 0x3a, 0x62, 0x31, 0x2c, - 0x78, 0x3a, 0x62, 0x33, 0x2c, 0x79, 0x3a, 0x62, - 0x32, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, - 0x38, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, - 0x62, 0x39, 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, - 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, - 0x62, 0x31, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x31, 0x32, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, - 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x78, 0x3a, 0x61, 0x32, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, 0x33, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x36, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x37, 0x2c, - 0x64, 0x70, 0x75, 0x70, 0x3a, 0x62, 0x31, 0x33, - 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, - 0x62, 0x31, 0x35, 0x2c, 0x64, 0x70, 0x64, 0x6f, - 0x77, 0x6e, 0x3a, 0x62, 0x31, 0x34, 0x2c, 0x64, - 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x62, - 0x31, 0x36, 0x2c, 0x0a, 0x30, 0x33, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x35, 0x65, 0x30, 0x34, - 0x30, 0x30, 0x30, 0x30, 0x38, 0x65, 0x30, 0x32, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x34, 0x30, 0x31, - 0x30, 0x30, 0x30, 0x30, 0x2c, 0x4d, 0x69, 0x63, - 0x72, 0x6f, 0x73, 0x6f, 0x66, 0x74, 0x20, 0x58, - 0x2d, 0x42, 0x6f, 0x78, 0x20, 0x33, 0x36, 0x30, - 0x20, 0x70, 0x61, 0x64, 0x2c, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4c, 0x69, - 0x6e, 0x75, 0x78, 0x2c, 0x61, 0x3a, 0x62, 0x30, - 0x2c, 0x62, 0x3a, 0x62, 0x31, 0x2c, 0x78, 0x3a, - 0x62, 0x32, 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, - 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x36, 0x2c, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x37, - 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, 0x62, - 0x38, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, - 0x34, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x35, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x39, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, - 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, - 0x61, 0x33, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x79, 0x3a, 0x61, 0x34, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x3a, 0x61, 0x35, 0x2c, 0x64, 0x70, 0x75, 0x70, - 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x64, 0x70, - 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, 0x2e, - 0x38, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, - 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, 0x70, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, - 0x2e, 0x32, 0x2c, 0x0a, 0x30, 0x33, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x64, 0x30, 0x66, - 0x30, 0x30, 0x30, 0x30, 0x32, 0x32, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x31, 0x31, 0x30, 0x31, - 0x30, 0x30, 0x30, 0x30, 0x2c, 0x48, 0x4f, 0x52, - 0x49, 0x20, 0x43, 0x4f, 0x2e, 0x20, 0x4c, 0x54, - 0x44, 0x2e, 0x20, 0x52, 0x45, 0x41, 0x4c, 0x20, - 0x41, 0x52, 0x43, 0x41, 0x44, 0x45, 0x20, 0x50, - 0x72, 0x6f, 0x2e, 0x56, 0x33, 0x2c, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4c, - 0x69, 0x6e, 0x75, 0x78, 0x2c, 0x78, 0x3a, 0x62, - 0x30, 0x2c, 0x61, 0x3a, 0x62, 0x31, 0x2c, 0x62, - 0x3a, 0x62, 0x32, 0x2c, 0x79, 0x3a, 0x62, 0x33, - 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x38, - 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, 0x62, - 0x31, 0x32, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x3a, 0x62, 0x39, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x34, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, - 0x62, 0x36, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x3a, 0x62, 0x37, 0x2c, 0x64, 0x70, 0x6c, 0x65, - 0x66, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x38, 0x2c, - 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, - 0x30, 0x2e, 0x34, 0x2c, 0x64, 0x70, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, - 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, - 0x2e, 0x31, 0x2c, 0x0a, 0x30, 0x33, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x64, 0x30, 0x66, - 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x31, 0x31, 0x30, 0x31, - 0x30, 0x30, 0x30, 0x30, 0x2c, 0x48, 0x4f, 0x52, - 0x49, 0x20, 0x43, 0x4f, 0x2e, 0x20, 0x4c, 0x54, - 0x44, 0x2e, 0x20, 0x46, 0x49, 0x47, 0x48, 0x54, - 0x49, 0x4e, 0x47, 0x20, 0x53, 0x54, 0x49, 0x43, - 0x4b, 0x20, 0x33, 0x2c, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4c, 0x69, 0x6e, - 0x75, 0x78, 0x2c, 0x78, 0x3a, 0x62, 0x30, 0x2c, - 0x61, 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x3a, 0x62, - 0x32, 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, 0x62, - 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x38, 0x2c, 0x67, - 0x75, 0x69, 0x64, 0x65, 0x3a, 0x62, 0x31, 0x32, - 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, - 0x39, 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, - 0x3a, 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, - 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, - 0x34, 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, 0x2c, 0x64, - 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x36, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x35, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x37, - 0x0a, 0x30, 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x66, 0x30, 0x32, 0x35, 0x30, 0x30, 0x30, - 0x30, 0x63, 0x31, 0x38, 0x33, 0x30, 0x30, 0x30, - 0x30, 0x31, 0x30, 0x30, 0x31, 0x30, 0x30, 0x30, - 0x30, 0x2c, 0x47, 0x6f, 0x6f, 0x64, 0x62, 0x65, - 0x74, 0x74, 0x65, 0x72, 0x62, 0x65, 0x73, 0x74, - 0x20, 0x4c, 0x74, 0x64, 0x20, 0x55, 0x53, 0x42, - 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x6c, 0x65, 0x72, 0x2c, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4c, 0x69, 0x6e, - 0x75, 0x78, 0x2c, 0x78, 0x3a, 0x62, 0x30, 0x2c, - 0x61, 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x3a, 0x62, - 0x32, 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, 0x62, - 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x38, 0x2c, 0x67, - 0x75, 0x69, 0x64, 0x65, 0x3a, 0x62, 0x31, 0x32, - 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, - 0x39, 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, - 0x3a, 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, - 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, - 0x30, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, - 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, 0x70, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, - 0x2e, 0x30, 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, 0x2c, - 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, - 0x30, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, - 0x30, 0x2e, 0x31, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x68, 0x30, 0x2e, 0x30, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x3a, 0x62, 0x36, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, - 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x62, 0x37, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, - 0x62, 0x31, 0x30, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x31, 0x31, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, - 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x78, 0x3a, 0x61, 0x32, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, 0x33, - 0x2c, 0x0a, 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x35, 0x38, 0x36, 0x32, 0x36, 0x66, - 0x37, 0x38, 0x32, 0x30, 0x34, 0x37, 0x36, 0x31, - 0x36, 0x64, 0x36, 0x35, 0x37, 0x30, 0x36, 0x31, - 0x30, 0x30, 0x2c, 0x58, 0x62, 0x6f, 0x78, 0x20, - 0x47, 0x61, 0x6d, 0x65, 0x70, 0x61, 0x64, 0x20, - 0x28, 0x75, 0x73, 0x65, 0x72, 0x73, 0x70, 0x61, - 0x63, 0x65, 0x20, 0x64, 0x72, 0x69, 0x76, 0x65, - 0x72, 0x29, 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, - 0x6f, 0x72, 0x6d, 0x3a, 0x4c, 0x69, 0x6e, 0x75, - 0x78, 0x2c, 0x61, 0x3a, 0x62, 0x30, 0x2c, 0x62, - 0x3a, 0x62, 0x31, 0x2c, 0x78, 0x3a, 0x62, 0x32, - 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x3a, 0x62, 0x37, 0x2c, 0x62, - 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x36, 0x2c, 0x67, - 0x75, 0x69, 0x64, 0x65, 0x3a, 0x62, 0x38, 0x2c, - 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, - 0x31, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, - 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, 0x70, - 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, 0x2e, - 0x38, 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x61, 0x35, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x61, 0x34, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, - 0x3a, 0x62, 0x39, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x31, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, - 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x78, 0x3a, 0x61, 0x32, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, 0x33, - 0x2c, 0x0a, 0x30, 0x33, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x66, 0x66, 0x31, 0x31, 0x30, 0x30, - 0x30, 0x30, 0x33, 0x31, 0x33, 0x33, 0x30, 0x30, - 0x30, 0x30, 0x31, 0x30, 0x30, 0x31, 0x30, 0x30, - 0x30, 0x30, 0x2c, 0x50, 0x43, 0x20, 0x47, 0x61, - 0x6d, 0x65, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2c, 0x61, 0x3a, - 0x62, 0x32, 0x2c, 0x62, 0x3a, 0x62, 0x31, 0x2c, - 0x79, 0x3a, 0x62, 0x30, 0x2c, 0x78, 0x3a, 0x62, - 0x33, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, - 0x62, 0x39, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, - 0x62, 0x38, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x30, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x31, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x35, - 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, - 0x2e, 0x31, 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, - 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, - 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, - 0x2e, 0x34, 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, - 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, - 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x79, 0x3a, 0x61, 0x33, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x3a, 0x62, 0x36, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x3a, 0x62, 0x37, 0x2c, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4c, 0x69, - 0x6e, 0x75, 0x78, 0x2c, 0x0a, 0x30, 0x33, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x35, 0x65, 0x30, - 0x34, 0x30, 0x30, 0x30, 0x30, 0x38, 0x65, 0x30, - 0x32, 0x30, 0x30, 0x30, 0x30, 0x32, 0x30, 0x32, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x2c, 0x53, 0x70, - 0x65, 0x65, 0x64, 0x4c, 0x69, 0x6e, 0x6b, 0x20, - 0x58, 0x45, 0x4f, 0x58, 0x20, 0x50, 0x72, 0x6f, - 0x20, 0x41, 0x6e, 0x61, 0x6c, 0x6f, 0x67, 0x20, - 0x47, 0x61, 0x6d, 0x65, 0x70, 0x61, 0x64, 0x20, - 0x70, 0x61, 0x64, 0x2c, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4c, 0x69, 0x6e, - 0x75, 0x78, 0x2c, 0x78, 0x3a, 0x62, 0x32, 0x2c, - 0x61, 0x3a, 0x62, 0x30, 0x2c, 0x62, 0x3a, 0x62, - 0x31, 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, 0x62, - 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x36, 0x2c, 0x67, - 0x75, 0x69, 0x64, 0x65, 0x3a, 0x62, 0x38, 0x2c, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x37, - 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, - 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x64, - 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, - 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x3a, 0x68, 0x30, 0x2e, 0x32, 0x2c, 0x64, 0x70, - 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x61, 0x32, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, 0x35, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, - 0x6b, 0x3a, 0x62, 0x39, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, - 0x62, 0x31, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, 0x33, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, - 0x34, 0x2c, 0x0a, 0x30, 0x33, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x36, 0x66, 0x30, 0x65, 0x30, - 0x30, 0x30, 0x30, 0x31, 0x33, 0x30, 0x34, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, - 0x30, 0x30, 0x30, 0x2c, 0x47, 0x65, 0x6e, 0x65, - 0x72, 0x69, 0x63, 0x20, 0x58, 0x2d, 0x42, 0x6f, - 0x78, 0x20, 0x70, 0x61, 0x64, 0x2c, 0x70, 0x6c, - 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4c, - 0x69, 0x6e, 0x75, 0x78, 0x2c, 0x78, 0x3a, 0x62, - 0x32, 0x2c, 0x61, 0x3a, 0x62, 0x30, 0x2c, 0x62, - 0x3a, 0x62, 0x31, 0x2c, 0x79, 0x3a, 0x62, 0x33, - 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x36, - 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, 0x62, - 0x38, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, - 0x62, 0x37, 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, - 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, - 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, - 0x2e, 0x30, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, - 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, - 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, - 0x30, 0x2e, 0x30, 0x2c, 0x64, 0x70, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, - 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, - 0x2e, 0x30, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, - 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x68, 0x30, 0x2e, 0x30, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x61, 0x35, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, - 0x3a, 0x61, 0x30, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x61, - 0x33, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x39, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, - 0x6b, 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, - 0x33, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, - 0x3a, 0x61, 0x34, 0x2c, 0x0a, 0x30, 0x33, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x61, 0x33, 0x30, - 0x36, 0x30, 0x30, 0x30, 0x30, 0x31, 0x38, 0x66, - 0x35, 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, 0x30, - 0x31, 0x30, 0x30, 0x30, 0x30, 0x2c, 0x53, 0x61, - 0x69, 0x74, 0x65, 0x6b, 0x20, 0x50, 0x4c, 0x43, - 0x20, 0x53, 0x61, 0x69, 0x74, 0x65, 0x6b, 0x20, - 0x50, 0x33, 0x32, 0x30, 0x30, 0x20, 0x52, 0x75, - 0x6d, 0x62, 0x6c, 0x65, 0x20, 0x50, 0x61, 0x64, - 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x3a, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x2c, - 0x78, 0x3a, 0x62, 0x30, 0x2c, 0x61, 0x3a, 0x62, - 0x31, 0x2c, 0x62, 0x3a, 0x62, 0x32, 0x2c, 0x79, - 0x3a, 0x62, 0x33, 0x2c, 0x62, 0x61, 0x63, 0x6b, - 0x3a, 0x62, 0x38, 0x2c, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x3a, 0x62, 0x39, 0x2c, 0x64, 0x70, 0x6c, - 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x38, - 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, - 0x68, 0x30, 0x2e, 0x30, 0x2c, 0x64, 0x70, 0x64, - 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, - 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x3a, 0x68, 0x30, 0x2e, 0x30, 0x2c, 0x64, 0x70, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, - 0x2e, 0x32, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, - 0x68, 0x30, 0x2e, 0x30, 0x2c, 0x64, 0x70, 0x75, - 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, - 0x64, 0x65, 0x72, 0x3a, 0x68, 0x30, 0x2e, 0x30, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, 0x32, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x36, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, - 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, - 0x37, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x30, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, - 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x31, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, - 0x61, 0x33, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x79, 0x3a, 0x61, 0x34, 0x2c, 0x0a, 0x30, 0x33, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x30, 0x38, 0x33, - 0x30, 0x35, 0x30, 0x30, 0x30, 0x30, 0x36, 0x30, - 0x32, 0x30, 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, - 0x30, 0x31, 0x30, 0x30, 0x30, 0x30, 0x2c, 0x69, - 0x42, 0x75, 0x66, 0x66, 0x61, 0x6c, 0x6f, 0x20, - 0x55, 0x53, 0x42, 0x20, 0x32, 0x2d, 0x61, 0x78, - 0x69, 0x73, 0x20, 0x38, 0x2d, 0x62, 0x75, 0x74, - 0x74, 0x6f, 0x6e, 0x20, 0x47, 0x61, 0x6d, 0x65, - 0x70, 0x61, 0x64, 0x2c, 0x61, 0x3a, 0x62, 0x31, - 0x2c, 0x62, 0x3a, 0x62, 0x30, 0x2c, 0x78, 0x3a, - 0x62, 0x33, 0x2c, 0x79, 0x3a, 0x62, 0x32, 0x2c, - 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x36, 0x2c, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x37, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, - 0x35, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, - 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, - 0x3a, 0x61, 0x31, 0x2c, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4c, 0x69, 0x6e, - 0x75, 0x78, 0x2c, 0x0a, 0x30, 0x33, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x63, 0x39, 0x31, 0x31, - 0x30, 0x30, 0x30, 0x30, 0x66, 0x30, 0x35, 0x35, - 0x30, 0x30, 0x30, 0x30, 0x31, 0x31, 0x30, 0x31, - 0x30, 0x30, 0x30, 0x30, 0x2c, 0x48, 0x4a, 0x43, - 0x20, 0x47, 0x61, 0x6d, 0x65, 0x20, 0x47, 0x41, - 0x4d, 0x45, 0x50, 0x41, 0x44, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, - 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, - 0x30, 0x2e, 0x34, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x31, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x78, 0x3a, 0x61, 0x32, 0x2c, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x3a, 0x62, 0x39, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, 0x33, - 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, - 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, - 0x3a, 0x62, 0x36, 0x2c, 0x78, 0x3a, 0x62, 0x32, - 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, - 0x2e, 0x31, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, - 0x62, 0x38, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x30, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, - 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, 0x61, 0x3a, - 0x62, 0x30, 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x37, 0x2c, - 0x62, 0x3a, 0x62, 0x31, 0x2c, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4c, 0x69, - 0x6e, 0x75, 0x78, 0x2c, 0x0a, 0x30, 0x33, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x61, 0x33, 0x30, - 0x36, 0x30, 0x30, 0x30, 0x30, 0x30, 0x63, 0x30, - 0x34, 0x30, 0x30, 0x30, 0x30, 0x31, 0x31, 0x30, - 0x31, 0x30, 0x30, 0x30, 0x30, 0x2c, 0x53, 0x61, - 0x69, 0x74, 0x65, 0x6b, 0x20, 0x50, 0x32, 0x39, - 0x30, 0x30, 0x20, 0x57, 0x69, 0x72, 0x65, 0x6c, - 0x65, 0x73, 0x73, 0x20, 0x50, 0x61, 0x64, 0x2c, - 0x61, 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x3a, 0x62, - 0x32, 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, 0x78, - 0x3a, 0x62, 0x30, 0x2c, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x3a, 0x62, 0x31, 0x32, 0x2c, 0x67, 0x75, - 0x69, 0x64, 0x65, 0x3a, 0x62, 0x39, 0x2c, 0x62, - 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x38, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, - 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x72, 0x69, 0x67, - 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, - 0x62, 0x31, 0x31, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, - 0x3a, 0x62, 0x36, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x62, 0x37, 0x2c, 0x64, 0x70, 0x75, - 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x64, - 0x70, 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, - 0x2e, 0x38, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, - 0x6e, 0x3a, 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, - 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, - 0x30, 0x2e, 0x32, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, 0x33, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, - 0x32, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x34, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x35, - 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x3a, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x2c, - 0x0a, 0x30, 0x33, 0x30, 0x30, 0x30, 0x30, 0x30, - 0x30, 0x33, 0x34, 0x31, 0x61, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x35, 0x66, 0x37, 0x30, 0x30, 0x30, - 0x30, 0x31, 0x30, 0x30, 0x31, 0x30, 0x30, 0x30, - 0x30, 0x2c, 0x47, 0x61, 0x6d, 0x65, 0x43, 0x75, - 0x62, 0x65, 0x20, 0x7b, 0x48, 0x75, 0x69, 0x4a, - 0x69, 0x61, 0x20, 0x55, 0x53, 0x42, 0x20, 0x62, - 0x6f, 0x78, 0x7d, 0x2c, 0x61, 0x3a, 0x62, 0x31, - 0x2c, 0x62, 0x3a, 0x62, 0x32, 0x2c, 0x79, 0x3a, - 0x62, 0x33, 0x2c, 0x78, 0x3a, 0x62, 0x30, 0x2c, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x39, - 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, 0x2c, - 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x3a, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, - 0x72, 0x3a, 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, - 0x74, 0x3a, 0x62, 0x31, 0x35, 0x2c, 0x64, 0x70, - 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x62, 0x31, 0x34, - 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x3a, 0x62, 0x31, 0x33, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, 0x35, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, - 0x61, 0x32, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, - 0x33, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, - 0x34, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x37, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, - 0x62, 0x31, 0x32, 0x2c, 0x70, 0x6c, 0x61, 0x74, - 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4c, 0x69, 0x6e, - 0x75, 0x78, 0x2c, 0x0a, 0x30, 0x33, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x36, 0x65, 0x30, 0x35, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x33, 0x32, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, 0x30, 0x31, - 0x30, 0x30, 0x30, 0x30, 0x2c, 0x4a, 0x43, 0x2d, - 0x55, 0x33, 0x36, 0x31, 0x33, 0x4d, 0x20, 0x2d, - 0x20, 0x44, 0x69, 0x72, 0x65, 0x63, 0x74, 0x49, - 0x6e, 0x70, 0x75, 0x74, 0x20, 0x4d, 0x6f, 0x64, - 0x65, 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, - 0x72, 0x6d, 0x3a, 0x4c, 0x69, 0x6e, 0x75, 0x78, - 0x2c, 0x78, 0x3a, 0x62, 0x30, 0x2c, 0x61, 0x3a, - 0x62, 0x32, 0x2c, 0x62, 0x3a, 0x62, 0x33, 0x2c, - 0x79, 0x3a, 0x62, 0x31, 0x2c, 0x62, 0x61, 0x63, - 0x6b, 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x67, 0x75, - 0x69, 0x64, 0x65, 0x3a, 0x62, 0x31, 0x32, 0x2c, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, 0x31, - 0x31, 0x2c, 0x64, 0x70, 0x6c, 0x65, 0x66, 0x74, - 0x3a, 0x68, 0x30, 0x2e, 0x38, 0x2c, 0x64, 0x70, - 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, - 0x34, 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, 0x2c, 0x64, - 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, - 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x36, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x35, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x62, 0x37, - 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, 0x69, - 0x63, 0x6b, 0x3a, 0x62, 0x38, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, - 0x3a, 0x62, 0x39, 0x2c, 0x6c, 0x65, 0x66, 0x74, - 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, 0x32, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, - 0x33, 0x2c, 0x0a, 0x30, 0x33, 0x30, 0x30, 0x30, - 0x30, 0x30, 0x30, 0x36, 0x66, 0x30, 0x65, 0x30, - 0x30, 0x30, 0x30, 0x34, 0x36, 0x30, 0x31, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, 0x31, 0x30, - 0x30, 0x30, 0x30, 0x2c, 0x52, 0x6f, 0x63, 0x6b, - 0x20, 0x43, 0x61, 0x6e, 0x64, 0x79, 0x20, 0x57, - 0x69, 0x72, 0x65, 0x64, 0x20, 0x43, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x58, 0x62, 0x6f, 0x78, - 0x20, 0x4f, 0x6e, 0x65, 0x2c, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4c, 0x69, - 0x6e, 0x75, 0x78, 0x2c, 0x61, 0x3a, 0x62, 0x30, - 0x2c, 0x62, 0x3a, 0x62, 0x31, 0x2c, 0x78, 0x3a, - 0x62, 0x32, 0x2c, 0x79, 0x3a, 0x62, 0x33, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x34, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, 0x6f, - 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, 0x35, - 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, 0x36, - 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x62, - 0x37, 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, - 0x62, 0x38, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x39, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, - 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x3a, 0x61, 0x35, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, - 0x33, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, - 0x3a, 0x61, 0x34, 0x2c, 0x0a, 0x30, 0x33, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x33, 0x38, 0x30, - 0x37, 0x30, 0x30, 0x30, 0x30, 0x31, 0x36, 0x34, - 0x37, 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, 0x30, - 0x34, 0x30, 0x30, 0x30, 0x30, 0x2c, 0x4d, 0x61, - 0x64, 0x20, 0x43, 0x61, 0x74, 0x7a, 0x20, 0x57, - 0x69, 0x72, 0x65, 0x64, 0x20, 0x58, 0x62, 0x6f, - 0x78, 0x20, 0x33, 0x36, 0x30, 0x20, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, - 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x3a, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x2c, - 0x78, 0x3a, 0x62, 0x32, 0x2c, 0x61, 0x3a, 0x62, - 0x30, 0x2c, 0x62, 0x3a, 0x62, 0x31, 0x2c, 0x79, - 0x3a, 0x62, 0x33, 0x2c, 0x62, 0x61, 0x63, 0x6b, - 0x3a, 0x62, 0x36, 0x2c, 0x67, 0x75, 0x69, 0x64, - 0x65, 0x3a, 0x62, 0x38, 0x2c, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x3a, 0x62, 0x37, 0x2c, 0x64, 0x70, - 0x6c, 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, 0x2e, - 0x38, 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, - 0x3a, 0x68, 0x30, 0x2e, 0x30, 0x2c, 0x64, 0x70, - 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, 0x30, 0x2e, - 0x34, 0x2c, 0x64, 0x70, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x30, 0x2c, 0x64, - 0x70, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, - 0x30, 0x2e, 0x32, 0x2c, 0x64, 0x70, 0x75, 0x70, - 0x3a, 0x68, 0x30, 0x2e, 0x30, 0x2c, 0x64, 0x70, - 0x75, 0x70, 0x3a, 0x68, 0x30, 0x2e, 0x31, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, 0x6f, 0x75, - 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x68, 0x30, 0x2e, - 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, - 0x34, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, - 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, 0x32, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, - 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, - 0x35, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x74, - 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x39, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, 0x63, - 0x6b, 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x6c, 0x65, - 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, 0x61, - 0x33, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x79, - 0x3a, 0x61, 0x34, 0x2c, 0x0a, 0x30, 0x33, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x36, 0x66, 0x30, - 0x65, 0x30, 0x30, 0x30, 0x30, 0x33, 0x39, 0x30, - 0x31, 0x30, 0x30, 0x30, 0x30, 0x32, 0x30, 0x30, - 0x36, 0x30, 0x30, 0x30, 0x30, 0x2c, 0x41, 0x66, - 0x74, 0x65, 0x72, 0x67, 0x6c, 0x6f, 0x77, 0x20, - 0x57, 0x69, 0x72, 0x65, 0x64, 0x20, 0x43, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, - 0x20, 0x66, 0x6f, 0x72, 0x20, 0x58, 0x62, 0x6f, - 0x78, 0x20, 0x4f, 0x6e, 0x65, 0x2c, 0x78, 0x3a, - 0x62, 0x32, 0x2c, 0x61, 0x3a, 0x62, 0x30, 0x2c, - 0x62, 0x3a, 0x62, 0x31, 0x2c, 0x79, 0x3a, 0x62, - 0x33, 0x2c, 0x62, 0x61, 0x63, 0x6b, 0x3a, 0x62, - 0x36, 0x2c, 0x67, 0x75, 0x69, 0x64, 0x65, 0x3a, - 0x62, 0x38, 0x2c, 0x73, 0x74, 0x61, 0x72, 0x74, - 0x3a, 0x62, 0x37, 0x2c, 0x64, 0x70, 0x6c, 0x65, - 0x66, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x38, 0x2c, - 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, 0x68, - 0x30, 0x2e, 0x34, 0x2c, 0x64, 0x70, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x32, - 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, 0x68, 0x30, - 0x2e, 0x31, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x34, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x74, - 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, 0x61, - 0x32, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x35, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x3a, - 0x61, 0x35, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, - 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x39, 0x2c, - 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, 0x74, 0x69, - 0x63, 0x6b, 0x3a, 0x62, 0x31, 0x30, 0x2c, 0x6c, - 0x65, 0x66, 0x74, 0x78, 0x3a, 0x61, 0x30, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x79, 0x3a, 0x61, 0x31, - 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x78, 0x3a, - 0x61, 0x33, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x79, 0x3a, 0x61, 0x34, 0x2c, 0x70, 0x6c, 0x61, - 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x3a, 0x4c, 0x69, - 0x6e, 0x75, 0x78, 0x2c, 0x0a, 0x30, 0x33, 0x30, - 0x30, 0x30, 0x30, 0x30, 0x30, 0x34, 0x66, 0x30, - 0x34, 0x30, 0x30, 0x30, 0x30, 0x31, 0x35, 0x62, - 0x33, 0x30, 0x30, 0x30, 0x30, 0x31, 0x30, 0x30, - 0x31, 0x30, 0x30, 0x30, 0x30, 0x2c, 0x54, 0x68, - 0x72, 0x75, 0x73, 0x74, 0x6d, 0x61, 0x73, 0x74, - 0x65, 0x72, 0x20, 0x44, 0x75, 0x61, 0x6c, 0x20, - 0x41, 0x6e, 0x61, 0x6c, 0x6f, 0x67, 0x20, 0x34, - 0x2c, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, - 0x6d, 0x3a, 0x4c, 0x69, 0x6e, 0x75, 0x78, 0x2c, - 0x61, 0x3a, 0x62, 0x30, 0x2c, 0x62, 0x3a, 0x62, - 0x32, 0x2c, 0x78, 0x3a, 0x62, 0x31, 0x2c, 0x79, - 0x3a, 0x62, 0x33, 0x2c, 0x73, 0x74, 0x61, 0x72, - 0x74, 0x3a, 0x62, 0x39, 0x2c, 0x62, 0x61, 0x63, - 0x6b, 0x3a, 0x62, 0x38, 0x2c, 0x6c, 0x65, 0x66, - 0x74, 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, - 0x31, 0x30, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, - 0x73, 0x74, 0x69, 0x63, 0x6b, 0x3a, 0x62, 0x31, - 0x31, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x73, 0x68, - 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, 0x62, - 0x34, 0x2c, 0x72, 0x69, 0x67, 0x68, 0x74, 0x73, - 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x65, 0x72, 0x3a, - 0x62, 0x36, 0x2c, 0x64, 0x70, 0x75, 0x70, 0x3a, - 0x68, 0x30, 0x2e, 0x31, 0x2c, 0x64, 0x70, 0x6c, - 0x65, 0x66, 0x74, 0x3a, 0x68, 0x30, 0x2e, 0x38, - 0x2c, 0x64, 0x70, 0x64, 0x6f, 0x77, 0x6e, 0x3a, - 0x68, 0x30, 0x2e, 0x34, 0x2c, 0x64, 0x70, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x3a, 0x68, 0x30, 0x2e, - 0x32, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x78, 0x3a, - 0x61, 0x30, 0x2c, 0x6c, 0x65, 0x66, 0x74, 0x79, - 0x3a, 0x61, 0x31, 0x2c, 0x72, 0x69, 0x67, 0x68, - 0x74, 0x78, 0x3a, 0x61, 0x32, 0x2c, 0x72, 0x69, - 0x67, 0x68, 0x74, 0x79, 0x3a, 0x61, 0x33, 0x2c, - 0x6c, 0x65, 0x66, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x62, 0x35, 0x2c, 0x72, - 0x69, 0x67, 0x68, 0x74, 0x74, 0x72, 0x69, 0x67, - 0x67, 0x65, 0x72, 0x3a, 0x62, 0x37, 0x2c, 0x0a, - 0x00, 0x00, 0x28, 0x75, 0x75, 0x61, 0x79, 0x29, - 0x6d, 0x65, 0x64, 0x69, 0x61, 0x2d, 0x73, 0x65, - 0x6c, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2e, 0x75, - 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xaf, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x23, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, + 0x0d, 0x58, 0x07, 0x77, 0x1f, 0x00, 0x00, 0x00, + 0x48, 0x04, 0x00, 0x00, 0x13, 0x00, 0x76, 0x00, + 0x60, 0x04, 0x00, 0x00, 0xba, 0x0d, 0x00, 0x00, + 0xb0, 0xb7, 0x24, 0x30, 0x0d, 0x00, 0x00, 0x00, + 0xba, 0x0d, 0x00, 0x00, 0x06, 0x00, 0x4c, 0x00, + 0xc0, 0x0d, 0x00, 0x00, 0xc4, 0x0d, 0x00, 0x00, + 0x71, 0xd0, 0x4c, 0x56, 0x1f, 0x00, 0x00, 0x00, + 0xc4, 0x0d, 0x00, 0x00, 0x0e, 0x00, 0x76, 0x00, + 0xd8, 0x0d, 0x00, 0x00, 0xac, 0x15, 0x00, 0x00, + 0x13, 0xa8, 0x40, 0x8a, 0x1f, 0x00, 0x00, 0x00, + 0xac, 0x15, 0x00, 0x00, 0x11, 0x00, 0x76, 0x00, + 0xc0, 0x15, 0x00, 0x00, 0x7f, 0x18, 0x00, 0x00, + 0x6a, 0x68, 0xf8, 0x06, 0x1f, 0x00, 0x00, 0x00, + 0x7f, 0x18, 0x00, 0x00, 0x11, 0x00, 0x76, 0x00, + 0x90, 0x18, 0x00, 0x00, 0x4e, 0x1b, 0x00, 0x00, + 0xd4, 0xb5, 0x02, 0x00, 0xff, 0xff, 0xff, 0xff, + 0x4e, 0x1b, 0x00, 0x00, 0x01, 0x00, 0x4c, 0x00, + 0x50, 0x1b, 0x00, 0x00, 0x54, 0x1b, 0x00, 0x00, + 0xc5, 0x3a, 0x80, 0xff, 0x1f, 0x00, 0x00, 0x00, + 0x54, 0x1b, 0x00, 0x00, 0x1f, 0x00, 0x76, 0x00, + 0x78, 0x1b, 0x00, 0x00, 0xd6, 0x23, 0x00, 0x00, + 0x53, 0xf5, 0xaa, 0xda, 0x1f, 0x00, 0x00, 0x00, + 0xd6, 0x23, 0x00, 0x00, 0x15, 0x00, 0x76, 0x00, + 0xf0, 0x23, 0x00, 0x00, 0x04, 0x2f, 0x00, 0x00, + 0x2c, 0x0e, 0x43, 0xc6, 0x1f, 0x00, 0x00, 0x00, + 0x04, 0x2f, 0x00, 0x00, 0x20, 0x00, 0x76, 0x00, + 0x28, 0x2f, 0x00, 0x00, 0xb0, 0x31, 0x00, 0x00, + 0x53, 0xd7, 0x16, 0x0a, 0x1f, 0x00, 0x00, 0x00, + 0xb0, 0x31, 0x00, 0x00, 0x10, 0x00, 0x76, 0x00, + 0xc0, 0x31, 0x00, 0x00, 0xbc, 0x35, 0x00, 0x00, + 0xc5, 0x47, 0xd2, 0x91, 0x1f, 0x00, 0x00, 0x00, + 0xbc, 0x35, 0x00, 0x00, 0x0e, 0x00, 0x76, 0x00, + 0xd0, 0x35, 0x00, 0x00, 0x63, 0x3a, 0x00, 0x00, + 0x27, 0xa9, 0x29, 0x7f, 0x1f, 0x00, 0x00, 0x00, + 0x63, 0x3a, 0x00, 0x00, 0x11, 0x00, 0x76, 0x00, + 0x78, 0x3a, 0x00, 0x00, 0xab, 0x45, 0x00, 0x00, + 0x18, 0x41, 0xe7, 0x10, 0x1f, 0x00, 0x00, 0x00, + 0xab, 0x45, 0x00, 0x00, 0x11, 0x00, 0x76, 0x00, + 0xc0, 0x45, 0x00, 0x00, 0x0e, 0x48, 0x00, 0x00, + 0x4b, 0x50, 0x90, 0x0b, 0x05, 0x00, 0x00, 0x00, + 0x0e, 0x48, 0x00, 0x00, 0x04, 0x00, 0x4c, 0x00, + 0x14, 0x48, 0x00, 0x00, 0x18, 0x48, 0x00, 0x00, + 0xcf, 0x7e, 0xb4, 0xe9, 0x1f, 0x00, 0x00, 0x00, + 0x18, 0x48, 0x00, 0x00, 0x17, 0x00, 0x76, 0x00, + 0x30, 0x48, 0x00, 0x00, 0x80, 0x4e, 0x00, 0x00, + 0x75, 0x2f, 0x3f, 0xf4, 0x22, 0x00, 0x00, 0x00, + 0x80, 0x4e, 0x00, 0x00, 0x08, 0x00, 0x76, 0x00, + 0x88, 0x4e, 0x00, 0x00, 0xec, 0x50, 0x00, 0x00, + 0xa5, 0xa9, 0x37, 0x46, 0x1f, 0x00, 0x00, 0x00, + 0xec, 0x50, 0x00, 0x00, 0x19, 0x00, 0x76, 0x00, + 0x08, 0x51, 0x00, 0x00, 0x6d, 0x57, 0x00, 0x00, + 0x94, 0x80, 0x48, 0xb5, 0x1f, 0x00, 0x00, 0x00, + 0x6d, 0x57, 0x00, 0x00, 0x10, 0x00, 0x76, 0x00, + 0x80, 0x57, 0x00, 0x00, 0x49, 0x60, 0x00, 0x00, + 0x5e, 0xe5, 0x9c, 0xc5, 0x1f, 0x00, 0x00, 0x00, + 0x49, 0x60, 0x00, 0x00, 0x15, 0x00, 0x76, 0x00, + 0x60, 0x60, 0x00, 0x00, 0x86, 0x68, 0x00, 0x00, + 0xc6, 0x7d, 0x35, 0x40, 0x1f, 0x00, 0x00, 0x00, + 0x86, 0x68, 0x00, 0x00, 0x11, 0x00, 0x76, 0x00, + 0x98, 0x68, 0x00, 0x00, 0xb5, 0x6c, 0x00, 0x00, + 0x28, 0x8a, 0x16, 0xe1, 0x1a, 0x00, 0x00, 0x00, + 0xb5, 0x6c, 0x00, 0x00, 0x14, 0x00, 0x76, 0x00, + 0xd0, 0x6c, 0x00, 0x00, 0x8a, 0xaf, 0x00, 0x00, + 0x10, 0xca, 0xff, 0xcd, 0x1f, 0x00, 0x00, 0x00, + 0x8a, 0xaf, 0x00, 0x00, 0x14, 0x00, 0x76, 0x00, + 0xa0, 0xaf, 0x00, 0x00, 0xdd, 0xb1, 0x00, 0x00, + 0xdd, 0xff, 0x75, 0xd1, 0x1f, 0x00, 0x00, 0x00, + 0xdd, 0xb1, 0x00, 0x00, 0x0d, 0x00, 0x76, 0x00, + 0xf0, 0xb1, 0x00, 0x00, 0xfc, 0xb3, 0x00, 0x00, + 0xc7, 0xa7, 0x9a, 0x3f, 0x1b, 0x00, 0x00, 0x00, + 0xfc, 0xb3, 0x00, 0x00, 0x0d, 0x00, 0x76, 0x00, + 0x10, 0xb4, 0x00, 0x00, 0x77, 0xb5, 0x00, 0x00, + 0x95, 0x89, 0x9c, 0x94, 0x1f, 0x00, 0x00, 0x00, + 0x77, 0xb5, 0x00, 0x00, 0x15, 0x00, 0x76, 0x00, + 0x90, 0xb5, 0x00, 0x00, 0xb0, 0xc0, 0x00, 0x00, + 0xd0, 0x57, 0xd7, 0x38, 0x1f, 0x00, 0x00, 0x00, + 0xb0, 0xc0, 0x00, 0x00, 0x1b, 0x00, 0x76, 0x00, + 0xd0, 0xc0, 0x00, 0x00, 0x73, 0xc6, 0x00, 0x00, + 0x9d, 0xc4, 0xc1, 0x81, 0x1b, 0x00, 0x00, 0x00, + 0x73, 0xc6, 0x00, 0x00, 0x09, 0x00, 0x4c, 0x00, + 0x7c, 0xc6, 0x00, 0x00, 0x80, 0xc6, 0x00, 0x00, + 0x2c, 0xcb, 0x52, 0x35, 0x01, 0x00, 0x00, 0x00, + 0x80, 0xc6, 0x00, 0x00, 0x06, 0x00, 0x4c, 0x00, + 0x88, 0xc6, 0x00, 0x00, 0x98, 0xc6, 0x00, 0x00, + 0xb2, 0x02, 0xff, 0x47, 0x1f, 0x00, 0x00, 0x00, + 0x98, 0xc6, 0x00, 0x00, 0x10, 0x00, 0x76, 0x00, + 0xa8, 0xc6, 0x00, 0x00, 0x75, 0xce, 0x00, 0x00, + 0x25, 0xe6, 0x91, 0xc5, 0x1f, 0x00, 0x00, 0x00, + 0x75, 0xce, 0x00, 0x00, 0x17, 0x00, 0x76, 0x00, + 0x90, 0xce, 0x00, 0x00, 0xd8, 0xd2, 0x00, 0x00, + 0x9a, 0xd4, 0x14, 0x36, 0x1f, 0x00, 0x00, 0x00, + 0xd8, 0xd2, 0x00, 0x00, 0x1f, 0x00, 0x76, 0x00, + 0xf8, 0xd2, 0x00, 0x00, 0xd4, 0xd7, 0x00, 0x00, + 0x19, 0x0b, 0x7d, 0x7b, 0x1b, 0x00, 0x00, 0x00, + 0xd4, 0xd7, 0x00, 0x00, 0x03, 0x00, 0x4c, 0x00, + 0xd8, 0xd7, 0x00, 0x00, 0x48, 0xd8, 0x00, 0x00, + 0xaa, 0x2d, 0x82, 0x2f, 0x1f, 0x00, 0x00, 0x00, + 0x48, 0xd8, 0x00, 0x00, 0x11, 0x00, 0x76, 0x00, + 0x60, 0xd8, 0x00, 0x00, 0x64, 0xdb, 0x00, 0x00, + 0x49, 0x25, 0x72, 0x76, 0x1f, 0x00, 0x00, 0x00, + 0x64, 0xdb, 0x00, 0x00, 0x18, 0x00, 0x76, 0x00, + 0x80, 0xdb, 0x00, 0x00, 0x3f, 0xe2, 0x00, 0x00, + 0xa1, 0xf7, 0x16, 0xeb, 0x1b, 0x00, 0x00, 0x00, + 0x3f, 0xe2, 0x00, 0x00, 0x04, 0x00, 0x4c, 0x00, + 0x44, 0xe2, 0x00, 0x00, 0x48, 0xe2, 0x00, 0x00, + 0xfc, 0x76, 0x2c, 0x5a, 0x1f, 0x00, 0x00, 0x00, + 0x48, 0xe2, 0x00, 0x00, 0x15, 0x00, 0x76, 0x00, + 0x60, 0xe2, 0x00, 0x00, 0x2c, 0xef, 0x00, 0x00, + 0x34, 0xea, 0xa2, 0x0a, 0x1f, 0x00, 0x00, 0x00, + 0x2c, 0xef, 0x00, 0x00, 0x11, 0x00, 0x76, 0x00, + 0x40, 0xef, 0x00, 0x00, 0x42, 0xf8, 0x00, 0x00, + 0x9d, 0xe2, 0xf6, 0xbb, 0x1f, 0x00, 0x00, 0x00, + 0x42, 0xf8, 0x00, 0x00, 0x11, 0x00, 0x76, 0x00, + 0x58, 0xf8, 0x00, 0x00, 0xe8, 0xfe, 0x00, 0x00, + 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2d, 0x63, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x2e, 0x75, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x4a, 0x09, 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, @@ -4641,363 +161,284 @@ 0x33, 0x2e, 0x31, 0x36, 0x22, 0x2f, 0x3e, 0x3c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, - 0x47, 0x61, 0x6d, 0x65, 0x73, 0x4d, 0x65, 0x64, - 0x69, 0x61, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, - 0x6f, 0x72, 0x22, 0x20, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x50, - 0x6f, 0x70, 0x6f, 0x76, 0x65, 0x72, 0x22, 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, 0x46, 0x72, 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, + 0x47, 0x61, 0x6d, 0x65, 0x73, 0x45, 0x6d, 0x70, + 0x74, 0x79, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 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, 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, 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, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 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, 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, + 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, + 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, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x69, + 0x63, 0x6f, 0x6e, 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, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x22, 0x3e, 0x6e, 0x6f, 0x6e, - 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, 0x4c, 0x69, 0x73, - 0x74, 0x42, 0x6f, 0x78, 0x22, 0x20, 0x69, 0x64, - 0x3d, 0x22, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x62, - 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, 0x6d, 0x61, 0x72, 0x67, - 0x69, 0x6e, 0x2d, 0x74, 0x6f, 0x70, 0x22, 0x3e, - 0x36, 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, 0x2d, 0x62, 0x6f, 0x74, 0x74, 0x6f, - 0x6d, 0x22, 0x3e, 0x36, 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, 0x2d, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x22, 0x3e, 0x36, 0x3c, 0x2f, + 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x22, 0x3e, + 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 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, 0x2d, - 0x65, 0x6e, 0x64, 0x22, 0x3e, 0x36, 0x3c, 0x2f, + 0x22, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x5f, 0x73, + 0x69, 0x7a, 0x65, 0x22, 0x3e, 0x31, 0x32, 0x38, + 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, 0x69, 0x63, 0x6f, 0x6e, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x6f, 0x72, + 0x67, 0x2e, 0x67, 0x6e, 0x6f, 0x6d, 0x65, 0x2e, + 0x47, 0x61, 0x6d, 0x65, 0x73, 0x2d, 0x73, 0x79, + 0x6d, 0x62, 0x6f, 0x6c, 0x69, 0x63, 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, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x22, - 0x3e, 0x6e, 0x6f, 0x6e, 0x65, 0x3c, 0x2f, 0x70, + 0x22, 0x69, 0x63, 0x6f, 0x6e, 0x2d, 0x73, 0x69, + 0x7a, 0x65, 0x22, 0x3e, 0x30, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, - 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, - 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x72, 0x6f, - 0x77, 0x2d, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x64, 0x22, 0x20, 0x61, 0x66, 0x74, - 0x65, 0x72, 0x3d, 0x22, 0x79, 0x65, 0x73, 0x22, - 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, - 0x3d, 0x22, 0x6f, 0x6e, 0x5f, 0x72, 0x6f, 0x77, - 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, - 0x65, 0x64, 0x22, 0x2f, 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, - 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, 0x72, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2d, 0x64, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x2e, 0x75, 0x69, - 0xf2, 0x08, 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, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x73, 0x20, 0x6c, 0x69, 0x62, 0x3d, - 0x22, 0x67, 0x74, 0x6b, 0x2b, 0x22, 0x20, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, - 0x33, 0x2e, 0x31, 0x36, 0x22, 0x2f, 0x3e, 0x3c, - 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, - 0x47, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x22, 0x20, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 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, 0x68, 0x65, 0x78, 0x70, - 0x61, 0x6e, 0x64, 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, 0x76, 0x65, 0x78, 0x70, - 0x61, 0x6e, 0x64, 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, 0x68, 0x61, 0x6c, 0x69, - 0x67, 0x6e, 0x22, 0x3e, 0x66, 0x69, 0x6c, 0x6c, - 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, 0x76, 0x61, 0x6c, 0x69, 0x67, - 0x6e, 0x22, 0x3e, 0x66, 0x69, 0x6c, 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, 0x47, 0x72, 0x69, 0x64, 0x22, - 0x20, 0x69, 0x64, 0x3d, 0x22, 0x67, 0x72, 0x69, - 0x64, 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, 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, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, - 0x65, 0x3d, 0x22, 0x68, 0x61, 0x6c, 0x69, 0x67, - 0x6e, 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, - 0x72, 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, 0x76, 0x61, 0x6c, 0x69, - 0x67, 0x6e, 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, - 0x65, 0x72, 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, 0x49, 0x6d, - 0x61, 0x67, 0x65, 0x22, 0x20, 0x69, 0x64, 0x3d, - 0x22, 0x69, 0x6d, 0x61, 0x67, 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, - 0x69, 0x63, 0x6f, 0x6e, 0x2d, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0x3e, 0x70, 0x72, 0x65, 0x66, 0x65, - 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2d, 0x64, - 0x65, 0x73, 0x6b, 0x74, 0x6f, 0x70, 0x2d, 0x72, - 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2d, 0x64, 0x65, - 0x73, 0x6b, 0x74, 0x6f, 0x70, 0x2d, 0x73, 0x79, - 0x6d, 0x62, 0x6f, 0x6c, 0x69, 0x63, 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, 0x69, 0x78, 0x65, 0x6c, 0x2d, 0x73, - 0x69, 0x7a, 0x65, 0x22, 0x3e, 0x32, 0x35, 0x36, + 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x62, + 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x22, 0x3e, 0x31, + 0x38, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x73, 0x74, 0x79, + 0x6c, 0x65, 0x3e, 0x3c, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, + 0x64, 0x69, 0x6d, 0x2d, 0x6c, 0x61, 0x62, 0x65, + 0x6c, 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, 0x68, 0x61, 0x6c, 0x69, 0x67, - 0x6e, 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, - 0x72, 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, 0x76, 0x61, 0x6c, 0x69, - 0x67, 0x6e, 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, - 0x65, 0x72, 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, 0x2d, 0x62, 0x6f, 0x74, 0x74, - 0x6f, 0x6d, 0x22, 0x3e, 0x32, 0x34, 0x3c, 0x2f, + 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, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x3e, 0x3c, 0x2f, 0x63, 0x68, 0x69, 0x6c, - 0x64, 0x3e, 0x3c, 0x63, 0x68, 0x69, 0x6c, 0x64, + 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, 0x62, 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, 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, 0x6e, 0x6f, - 0x5f, 0x62, 0x6f, 0x78, 0x65, 0x73, 0x5f, 0x66, - 0x6f, 0x75, 0x6e, 0x64, 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, + 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 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, 0x6f, 0x70, 0x61, + 0x63, 0x69, 0x74, 0x79, 0x22, 0x3e, 0x30, 0x2e, + 0x35, 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, 0x75, 0x73, 0x65, 0x2d, - 0x6d, 0x61, 0x72, 0x6b, 0x75, 0x70, 0x22, 0x3e, - 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, 0x70, 0x72, + 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, 0x63, - 0x65, 0x6e, 0x74, 0x65, 0x72, 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, - 0x76, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 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, - 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x62, - 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x22, 0x3e, 0x36, + 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, 0x4e, 0x6f, 0x20, 0x67, 0x61, 0x6d, 0x65, + 0x73, 0x20, 0x66, 0x6f, 0x75, 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, 0x68, 0x61, 0x6c, 0x69, 0x67, 0x6e, + 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 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, 0x55, 0x73, 0x65, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x61, 0x6d, - 0x65, 0xe2, 0x80, 0x99, 0x73, 0x20, 0x6f, 0x77, - 0x6e, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, - 0x20, 0x74, 0x6f, 0x20, 0x70, 0x6c, 0x61, 0x79, - 0x20, 0x69, 0x74, 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, 0x77, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x22, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3d, 0x22, 0x62, 0x6f, 0x6c, 0x64, 0x22, 0x2f, - 0x3e, 0x3c, 0x21, 0x2d, 0x2d, 0x20, 0x22, 0x31, - 0x2e, 0x32, 0x22, 0x20, 0x69, 0x73, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x6f, 0x66, 0x20, 0x22, 0x6c, 0x61, 0x72, - 0x67, 0x65, 0x22, 0x20, 0x2d, 0x2d, 0x3e, 0x3c, + 0x65, 0x3d, 0x22, 0x78, 0x61, 0x6c, 0x69, 0x67, + 0x6e, 0x22, 0x3e, 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, 0x6d, + 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x62, 0x6f, + 0x74, 0x74, 0x6f, 0x6d, 0x22, 0x3e, 0x31, 0x32, + 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, - 0x73, 0x63, 0x61, 0x6c, 0x65, 0x22, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x31, 0x2e, - 0x32, 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, 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, 0x64, 0x65, - 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x3e, + 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x20, + 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x62, + 0x6f, 0x6c, 0x64, 0x22, 0x2f, 0x3e, 0x3c, 0x61, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x73, + 0x63, 0x61, 0x6c, 0x65, 0x22, 0x20, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x32, 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, - 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x22, - 0x3e, 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, 0x70, + 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, - 0x75, 0x73, 0x65, 0x2d, 0x6d, 0x61, 0x72, 0x6b, - 0x75, 0x70, 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, + 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, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, - 0x65, 0x3d, 0x22, 0x68, 0x61, 0x6c, 0x69, 0x67, - 0x6e, 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, - 0x72, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x70, 0x72, 0x6f, + 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, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2d, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x2d, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, - 0x6d, 0x65, 0x3d, 0x22, 0x76, 0x65, 0x78, 0x70, - 0x61, 0x6e, 0x64, 0x22, 0x3e, 0x54, 0x72, 0x75, + 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, 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, 0x67, 0x61, 0x6d, 0x65, 0x20, - 0x69, 0x73, 0x6e, 0xe2, 0x80, 0x99, 0x74, 0x20, - 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, - 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x47, 0x4e, - 0x4f, 0x4d, 0x45, 0x20, 0x47, 0x61, 0x6d, 0x65, - 0x73, 0x2e, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x73, 0x74, - 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, - 0x22, 0x64, 0x69, 0x6d, 0x2d, 0x6c, 0x61, 0x62, - 0x65, 0x6c, 0x22, 0x2f, 0x3e, 0x3c, 0x2f, 0x73, - 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x2f, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 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, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x5f, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x22, 0x3e, 0x3c, 0x70, + 0x6d, 0x65, 0x3d, 0x22, 0x6f, 0x70, 0x61, 0x63, + 0x69, 0x74, 0x79, 0x22, 0x3e, 0x30, 0x2e, 0x35, + 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, 0x76, 0x69, - 0x73, 0x69, 0x62, 0x6c, 0x65, 0x22, 0x3e, 0x54, - 0x72, 0x75, 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, + 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, + 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x20, + 0x67, 0x61, 0x6d, 0x65, 0x73, 0x20, 0x6f, 0x72, + 0x20, 0x61, 0x64, 0x64, 0x20, 0x64, 0x69, 0x72, + 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, + 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, + 0x69, 0x6e, 0x67, 0x20, 0x67, 0x61, 0x6d, 0x65, + 0x73, 0x20, 0x74, 0x6f, 0x20, 0x79, 0x6f, 0x75, + 0x72, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x20, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x2e, 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, 0x6a, 0x75, 0x73, 0x74, + 0x69, 0x66, 0x79, 0x22, 0x3e, 0x6c, 0x65, 0x66, + 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, 0x75, 0x73, 0x65, 0x5f, + 0x6d, 0x61, 0x72, 0x6b, 0x75, 0x70, 0x22, 0x3e, + 0x74, 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, 0x77, + 0x72, 0x61, 0x70, 0x22, 0x3e, 0x74, 0x72, 0x75, + 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, 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, 0x75, 0x73, - 0x65, 0x2d, 0x6d, 0x61, 0x72, 0x6b, 0x75, 0x70, - 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, + 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, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, - 0x22, 0x68, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x22, - 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 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, 0x76, 0x65, 0x78, 0x70, 0x61, 0x6e, - 0x64, 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, 0x3c, + 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, 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, 0x59, 0x6f, 0x75, 0x20, - 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x6f, 0x20, - 0x75, 0x73, 0x65, 0x20, 0x69, 0x74, 0x73, 0x20, - 0x6f, 0x77, 0x6e, 0x20, 0x77, 0x69, 0x6e, 0x64, - 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x6c, - 0x61, 0x79, 0x20, 0x69, 0x74, 0x2e, 0x3c, 0x2f, - 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x3e, 0x3c, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, - 0x3c, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x6e, - 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x64, 0x69, 0x6d, - 0x2d, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x2f, - 0x3e, 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, - 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, 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, 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, 0x66, 0x69, 0x6c, 0x6c, 0x22, - 0x3e, 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, 0x70, + 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, @@ -5005,173 +446,159 @@ 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, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2d, 0x70, 0x61, - 0x67, 0x65, 0x2d, 0x70, 0x6c, 0x75, 0x67, 0x69, - 0x6e, 0x73, 0x2e, 0x75, 0x69, 0x00, 0x00, 0x00, - 0x93, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x79, 0x29, 0x67, 0x6e, 0x6f, 0x6d, 0x65, 0x2f, + 0x1b, 0x00, 0x00, 0x00, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x2d, 0x62, 0x6f, 0x78, 0x2e, + 0x75, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xc4, 0x07, 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, 0x31, 0x36, 0x20, 0x2d, 0x2d, 0x3e, 0x3c, + 0x65, 0x3e, 0x3c, 0x72, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x73, 0x20, 0x6c, 0x69, 0x62, 0x3d, + 0x22, 0x67, 0x74, 0x6b, 0x2b, 0x22, 0x20, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, + 0x33, 0x2e, 0x31, 0x36, 0x22, 0x2f, 0x3e, 0x3c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, - 0x47, 0x61, 0x6d, 0x65, 0x73, 0x50, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, - 0x50, 0x61, 0x67, 0x65, 0x50, 0x6c, 0x75, 0x67, - 0x69, 0x6e, 0x73, 0x22, 0x20, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x47, 0x74, 0x6b, - 0x42, 0x69, 0x6e, 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, 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, 0x74, - 0x61, 0x63, 0x6b, 0x22, 0x20, 0x69, 0x64, 0x3d, - 0x22, 0x73, 0x74, 0x61, 0x63, 0x6b, 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, 0x74, 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, - 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x22, 0x3e, + 0x47, 0x61, 0x6d, 0x65, 0x73, 0x44, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x78, 0x22, + 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, + 0x22, 0x47, 0x74, 0x6b, 0x45, 0x76, 0x65, 0x6e, + 0x74, 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, 0x2d, 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, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, + 0x3e, 0x47, 0x44, 0x4b, 0x5f, 0x50, 0x4f, 0x49, + 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x4d, 0x4f, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x41, 0x53, 0x4b, + 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, + 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x22, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x3a, + 0x3a, 0x69, 0x73, 0x2d, 0x66, 0x75, 0x6c, 0x6c, + 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x22, 0x20, + 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x3d, + 0x22, 0x6f, 0x6e, 0x5f, 0x66, 0x75, 0x6c, 0x6c, + 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x22, 0x2f, + 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6d, + 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x6e, 0x6f, + 0x74, 0x69, 0x66, 0x79, 0x2d, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x22, 0x20, 0x68, 0x61, 0x6e, 0x64, + 0x6c, 0x65, 0x72, 0x3d, 0x22, 0x6f, 0x6e, 0x5f, + 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, + 0x76, 0x65, 0x6e, 0x74, 0x22, 0x2f, 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, + 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x22, + 0x20, 0x69, 0x64, 0x3d, 0x22, 0x6f, 0x76, 0x65, + 0x72, 0x6c, 0x61, 0x79, 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, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x20, + 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x6f, 0x76, + 0x65, 0x72, 0x6c, 0x61, 0x79, 0x22, 0x3e, 0x3c, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x47, 0x74, + 0x6b, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x65, + 0x72, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x66, + 0x75, 0x6c, 0x6c, 0x73, 0x63, 0x72, 0x65, 0x65, + 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x5f, 0x62, 0x61, 0x72, 0x5f, 0x72, 0x65, 0x76, + 0x65, 0x61, 0x6c, 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, 0x76, - 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x2d, 0x63, - 0x68, 0x69, 0x6c, 0x64, 0x22, 0x3e, 0x70, 0x6c, - 0x75, 0x67, 0x69, 0x6e, 0x73, 0x3c, 0x2f, 0x70, + 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, 0x66, 0x69, 0x6c, 0x6c, 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, 0x76, 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, 0x68, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, + 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, 0x76, 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, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x74, 0x79, 0x70, + 0x65, 0x22, 0x3e, 0x73, 0x6c, 0x69, 0x64, 0x65, + 0x2d, 0x64, 0x6f, 0x77, 0x6e, 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, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, - 0x6f, 0x6e, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x22, - 0x3e, 0x47, 0x54, 0x4b, 0x5f, 0x53, 0x54, 0x41, - 0x43, 0x4b, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, - 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, - 0x50, 0x45, 0x5f, 0x53, 0x4c, 0x49, 0x44, 0x45, - 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x52, 0x49, - 0x47, 0x48, 0x54, 0x3c, 0x2f, 0x70, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x63, + 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x3e, + 0x47, 0x44, 0x4b, 0x5f, 0x50, 0x4f, 0x49, 0x4e, + 0x54, 0x45, 0x52, 0x5f, 0x4d, 0x4f, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x3c, + 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, + 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, + 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x3a, 0x3a, + 0x69, 0x73, 0x2d, 0x66, 0x75, 0x6c, 0x6c, 0x73, + 0x63, 0x72, 0x65, 0x65, 0x6e, 0x22, 0x20, 0x68, + 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x3d, 0x22, + 0x6f, 0x6e, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x73, + 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x64, 0x22, 0x2f, 0x3e, + 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6d, 0x6f, + 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x6e, 0x6f, 0x74, + 0x69, 0x66, 0x79, 0x2d, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x22, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, + 0x65, 0x72, 0x3d, 0x22, 0x6f, 0x6e, 0x5f, 0x6d, + 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x22, 0x2f, 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, - 0x63, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x57, - 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x22, 0x20, 0x69, - 0x64, 0x3d, 0x22, 0x70, 0x6c, 0x75, 0x67, 0x69, - 0x6e, 0x73, 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, 0x74, 0x72, 0x75, - 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, 0x56, 0x69, 0x65, - 0x77, 0x70, 0x6f, 0x72, 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, - 0x74, 0x72, 0x75, 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, - 0x42, 0x6f, 0x78, 0x22, 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, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, - 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x76, 0x69, 0x73, - 0x69, 0x62, 0x6c, 0x65, 0x22, 0x3e, 0x74, 0x72, - 0x75, 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, 0x46, 0x72, - 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, 0x74, 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, 0x62, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x2d, 0x77, 0x69, 0x64, 0x74, - 0x68, 0x22, 0x3e, 0x31, 0x32, 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, 0x61, 0x64, 0x6f, 0x77, 0x2d, 0x74, - 0x79, 0x70, 0x65, 0x22, 0x3e, 0x69, 0x6e, 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, 0x69, 0x73, 0x74, 0x42, - 0x6f, 0x78, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, - 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x62, 0x6f, 0x78, - 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, - 0x3d, 0x22, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x2d, 0x6d, 0x6f, 0x64, 0x65, - 0x22, 0x3e, 0x6e, 0x6f, 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, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, - 0x22, 0x3e, 0x74, 0x72, 0x75, 0x65, 0x3c, 0x2f, - 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 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, 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, 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, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x70, 0x6c, 0x75, - 0x67, 0x69, 0x6e, 0x73, 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, - 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, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, - 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, 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, + 0x73, 0x73, 0x3d, 0x22, 0x47, 0x61, 0x6d, 0x65, + 0x73, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x61, + 0x72, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x66, + 0x75, 0x6c, 0x6c, 0x73, 0x63, 0x72, 0x65, 0x65, + 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x61, 0x72, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x76, 0x69, @@ -5179,181 +606,126 @@ 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, 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, - 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x2f, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3e, 0x3c, 0x2f, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, - 0x65, 0x3e, 0x0a, 0x00, 0x00, 0x28, 0x75, 0x75, - 0x61, 0x79, 0x29, 0x67, 0x61, 0x6d, 0x65, 0x70, - 0x61, 0x64, 0x73, 0x2f, 0x00, 0x00, 0x00, 0x00, - 0x1c, 0x00, 0x00, 0x00, 0x67, 0x74, 0x6b, 0x2d, - 0x73, 0x74, 0x79, 0x6c, 0x65, 0x2e, 0x63, 0x73, - 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x57, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x2f, 0x2a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, - 0x66, 0x69, 0x6c, 0x65, 0x20, 0x69, 0x73, 0x20, - 0x70, 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, - 0x47, 0x4e, 0x4f, 0x4d, 0x45, 0x20, 0x47, 0x61, - 0x6d, 0x65, 0x73, 0x2e, 0x20, 0x4c, 0x69, 0x63, - 0x65, 0x6e, 0x73, 0x65, 0x3a, 0x20, 0x47, 0x50, - 0x4c, 0x2d, 0x33, 0x2e, 0x30, 0x2b, 0x2e, 0x20, - 0x2a, 0x2f, 0x0a, 0x0a, 0x67, 0x61, 0x6d, 0x65, - 0x73, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x69, 0x63, 0x6f, 0x6e, 0x76, - 0x69, 0x65, 0x77, 0x20, 0x2e, 0x66, 0x72, 0x61, - 0x6d, 0x65, 0x20, 0x7b, 0x0a, 0x09, 0x62, 0x61, - 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, - 0x2d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x20, - 0x40, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x5f, 0x62, - 0x61, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, - 0x72, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x67, 0x61, - 0x6d, 0x65, 0x73, 0x67, 0x61, 0x6d, 0x65, 0x74, - 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, - 0x20, 0x7b, 0x0a, 0x09, 0x62, 0x61, 0x63, 0x6b, - 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x2d, 0x63, - 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x20, 0x6d, 0x69, - 0x78, 0x20, 0x28, 0x40, 0x74, 0x68, 0x65, 0x6d, - 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x63, - 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, 0x40, 0x74, - 0x68, 0x65, 0x6d, 0x65, 0x5f, 0x62, 0x67, 0x5f, - 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, 0x30, - 0x2e, 0x35, 0x29, 0x3b, 0x0a, 0x09, 0x62, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x2d, 0x77, 0x69, 0x64, - 0x74, 0x68, 0x3a, 0x20, 0x31, 0x70, 0x78, 0x3b, - 0x0a, 0x09, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, - 0x2d, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3a, 0x20, - 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x3b, 0x0a, 0x09, - 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x2d, 0x72, - 0x61, 0x64, 0x69, 0x75, 0x73, 0x3a, 0x20, 0x32, - 0x70, 0x78, 0x3b, 0x0a, 0x09, 0x62, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x2d, 0x63, 0x6f, 0x6c, 0x6f, - 0x72, 0x3a, 0x20, 0x40, 0x74, 0x68, 0x65, 0x6d, - 0x65, 0x5f, 0x62, 0x67, 0x5f, 0x63, 0x6f, 0x6c, - 0x6f, 0x72, 0x3b, 0x0a, 0x09, 0x63, 0x6f, 0x6c, - 0x6f, 0x72, 0x3a, 0x20, 0x40, 0x74, 0x68, 0x65, - 0x6d, 0x65, 0x5f, 0x66, 0x67, 0x5f, 0x63, 0x6f, - 0x6c, 0x6f, 0x72, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, - 0x00, 0x28, 0x75, 0x75, 0x61, 0x79, 0x29, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x2d, 0x64, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x2e, 0x75, 0x69, 0x00, - 0xbd, 0x07, 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, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x73, 0x20, 0x6c, 0x69, 0x62, 0x3d, - 0x22, 0x67, 0x74, 0x6b, 0x2b, 0x22, 0x20, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, - 0x33, 0x2e, 0x31, 0x36, 0x22, 0x2f, 0x3e, 0x3c, - 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, - 0x47, 0x61, 0x6d, 0x65, 0x73, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x22, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x42, 0x6f, - 0x78, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, + 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, 0x46, 0x61, 0x6c, 0x73, 0x65, 0x3c, 0x2f, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x62, + 0x61, 0x63, 0x6b, 0x22, 0x20, 0x68, 0x61, 0x6e, + 0x64, 0x6c, 0x65, 0x72, 0x3d, 0x22, 0x6f, 0x6e, + 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x73, 0x63, 0x72, + 0x65, 0x65, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x5f, 0x62, 0x61, 0x72, 0x5f, 0x62, + 0x61, 0x63, 0x6b, 0x22, 0x2f, 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, 0x3e, 0x3c, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x47, 0x74, + 0x6b, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x22, 0x20, + 0x69, 0x64, 0x3d, 0x22, 0x73, 0x74, 0x61, 0x63, + 0x6b, 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, 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, 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, 0x63, 0x65, - 0x6e, 0x74, 0x65, 0x72, 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, 0x76, - 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x22, 0x3e, 0x63, - 0x65, 0x6e, 0x74, 0x65, 0x72, 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, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x20, - 0x69, 0x64, 0x3d, 0x22, 0x69, 0x63, 0x6f, 0x6e, - 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, + 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, 0x61, 0x6d, 0x65, + 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x22, 0x20, 0x69, + 0x64, 0x3d, 0x22, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 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, + 0x3d, 0x22, 0x63, 0x61, 0x6e, 0x2d, 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, 0x76, 0x61, 0x6c, - 0x69, 0x67, 0x6e, 0x22, 0x3e, 0x63, 0x65, 0x6e, - 0x74, 0x65, 0x72, 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, 0x69, - 0x78, 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, - 0x22, 0x3e, 0x31, 0x32, 0x38, 0x3c, 0x2f, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, + 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, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x65, 0x72, 0x72, + 0x6f, 0x72, 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, + 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x6f, 0x78, + 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x62, 0x69, + 0x6e, 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, 0x2d, 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, - 0x69, 0x63, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0x3e, 0x66, 0x61, 0x63, 0x65, 0x2d, - 0x75, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, - 0x6e, 0x2d, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, - 0x69, 0x63, 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, 0x69, 0x63, 0x6f, - 0x6e, 0x2d, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x3e, - 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, 0x6d, 0x61, 0x72, 0x67, - 0x69, 0x6e, 0x2d, 0x62, 0x6f, 0x74, 0x74, 0x6f, - 0x6d, 0x22, 0x3e, 0x31, 0x38, 0x3c, 0x2f, 0x70, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, - 0x3c, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x6e, 0x61, - 0x6d, 0x65, 0x3d, 0x22, 0x64, 0x69, 0x6d, 0x2d, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 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, - 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, 0x62, 0x6f, 0x78, 0x22, 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, 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, 0x6d, 0x65, 0x64, 0x69, + 0x61, 0x2d, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x2e, 0x75, 0x69, 0x00, 0x00, 0x00, + 0xaf, 0x02, 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, 0x72, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x73, 0x20, 0x6c, 0x69, 0x62, 0x3d, + 0x22, 0x67, 0x74, 0x6b, 0x2b, 0x22, 0x20, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, + 0x33, 0x2e, 0x31, 0x36, 0x22, 0x2f, 0x3e, 0x3c, + 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, + 0x47, 0x61, 0x6d, 0x65, 0x73, 0x4d, 0x65, 0x64, + 0x69, 0x61, 0x53, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x6f, 0x72, 0x22, 0x20, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x50, + 0x6f, 0x70, 0x6f, 0x76, 0x65, 0x72, 0x22, 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, 0x46, 0x72, 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, @@ -5361,73 +733,175 @@ 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, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, - 0x73, 0x70, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x22, - 0x3e, 0x31, 0x32, 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, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, - 0x79, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, + 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x22, 0x3e, 0x6e, 0x6f, 0x6e, + 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, 0x4c, 0x69, 0x73, + 0x74, 0x42, 0x6f, 0x78, 0x22, 0x20, 0x69, 0x64, + 0x3d, 0x22, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x62, + 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, 0x6d, 0x61, 0x72, 0x67, + 0x69, 0x6e, 0x2d, 0x74, 0x6f, 0x70, 0x22, 0x3e, + 0x36, 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, 0x2d, 0x62, 0x6f, 0x74, 0x74, 0x6f, + 0x6d, 0x22, 0x3e, 0x36, 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, 0x2d, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x22, 0x3e, 0x36, 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, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, - 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, + 0x22, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, + 0x65, 0x6e, 0x64, 0x22, 0x3e, 0x36, 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, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, - 0x22, 0x3e, 0x30, 0x2e, 0x35, 0x3c, 0x2f, 0x70, + 0x22, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x22, + 0x3e, 0x6e, 0x6f, 0x6e, 0x65, 0x3c, 0x2f, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, + 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x72, 0x6f, + 0x77, 0x2d, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x64, 0x22, 0x20, 0x61, 0x66, 0x74, + 0x65, 0x72, 0x3d, 0x22, 0x79, 0x65, 0x73, 0x22, + 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, + 0x3d, 0x22, 0x6f, 0x6e, 0x5f, 0x72, 0x6f, 0x77, + 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x64, 0x22, 0x2f, 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, + 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, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x72, 0x6b, + 0x2d, 0x69, 0x74, 0x65, 0x6d, 0x2e, 0x75, 0x69, + 0xae, 0x02, 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, 0x74, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x3d, 0x22, 0x47, 0x61, 0x6d, 0x65, 0x73, + 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x72, + 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x20, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 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, + 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x22, 0x3e, + 0x66, 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, - 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, 0x63, 0x65, 0x6e, 0x74, 0x65, - 0x72, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x22, 0x3e, 0x68, 0x6f, 0x72, + 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 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, + 0x22, 0x3e, 0x36, 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, 0x70, + 0x61, 0x63, 0x69, 0x6e, 0x67, 0x22, 0x3e, 0x31, + 0x32, 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, 0x76, 0x61, 0x6c, 0x69, - 0x67, 0x6e, 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, - 0x65, 0x72, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, + 0x6d, 0x65, 0x3d, 0x22, 0x76, 0x69, 0x73, 0x69, + 0x62, 0x6c, 0x65, 0x22, 0x3e, 0x74, 0x72, 0x75, + 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, 0x4c, 0x61, 0x62, + 0x65, 0x6c, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, + 0x74, 0x69, 0x74, 0x6c, 0x65, 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, 0x74, 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, 0x75, 0x73, 0x65, - 0x2d, 0x6d, 0x61, 0x72, 0x6b, 0x75, 0x70, 0x22, - 0x3e, 0x54, 0x72, 0x75, 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, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, - 0x22, 0x3e, 0x46, 0x61, 0x6c, 0x73, 0x65, 0x3c, + 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x76, 0x65, 0x78, + 0x70, 0x61, 0x6e, 0x64, 0x22, 0x3e, 0x74, 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, 0x77, 0x72, 0x61, + 0x70, 0x22, 0x3e, 0x74, 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, 0x66, 0x69, 0x6c, 0x6c, 0x22, 0x3e, - 0x54, 0x72, 0x75, 0x65, 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, 0x73, 0x65, 0x63, - 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x22, 0x3e, 0x3c, 0x70, + 0x79, 0x3e, 0x3c, 0x2f, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 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, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x63, + 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x72, 0x6b, + 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x3e, + 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, + 0x69, 0x63, 0x6f, 0x6e, 0x2d, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0x3e, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x2d, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x2d, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x69, + 0x63, 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, 0x76, 0x61, 0x6c, 0x69, + 0x67, 0x6e, 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, + 0x65, 0x72, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 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, 0x2f, 0x00, + 0x0d, 0x00, 0x00, 0x00, 0x70, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2d, + 0x70, 0x61, 0x67, 0x65, 0x2d, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x73, + 0x2e, 0x75, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x4e, 0x08, 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, 0x74, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x3d, 0x22, 0x47, 0x61, 0x6d, 0x65, 0x73, + 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x73, 0x50, 0x61, 0x67, 0x65, 0x43, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, + 0x72, 0x73, 0x22, 0x20, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x53, + 0x74, 0x61, 0x63, 0x6b, 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, @@ -5440,220 +914,250 @@ 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, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x3c, + 0x22, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, + 0x2d, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x22, 0x3e, + 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, + 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 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, 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, - 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x3d, 0x22, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, + 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x74, 0x79, 0x70, + 0x65, 0x22, 0x3e, 0x47, 0x54, 0x4b, 0x5f, 0x53, + 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x52, 0x41, + 0x4e, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, + 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x4c, 0x49, + 0x44, 0x45, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, + 0x52, 0x49, 0x47, 0x48, 0x54, 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, 0x20, 0x69, 0x64, + 0x3d, 0x22, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x63, 0x68, + 0x69, 0x6c, 0x64, 0x5f, 0x68, 0x6f, 0x6c, 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, + 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, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x65, + 0x78, 0x74, 0x72, 0x61, 0x5f, 0x73, 0x74, 0x61, + 0x63, 0x6b, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, + 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, 0x53, 0x63, + 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x57, 0x69, + 0x6e, 0x64, 0x6f, 0x77, 0x22, 0x20, 0x69, 0x64, + 0x3d, 0x22, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x73, + 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x63, 0x68, 0x69, + 0x6c, 0x64, 0x5f, 0x68, 0x6f, 0x6c, 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, 0x75, 0x73, 0x65, 0x2d, 0x6d, - 0x61, 0x72, 0x6b, 0x75, 0x70, 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, 0x77, 0x72, - 0x61, 0x70, 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, + 0x65, 0x3d, 0x22, 0x63, 0x61, 0x6e, 0x5f, 0x66, + 0x6f, 0x63, 0x75, 0x73, 0x22, 0x3e, 0x54, 0x72, + 0x75, 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, 0x56, 0x69, + 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x22, 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, 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, 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, + 0x74, 0x79, 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, 0x63, 0x68, 0x69, 0x6c, + 0x64, 0x3e, 0x3c, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, + 0x22, 0x47, 0x74, 0x6b, 0x46, 0x72, 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, 0x66, 0x69, - 0x6c, 0x6c, 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, - 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, 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, 0x72, 0x65, 0x73, - 0x65, 0x74, 0x2d, 0x67, 0x61, 0x6d, 0x65, 0x70, - 0x61, 0x64, 0x2d, 0x6d, 0x61, 0x70, 0x70, 0x69, - 0x6e, 0x67, 0x2d, 0x64, 0x69, 0x61, 0x6c, 0x6f, - 0x67, 0x2e, 0x75, 0x69, 0x00, 0x00, 0x00, 0x00, - 0xcc, 0x04, 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, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x73, 0x20, 0x6c, 0x69, 0x62, 0x3d, - 0x22, 0x67, 0x74, 0x6b, 0x2b, 0x22, 0x20, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, - 0x33, 0x2e, 0x31, 0x36, 0x22, 0x2f, 0x3e, 0x3c, - 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, - 0x47, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x65, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x61, - 0x64, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, - 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x22, 0x20, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x22, - 0x47, 0x74, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, - 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, - 0x3d, 0x22, 0x6d, 0x6f, 0x64, 0x61, 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, - 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x2d, - 0x77, 0x69, 0x74, 0x68, 0x2d, 0x70, 0x61, 0x72, - 0x65, 0x6e, 0x74, 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, 0x74, 0x79, 0x70, 0x65, - 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x22, 0x3e, 0x64, - 0x69, 0x61, 0x6c, 0x6f, 0x67, 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, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x22, 0x3e, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x3c, 0x2f, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x62, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x64, + 0x74, 0x68, 0x22, 0x3e, 0x31, 0x32, 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, 0x65, 0x78, 0x74, 0x22, 0x20, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x3d, 0x22, 0x79, 0x65, 0x73, - 0x22, 0x3e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, - 0x79, 0x20, 0x72, 0x65, 0x73, 0x65, 0x74, 0x20, - 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x20, - 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, - 0x20, 0x67, 0x61, 0x6d, 0x65, 0x70, 0x61, 0x64, - 0x3f, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x22, 0x76, 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, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x22, 0x3e, 0x6e, 0x6f, + 0x6e, 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, 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, 0x73, 0x65, 0x63, 0x6f, - 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x74, 0x65, - 0x78, 0x74, 0x22, 0x20, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x6c, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x3d, 0x22, 0x79, 0x65, 0x73, 0x22, 0x3e, 0x59, - 0x6f, 0x75, 0x72, 0x20, 0x6d, 0x61, 0x70, 0x70, - 0x69, 0x6e, 0x67, 0x20, 0x77, 0x69, 0x6c, 0x6c, - 0x20, 0x62, 0x65, 0x20, 0x6c, 0x6f, 0x73, 0x74, - 0x2e, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x63, 0x68, 0x69, - 0x6c, 0x64, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, - 0x22, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0x3e, 0x3c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, - 0x47, 0x74, 0x6b, 0x42, 0x75, 0x74, 0x74, 0x6f, - 0x6e, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x62, - 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x5f, 0x63, 0x61, - 0x6e, 0x63, 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, 0x2d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 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, 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, 0x43, 0x61, 0x6e, 0x63, - 0x65, 0x6c, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 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, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x3e, 0x3c, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x42, 0x75, 0x74, - 0x74, 0x6f, 0x6e, 0x22, 0x20, 0x69, 0x64, 0x3d, - 0x22, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x5f, - 0x72, 0x65, 0x73, 0x65, 0x74, 0x22, 0x3e, 0x3c, + 0x6d, 0x65, 0x3d, 0x22, 0x74, 0x6f, 0x70, 0x5f, + 0x70, 0x61, 0x64, 0x64, 0x69, 0x6e, 0x67, 0x22, + 0x3e, 0x31, 0x32, 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, + 0x69, 0x73, 0x74, 0x42, 0x6f, 0x78, 0x22, 0x20, + 0x69, 0x64, 0x3d, 0x22, 0x67, 0x61, 0x6d, 0x65, + 0x70, 0x61, 0x64, 0x73, 0x5f, 0x6c, 0x69, 0x73, + 0x74, 0x5f, 0x62, 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, 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, - 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, - 0x3d, 0x22, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, - 0x6d, 0x20, 0x67, 0x61, 0x6d, 0x65, 0x70, 0x61, - 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, - 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, - 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x20, - 0x72, 0x65, 0x73, 0x65, 0x74, 0x22, 0x3e, 0x52, - 0x65, 0x73, 0x65, 0x74, 0x3c, 0x2f, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, - 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x63, - 0x6c, 0x61, 0x73, 0x73, 0x20, 0x6e, 0x61, 0x6d, - 0x65, 0x3d, 0x22, 0x64, 0x65, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2d, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2f, 0x3e, - 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, + 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, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, + 0x22, 0x3e, 0x6e, 0x6f, 0x6e, 0x65, 0x3c, 0x2f, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x72, + 0x6f, 0x77, 0x2d, 0x61, 0x63, 0x74, 0x69, 0x76, + 0x61, 0x74, 0x65, 0x64, 0x22, 0x20, 0x68, 0x61, + 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x3d, 0x22, 0x67, + 0x61, 0x6d, 0x65, 0x70, 0x61, 0x64, 0x73, 0x5f, + 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x62, 0x6f, 0x78, + 0x5f, 0x72, 0x6f, 0x77, 0x5f, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2f, + 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, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 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, 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, 0x47, 0x61, 0x6d, + 0x65, 0x70, 0x61, 0x64, 0x73, 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, 0x77, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x22, 0x20, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x3d, 0x22, 0x62, 0x6f, 0x6c, 0x64, + 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, 0x2f, 0x63, 0x68, 0x69, 0x6c, 0x64, - 0x3e, 0x3c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x2d, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x73, - 0x3e, 0x3c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x2d, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x20, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x3d, 0x22, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, - 0x22, 0x3e, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, - 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x3c, 0x2f, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x77, - 0x69, 0x64, 0x67, 0x65, 0x74, 0x3e, 0x3c, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x77, 0x69, - 0x64, 0x67, 0x65, 0x74, 0x20, 0x72, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x3d, 0x22, 0x63, - 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x22, 0x20, 0x64, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3d, 0x22, - 0x74, 0x72, 0x75, 0x65, 0x22, 0x3e, 0x62, 0x75, - 0x74, 0x74, 0x6f, 0x6e, 0x5f, 0x63, 0x61, 0x6e, - 0x63, 0x65, 0x6c, 0x3c, 0x2f, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x2d, 0x77, 0x69, 0x64, 0x67, - 0x65, 0x74, 0x3e, 0x3c, 0x2f, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x2d, 0x77, 0x69, 0x64, 0x67, - 0x65, 0x74, 0x73, 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, 0x64, 0x75, 0x6d, 0x6d, - 0x79, 0x2d, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x2e, 0x75, 0x69, 0x00, 0x00, 0x00, 0x00, - 0xb9, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 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, 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, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0x3e, 0x6d, 0x61, 0x69, 0x6e, 0x5f, + 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x63, 0x68, + 0x69, 0x6c, 0x64, 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, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, + 0x74, 0x65, 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, 0x64, 0x65, 0x66, 0x61, + 0x75, 0x6c, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x5f, 0x62, 0x61, 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, + 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, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x3c, 0x2f, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, + 0x3c, 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x3e, 0x3c, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x66, 0x61, 0x63, 0x65, 0x3e, 0x0a, 0x00, 0x00, + 0x28, 0x75, 0x75, 0x61, 0x79, 0x29, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x2d, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x2d, 0x62, 0x61, 0x72, + 0x2e, 0x75, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x04, 0x0b, 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, @@ -5667,40 +1171,52 @@ 0x33, 0x2e, 0x31, 0x36, 0x22, 0x2f, 0x3e, 0x3c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, - 0x47, 0x61, 0x6d, 0x65, 0x73, 0x44, 0x75, 0x6d, - 0x6d, 0x79, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x22, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 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, 0x68, 0x65, 0x78, 0x70, 0x61, - 0x6e, 0x64, 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, 0x76, 0x65, 0x78, 0x70, 0x61, - 0x6e, 0x64, 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, 0x68, 0x61, 0x6c, 0x69, 0x67, - 0x6e, 0x22, 0x3e, 0x66, 0x69, 0x6c, 0x6c, 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, 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, - 0x22, 0x3e, 0x66, 0x69, 0x6c, 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, 0x47, 0x72, 0x69, 0x64, 0x22, 0x20, - 0x69, 0x64, 0x3d, 0x22, 0x67, 0x72, 0x69, 0x64, + 0x47, 0x61, 0x6d, 0x65, 0x73, 0x44, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x42, 0x61, 0x72, 0x22, 0x20, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x47, + 0x74, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, + 0x42, 0x61, 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, + 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, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x3c, + 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, + 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, + 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x3a, 0x3a, + 0x69, 0x73, 0x2d, 0x66, 0x75, 0x6c, 0x6c, 0x73, + 0x63, 0x72, 0x65, 0x65, 0x6e, 0x22, 0x20, 0x68, + 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x3d, 0x22, + 0x6f, 0x6e, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x73, + 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x64, 0x22, 0x2f, 0x3e, + 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6e, 0x6f, + 0x74, 0x69, 0x66, 0x79, 0x3a, 0x3a, 0x63, 0x61, + 0x6e, 0x2d, 0x66, 0x75, 0x6c, 0x6c, 0x73, 0x63, + 0x72, 0x65, 0x65, 0x6e, 0x22, 0x20, 0x68, 0x61, + 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x3d, 0x22, 0x6f, + 0x6e, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x73, 0x63, + 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x63, 0x68, 0x61, + 0x6e, 0x67, 0x65, 0x64, 0x22, 0x2f, 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, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x20, + 0x69, 0x64, 0x3d, 0x22, 0x62, 0x61, 0x63, 0x6b, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, @@ -5708,25 +1224,136 @@ 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, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, - 0x3d, 0x22, 0x68, 0x61, 0x6c, 0x69, 0x67, 0x6e, + 0x3d, 0x22, 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 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, 0x75, 0x73, 0x65, 0x2d, 0x75, + 0x6e, 0x64, 0x65, 0x72, 0x6c, 0x69, 0x6e, 0x65, + 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x63, + 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x22, 0x20, + 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x3d, + 0x22, 0x6f, 0x6e, 0x5f, 0x62, 0x61, 0x63, 0x6b, + 0x5f, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x64, + 0x22, 0x2f, 0x3e, 0x3c, 0x73, 0x74, 0x79, 0x6c, + 0x65, 0x3e, 0x3c, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x2d, 0x62, 0x75, 0x74, + 0x74, 0x6f, 0x6e, 0x22, 0x2f, 0x3e, 0x3c, 0x2f, + 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x63, + 0x68, 0x69, 0x6c, 0x64, 0x20, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2d, 0x63, 0x68, + 0x69, 0x6c, 0x64, 0x3d, 0x22, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x22, + 0x3e, 0x3c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, + 0x41, 0x74, 0x6b, 0x4f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x61, + 0x31, 0x31, 0x79, 0x2d, 0x62, 0x61, 0x63, 0x6b, + 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x22, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x69, 0x62, 0x6c, 0x65, 0x2d, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x6c, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x3d, + 0x22, 0x79, 0x65, 0x73, 0x22, 0x3e, 0x42, 0x61, + 0x63, 0x6b, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x2f, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 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, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x22, 0x20, 0x69, 0x64, + 0x3d, 0x22, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x69, + 0x6d, 0x61, 0x67, 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, 0x69, 0x63, + 0x6f, 0x6e, 0x2d, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0x3e, 0x67, 0x6f, 0x2d, 0x70, 0x72, 0x65, 0x76, + 0x69, 0x6f, 0x75, 0x73, 0x2d, 0x73, 0x79, 0x6d, + 0x62, 0x6f, 0x6c, 0x69, 0x63, 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, + 0x69, 0x63, 0x6f, 0x6e, 0x2d, 0x73, 0x69, 0x7a, + 0x65, 0x22, 0x3e, 0x31, 0x3c, 0x2f, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 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, 0x3e, + 0x3c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x47, + 0x74, 0x6b, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, + 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x66, 0x75, + 0x6c, 0x6c, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, + 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, 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, 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 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, 0x49, 0x6d, 0x61, - 0x67, 0x65, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, + 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x75, 0x73, 0x65, 0x2d, + 0x75, 0x6e, 0x64, 0x65, 0x72, 0x6c, 0x69, 0x6e, + 0x65, 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, 0x3c, + 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, + 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, + 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x22, + 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, + 0x3d, 0x22, 0x6f, 0x6e, 0x5f, 0x66, 0x75, 0x6c, + 0x6c, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, + 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x22, + 0x2f, 0x3e, 0x3c, 0x73, 0x74, 0x79, 0x6c, 0x65, + 0x3e, 0x3c, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x69, 0x6d, + 0x61, 0x67, 0x65, 0x2d, 0x62, 0x75, 0x74, 0x74, + 0x6f, 0x6e, 0x22, 0x2f, 0x3e, 0x3c, 0x2f, 0x73, + 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x63, 0x68, + 0x69, 0x6c, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x65, + 0x72, 0x6e, 0x61, 0x6c, 0x2d, 0x63, 0x68, 0x69, + 0x6c, 0x64, 0x3d, 0x22, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x22, 0x3e, + 0x3c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x41, + 0x74, 0x6b, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x61, 0x31, + 0x31, 0x79, 0x2d, 0x66, 0x75, 0x6c, 0x6c, 0x73, + 0x63, 0x72, 0x65, 0x65, 0x6e, 0x22, 0x3e, 0x3c, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, + 0x65, 0x2d, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x3d, 0x22, 0x79, 0x65, + 0x73, 0x22, 0x3e, 0x46, 0x75, 0x6c, 0x6c, 0x73, + 0x63, 0x72, 0x65, 0x65, 0x6e, 0x3c, 0x2f, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, + 0x3c, 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 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, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x22, + 0x20, 0x69, 0x64, 0x3d, 0x22, 0x66, 0x75, 0x6c, + 0x6c, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x76, @@ -5736,148 +1363,88 @@ 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x69, 0x63, 0x6f, 0x6e, 0x2d, 0x6e, 0x61, 0x6d, 0x65, - 0x22, 0x3e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, - 0x65, 0x72, 0x2d, 0x66, 0x61, 0x69, 0x6c, 0x2d, - 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x69, 0x63, - 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, 0x69, 0x78, 0x65, 0x6c, - 0x2d, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x3e, 0x32, - 0x35, 0x36, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, + 0x22, 0x3e, 0x76, 0x69, 0x65, 0x77, 0x2d, 0x66, + 0x75, 0x6c, 0x6c, 0x73, 0x63, 0x72, 0x65, 0x65, + 0x6e, 0x2d, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, + 0x69, 0x63, 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, 0x63, 0x65, 0x6e, - 0x74, 0x65, 0x72, 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, 0x76, 0x61, - 0x6c, 0x69, 0x67, 0x6e, 0x22, 0x3e, 0x63, 0x65, - 0x6e, 0x74, 0x65, 0x72, 0x3c, 0x2f, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, + 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x69, 0x63, 0x6f, + 0x6e, 0x2d, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x3e, + 0x31, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 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, 0x70, + 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6d, - 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x62, 0x6f, - 0x74, 0x74, 0x6f, 0x6d, 0x22, 0x3e, 0x32, 0x34, - 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x79, 0x3e, 0x3c, 0x2f, 0x6f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 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, - 0x6e, 0x6f, 0x5f, 0x62, 0x6f, 0x78, 0x65, 0x73, - 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 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, 0x75, 0x73, - 0x65, 0x2d, 0x6d, 0x61, 0x72, 0x6b, 0x75, 0x70, - 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x70, + 0x61, 0x63, 0x6b, 0x2d, 0x74, 0x79, 0x70, 0x65, + 0x22, 0x3e, 0x65, 0x6e, 0x64, 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, 0x75, 0x74, 0x74, 0x6f, + 0x6e, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x72, + 0x65, 0x73, 0x74, 0x6f, 0x72, 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, 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, + 0x22, 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 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, 0x76, 0x65, 0x78, 0x70, 0x61, 0x6e, - 0x64, 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, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, - 0x2d, 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x22, - 0x3e, 0x36, 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, 0x69, 0x73, 0x20, 0x61, - 0x20, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x20, 0x67, - 0x61, 0x6d, 0x65, 0x20, 0x64, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 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, 0x77, 0x65, 0x69, 0x67, 0x68, - 0x74, 0x22, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3d, 0x22, 0x62, 0x6f, 0x6c, 0x64, 0x22, 0x2f, - 0x3e, 0x3c, 0x21, 0x2d, 0x2d, 0x20, 0x22, 0x31, - 0x2e, 0x32, 0x22, 0x20, 0x69, 0x73, 0x20, 0x74, - 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x20, 0x6f, 0x66, 0x20, 0x22, 0x6c, 0x61, 0x72, - 0x67, 0x65, 0x22, 0x20, 0x2d, 0x2d, 0x3e, 0x3c, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, - 0x73, 0x63, 0x61, 0x6c, 0x65, 0x22, 0x20, 0x76, - 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x31, 0x2e, - 0x32, 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, 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, 0x64, 0x65, - 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 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, + 0x3d, 0x22, 0x75, 0x73, 0x65, 0x2d, 0x75, 0x6e, + 0x64, 0x65, 0x72, 0x6c, 0x69, 0x6e, 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, - 0x75, 0x73, 0x65, 0x2d, 0x6d, 0x61, 0x72, 0x6b, - 0x75, 0x70, 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, 0x68, 0x61, 0x6c, 0x69, 0x67, - 0x6e, 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, - 0x72, 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, 0x76, 0x65, 0x78, 0x70, - 0x61, 0x6e, 0x64, 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, 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, 0x49, 0x66, - 0x20, 0x79, 0x6f, 0x75, 0x20, 0x73, 0x65, 0x65, - 0x20, 0x74, 0x68, 0x69, 0x73, 0x2c, 0x20, 0x74, - 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x61, - 0x20, 0x62, 0x75, 0x67, 0x2e, 0x3c, 0x2f, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, - 0x3c, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x6e, 0x61, - 0x6d, 0x65, 0x3d, 0x22, 0x64, 0x69, 0x6d, 0x2d, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x2f, 0x3e, + 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x63, 0x6c, + 0x69, 0x63, 0x6b, 0x65, 0x64, 0x22, 0x20, 0x68, + 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x3d, 0x22, + 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x69, 0x63, 0x6b, + 0x65, 0x64, 0x22, 0x2f, 0x3e, 0x3c, 0x73, 0x74, + 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x22, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2d, 0x62, + 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x2f, 0x3e, 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, - 0x3c, 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 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, 0x69, 0x6e, 0x73, - 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x73, 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, + 0x3c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x20, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2d, + 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3d, 0x22, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, + 0x65, 0x22, 0x3e, 0x3c, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x3d, 0x22, 0x41, 0x74, 0x6b, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x22, 0x20, 0x69, 0x64, 0x3d, + 0x22, 0x61, 0x31, 0x31, 0x79, 0x2d, 0x72, 0x65, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x22, 0x3e, 0x3c, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, + 0x65, 0x2d, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x3d, 0x22, 0x79, 0x65, + 0x73, 0x22, 0x3e, 0x52, 0x65, 0x73, 0x74, 0x6f, + 0x72, 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x2f, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 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, 0x49, + 0x6d, 0x61, 0x67, 0x65, 0x22, 0x20, 0x69, 0x64, + 0x3d, 0x22, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, + 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 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, @@ -5885,264 +1452,154 @@ 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, 0x75, 0x73, 0x65, 0x2d, 0x6d, 0x61, 0x72, - 0x6b, 0x75, 0x70, 0x22, 0x3e, 0x54, 0x72, 0x75, - 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x22, 0x69, 0x63, 0x6f, 0x6e, 0x2d, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0x3e, 0x76, 0x69, 0x65, 0x77, + 0x2d, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x2d, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x69, + 0x63, 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, 0x63, 0x65, 0x6e, 0x74, - 0x65, 0x72, 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, 0x76, 0x65, 0x78, - 0x70, 0x61, 0x6e, 0x64, 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, 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, 0x50, - 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x63, 0x6f, - 0x6e, 0x74, 0x61, 0x63, 0x74, 0x20, 0x74, 0x68, - 0x65, 0x20, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, - 0x70, 0x65, 0x72, 0x73, 0x2e, 0x3c, 0x2f, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, - 0x3c, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x6e, 0x61, - 0x6d, 0x65, 0x3d, 0x22, 0x64, 0x69, 0x6d, 0x2d, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x2f, 0x3e, - 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 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, 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, 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, 0x66, 0x69, 0x6c, 0x6c, 0x22, 0x3e, - 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, 0x70, 0x72, + 0x6d, 0x65, 0x3d, 0x22, 0x69, 0x63, 0x6f, 0x6e, + 0x2d, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x3e, 0x31, + 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 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, 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, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x22, + 0x3e, 0x65, 0x6e, 0x64, 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, 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, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x2d, 0x69, 0x63, 0x6f, 0x6e, - 0x2d, 0x76, 0x69, 0x65, 0x77, 0x2e, 0x75, 0x69, - 0x3e, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x3e, 0x3c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3e, + 0x3c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x47, + 0x61, 0x6d, 0x65, 0x73, 0x4d, 0x65, 0x64, 0x69, + 0x61, 0x4d, 0x65, 0x6e, 0x75, 0x42, 0x75, 0x74, + 0x74, 0x6f, 0x6e, 0x22, 0x20, 0x69, 0x64, 0x3d, + 0x22, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x5f, 0x62, + 0x75, 0x74, 0x74, 0x6f, 0x6e, 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, + 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, + 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x22, 0x3e, + 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 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, 0x75, 0x73, 0x65, 0x2d, 0x75, 0x6e, 0x64, + 0x65, 0x72, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x3e, + 0x54, 0x72, 0x75, 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, 0x2d, 0x74, 0x79, + 0x70, 0x65, 0x22, 0x3e, 0x65, 0x6e, 0x64, 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, 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, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2d, + 0x70, 0x61, 0x67, 0x65, 0x2d, 0x70, 0x6c, 0x75, + 0x67, 0x69, 0x6e, 0x73, 0x2d, 0x69, 0x74, 0x65, + 0x6d, 0x2e, 0x75, 0x69, 0x00, 0x00, 0x00, 0x00, + 0x78, 0x02, 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, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x73, 0x20, 0x6c, 0x69, 0x62, 0x3d, - 0x22, 0x67, 0x74, 0x6b, 0x2b, 0x22, 0x20, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, - 0x33, 0x2e, 0x31, 0x36, 0x22, 0x2f, 0x3e, 0x3c, + 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, 0x31, 0x36, 0x20, 0x2d, 0x2d, 0x3e, 0x3c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, - 0x47, 0x61, 0x6d, 0x65, 0x73, 0x43, 0x6f, 0x6c, - 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, - 0x63, 0x6f, 0x6e, 0x56, 0x69, 0x65, 0x77, 0x22, + 0x47, 0x61, 0x6d, 0x65, 0x73, 0x50, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, + 0x50, 0x61, 0x67, 0x65, 0x50, 0x6c, 0x75, 0x67, + 0x69, 0x6e, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, - 0x22, 0x47, 0x74, 0x6b, 0x53, 0x74, 0x61, 0x63, - 0x6b, 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, 0x2d, 0x66, - 0x6f, 0x63, 0x75, 0x73, 0x22, 0x3e, 0x46, 0x61, - 0x6c, 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, 0x61, 0x6d, 0x65, - 0x73, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x43, 0x6f, - 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x65, 0x6d, - 0x70, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 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, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3e, - 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2d, 0x63, 0x6f, - 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 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, 0x53, 0x63, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x57, 0x69, - 0x6e, 0x64, 0x6f, 0x77, 0x22, 0x20, 0x69, 0x64, - 0x3d, 0x22, 0x73, 0x63, 0x72, 0x6f, 0x6c, 0x6c, - 0x65, 0x64, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, - 0x77, 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, 0x2d, 0x66, - 0x6f, 0x63, 0x75, 0x73, 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, 0x73, 0x68, 0x61, - 0x64, 0x6f, 0x77, 0x2d, 0x74, 0x79, 0x70, 0x65, - 0x22, 0x3e, 0x69, 0x6e, 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, - 0x73, 0x63, 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, - 0x72, 0x2d, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, - 0x22, 0x3e, 0x6e, 0x65, 0x76, 0x65, 0x72, 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, 0x76, 0x73, 0x63, 0x72, 0x6f, 0x6c, - 0x6c, 0x62, 0x61, 0x72, 0x2d, 0x70, 0x6f, 0x6c, - 0x69, 0x63, 0x79, 0x22, 0x3e, 0x61, 0x75, 0x74, - 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 0x3c, 0x2f, - 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 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, 0x6b, 0x69, 0x6e, 0x65, 0x74, 0x69, 0x63, - 0x2d, 0x73, 0x63, 0x72, 0x6f, 0x6c, 0x6c, 0x69, - 0x6e, 0x67, 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, 0x6f, 0x76, 0x65, 0x72, 0x6c, - 0x61, 0x79, 0x2d, 0x73, 0x63, 0x72, 0x6f, 0x6c, - 0x6c, 0x69, 0x6e, 0x67, 0x22, 0x3e, 0x54, 0x72, - 0x75, 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x73, 0x74, - 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, - 0x22, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x2d, 0x76, 0x69, 0x65, 0x77, 0x22, 0x2f, 0x3e, - 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 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, 0x46, 0x6c, 0x6f, 0x77, 0x42, 0x6f, 0x78, - 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x66, 0x6c, - 0x6f, 0x77, 0x5f, 0x62, 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, 0x2d, 0x66, 0x6f, 0x63, 0x75, - 0x73, 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, 0x68, 0x61, 0x6c, 0x69, 0x67, 0x6e, - 0x22, 0x3e, 0x66, 0x69, 0x6c, 0x6c, 0x3c, 0x2f, + 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, 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x22, - 0x3e, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3c, 0x2f, + 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, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, - 0x22, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x22, 0x3e, 0x32, - 0x38, 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, 0x2d, 0x65, 0x6e, 0x64, 0x22, 0x3e, - 0x32, 0x38, 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, 0x2d, 0x74, 0x6f, 0x70, 0x22, - 0x3e, 0x32, 0x31, 0x3c, 0x2f, 0x70, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x70, + 0x22, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x22, + 0x3e, 0x36, 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, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, - 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6d, 0x61, - 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x62, 0x6f, 0x74, - 0x74, 0x6f, 0x6d, 0x22, 0x3e, 0x32, 0x31, 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, 0x6f, 0x6d, 0x6f, 0x67, 0x65, - 0x6e, 0x65, 0x6f, 0x75, 0x73, 0x22, 0x3e, 0x54, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x76, 0x69, + 0x73, 0x69, 0x62, 0x6c, 0x65, 0x22, 0x3e, 0x74, 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, 0x6f, - 0x6c, 0x75, 0x6d, 0x6e, 0x2d, 0x73, 0x70, 0x61, - 0x63, 0x69, 0x6e, 0x67, 0x22, 0x3e, 0x34, 0x32, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x78, 0x61, + 0x6c, 0x69, 0x67, 0x6e, 0x22, 0x3e, 0x30, 0x3c, + 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x3e, 0x3c, 0x2f, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 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, 0x70, + 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, + 0x6e, 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, 0x74, 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, 0x72, 0x6f, 0x77, 0x2d, 0x73, - 0x70, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x22, 0x3e, - 0x32, 0x31, 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, 0x65, 0x6c, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x6d, - 0x6f, 0x64, 0x65, 0x22, 0x3e, 0x6e, 0x6f, 0x6e, - 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x73, 0x69, 0x67, - 0x6e, 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, - 0x3d, 0x22, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x2d, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x64, 0x22, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, - 0x65, 0x72, 0x3d, 0x22, 0x6f, 0x6e, 0x5f, 0x63, - 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2f, - 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, 0x70, 0x61, 0x63, 0x6b, - 0x69, 0x6e, 0x67, 0x3e, 0x3c, 0x70, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, - 0x6d, 0x65, 0x3d, 0x22, 0x6e, 0x61, 0x6d, 0x65, - 0x22, 0x3e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x76, 0x69, 0x65, - 0x77, 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, - 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, 0x72, 0x65, - 0x73, 0x75, 0x6d, 0x65, 0x2d, 0x66, 0x61, 0x69, - 0x6c, 0x65, 0x64, 0x2d, 0x64, 0x69, 0x61, 0x6c, - 0x6f, 0x67, 0x2e, 0x75, 0x69, 0x00, 0x00, 0x00, - 0x38, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x65, 0x3d, 0x22, 0x78, 0x61, 0x6c, 0x69, 0x67, + 0x6e, 0x22, 0x3e, 0x30, 0x3c, 0x2f, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, + 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x20, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x22, 0x64, 0x69, 0x6d, 0x2d, 0x6c, + 0x61, 0x62, 0x65, 0x6c, 0x22, 0x2f, 0x3e, 0x3c, + 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 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, + 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x2d, 0x64, + 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x2e, 0x75, 0x69, + 0xec, 0x03, 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, @@ -6157,47 +1614,65 @@ 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x75, 0x6d, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, - 0x64, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x22, - 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, - 0x22, 0x47, 0x74, 0x6b, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x44, 0x69, 0x61, 0x6c, 0x6f, - 0x67, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, + 0x75, 0x6d, 0x65, 0x44, 0x69, 0x61, 0x6c, 0x6f, + 0x67, 0x22, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x4d, 0x65, + 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x69, 0x61, + 0x6c, 0x6f, 0x67, 0x22, 0x3e, 0x3c, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6d, 0x6f, 0x64, + 0x61, 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, 0x6d, 0x6f, 0x64, 0x61, 0x6c, - 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, + 0x65, 0x3d, 0x22, 0x64, 0x65, 0x73, 0x74, 0x72, + 0x6f, 0x79, 0x2d, 0x77, 0x69, 0x74, 0x68, 0x2d, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 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, - 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, - 0x22, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, - 0x2d, 0x77, 0x69, 0x74, 0x68, 0x2d, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 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, 0x74, 0x79, 0x70, - 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x22, 0x3e, - 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x3c, 0x2f, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x74, + 0x79, 0x70, 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, + 0x22, 0x3e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, + 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, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, + 0x3e, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, + 0x6e, 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, 0x65, 0x78, 0x74, + 0x22, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, + 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x3d, 0x22, + 0x79, 0x65, 0x73, 0x22, 0x3e, 0x52, 0x65, 0x73, + 0x75, 0x6d, 0x65, 0x20, 0x6c, 0x61, 0x73, 0x74, + 0x20, 0x67, 0x61, 0x6d, 0x65, 0x3f, 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, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3e, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x3c, + 0x3e, 0x3c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x20, + 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3e, 0x3c, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x3d, 0x22, 0x47, 0x74, 0x6b, + 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x20, + 0x69, 0x64, 0x3d, 0x22, 0x62, 0x75, 0x74, 0x74, + 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x65, 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, 0x74, 0x65, 0x78, 0x74, 0x22, 0x20, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x3d, 0x22, 0x79, 0x65, - 0x73, 0x22, 0x3e, 0x52, 0x65, 0x73, 0x75, 0x6d, - 0x69, 0x6e, 0x67, 0x20, 0x66, 0x61, 0x69, 0x6c, - 0x65, 0x64, 0x2e, 0x20, 0x44, 0x6f, 0x20, 0x79, - 0x6f, 0x75, 0x20, 0x77, 0x61, 0x6e, 0x74, 0x20, - 0x74, 0x6f, 0x20, 0x72, 0x65, 0x73, 0x74, 0x61, - 0x72, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, - 0x61, 0x6d, 0x65, 0x3f, 0x3c, 0x2f, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, + 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, 0x52, 0x65, 0x73, 0x74, + 0x61, 0x72, 0x74, 0x3c, 0x2f, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 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, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3e, 0x3c, 0x6f, 0x62, 0x6a, @@ -6205,7 +1680,7 @@ 0x73, 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, - 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x22, + 0x5f, 0x72, 0x65, 0x73, 0x75, 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, @@ -6221,68 +1696,189 @@ 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, 0x43, - 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x3c, 0x2f, 0x70, + 0x3d, 0x22, 0x79, 0x65, 0x73, 0x22, 0x3e, 0x52, + 0x65, 0x73, 0x75, 0x6d, 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 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, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3e, 0x3c, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x63, 0x6c, - 0x61, 0x73, 0x73, 0x3d, 0x22, 0x47, 0x74, 0x6b, - 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x20, - 0x69, 0x64, 0x3d, 0x22, 0x62, 0x75, 0x74, 0x74, - 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, - 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x3e, 0x3c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x2d, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x73, + 0x3e, 0x3c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x2d, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x20, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x3d, 0x22, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, + 0x22, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 0x3d, 0x22, 0x74, 0x72, 0x75, 0x65, 0x22, + 0x3e, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x5f, + 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x3c, 0x2f, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x77, + 0x69, 0x64, 0x67, 0x65, 0x74, 0x3e, 0x3c, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x77, 0x69, + 0x64, 0x67, 0x65, 0x74, 0x20, 0x72, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x3d, 0x22, 0x63, + 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x22, 0x3e, 0x62, + 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x5f, 0x72, 0x65, + 0x73, 0x65, 0x74, 0x3c, 0x2f, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x2d, 0x77, 0x69, 0x64, 0x67, + 0x65, 0x74, 0x3e, 0x3c, 0x2f, 0x61, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x2d, 0x77, 0x69, 0x64, 0x67, + 0x65, 0x74, 0x73, 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, 0x71, 0x75, 0x69, 0x74, + 0x2d, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x2e, + 0x75, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x83, 0x04, 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, 0x72, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x73, 0x20, 0x6c, 0x69, 0x62, 0x3d, + 0x22, 0x67, 0x74, 0x6b, 0x2b, 0x22, 0x20, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, + 0x33, 0x2e, 0x31, 0x36, 0x22, 0x2f, 0x3e, 0x3c, + 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, + 0x47, 0x61, 0x6d, 0x65, 0x73, 0x51, 0x75, 0x69, + 0x74, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x22, + 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, + 0x22, 0x47, 0x74, 0x6b, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x44, 0x69, 0x61, 0x6c, 0x6f, + 0x67, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x22, 0x6d, 0x6f, 0x64, 0x61, 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, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, + 0x2d, 0x77, 0x69, 0x74, 0x68, 0x2d, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 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, 0x74, 0x79, 0x70, + 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x22, 0x3e, + 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 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, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3e, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 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, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, - 0x65, 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, 0x3c, + 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x22, 0x20, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x3d, 0x22, 0x79, 0x65, + 0x73, 0x22, 0x3e, 0x41, 0x72, 0x65, 0x20, 0x79, + 0x6f, 0x75, 0x20, 0x73, 0x75, 0x72, 0x65, 0x20, + 0x79, 0x6f, 0x75, 0x20, 0x77, 0x61, 0x6e, 0x74, + 0x20, 0x74, 0x6f, 0x20, 0x71, 0x75, 0x69, 0x74, + 0x3f, 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, 0x65, 0x63, 0x6f, + 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x74, 0x65, + 0x78, 0x74, 0x22, 0x20, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x6c, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x3d, 0x22, 0x79, 0x65, 0x73, 0x22, 0x3e, 0x41, + 0x6c, 0x6c, 0x20, 0x75, 0x6e, 0x73, 0x61, 0x76, + 0x65, 0x64, 0x20, 0x70, 0x72, 0x6f, 0x67, 0x72, + 0x65, 0x73, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, + 0x20, 0x62, 0x65, 0x20, 0x6c, 0x6f, 0x73, 0x74, + 0x2e, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x63, 0x68, 0x69, + 0x6c, 0x64, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, + 0x22, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x3e, 0x3c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, + 0x47, 0x74, 0x6b, 0x42, 0x75, 0x74, 0x74, 0x6f, + 0x6e, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x62, + 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x5f, 0x63, 0x61, + 0x6e, 0x63, 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, 0x2d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 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, 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, 0x20, 0x63, 0x6f, 0x6e, 0x74, - 0x65, 0x78, 0x74, 0x3d, 0x22, 0x52, 0x65, 0x73, - 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, - 0x67, 0x61, 0x6d, 0x65, 0x20, 0x66, 0x61, 0x69, - 0x6c, 0x65, 0x64, 0x20, 0x64, 0x69, 0x61, 0x6c, - 0x6f, 0x67, 0x22, 0x3e, 0x52, 0x65, 0x73, 0x65, - 0x74, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x2f, 0x6f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x3e, 0x3c, 0x2f, 0x63, - 0x68, 0x69, 0x6c, 0x64, 0x3e, 0x3c, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x77, 0x69, 0x64, - 0x67, 0x65, 0x74, 0x73, 0x3e, 0x3c, 0x61, 0x63, + 0x65, 0x73, 0x22, 0x3e, 0x43, 0x61, 0x6e, 0x63, + 0x65, 0x6c, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 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, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x3e, 0x3c, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x42, 0x75, 0x74, + 0x74, 0x6f, 0x6e, 0x22, 0x20, 0x69, 0x64, 0x3d, + 0x22, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x5f, + 0x71, 0x75, 0x69, 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, 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, + 0x51, 0x75, 0x69, 0x74, 0x3c, 0x2f, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, + 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x20, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x22, 0x64, 0x65, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2d, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2f, 0x3e, + 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, + 0x3c, 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x3e, 0x3c, 0x2f, 0x63, 0x68, 0x69, 0x6c, 0x64, + 0x3e, 0x3c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x2d, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x73, + 0x3e, 0x3c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x2d, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x20, + 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, + 0x3d, 0x22, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, + 0x22, 0x3e, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, + 0x5f, 0x71, 0x75, 0x69, 0x74, 0x3c, 0x2f, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x77, 0x69, + 0x64, 0x67, 0x65, 0x74, 0x3e, 0x3c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x20, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x3d, 0x22, 0x61, 0x63, - 0x63, 0x65, 0x70, 0x74, 0x22, 0x3e, 0x62, 0x75, - 0x74, 0x74, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, - 0x65, 0x74, 0x3c, 0x2f, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x73, 0x65, 0x3d, 0x22, 0x63, 0x61, + 0x6e, 0x63, 0x65, 0x6c, 0x22, 0x20, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3d, 0x22, 0x74, + 0x72, 0x75, 0x65, 0x22, 0x3e, 0x62, 0x75, 0x74, + 0x74, 0x6f, 0x6e, 0x5f, 0x63, 0x61, 0x6e, 0x63, + 0x65, 0x6c, 0x3c, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x77, 0x69, 0x64, 0x67, 0x65, - 0x74, 0x3e, 0x3c, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x2d, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, - 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, - 0x65, 0x3d, 0x22, 0x63, 0x61, 0x6e, 0x63, 0x65, - 0x6c, 0x22, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, - 0x6c, 0x74, 0x3d, 0x22, 0x74, 0x72, 0x75, 0x65, - 0x22, 0x3e, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, - 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x3c, - 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2d, - 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x3e, 0x3c, - 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2d, - 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x73, 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, - 0x6d, 0x65, 0x64, 0x69, 0x61, 0x2d, 0x6d, 0x65, - 0x6e, 0x75, 0x2d, 0x62, 0x75, 0x74, 0x74, 0x6f, - 0x6e, 0x2e, 0x75, 0x69, 0x00, 0x00, 0x00, 0x00, - 0x2d, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x74, 0x3e, 0x3c, 0x2f, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x2d, 0x77, 0x69, 0x64, 0x67, 0x65, + 0x74, 0x73, 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, 0x63, 0x6f, 0x6c, 0x6c, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x62, 0x6f, + 0x78, 0x2e, 0x75, 0x69, 0x00, 0x00, 0x00, 0x00, + 0x23, 0x0b, 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, @@ -6296,994 +1892,804 @@ 0x33, 0x2e, 0x31, 0x36, 0x22, 0x2f, 0x3e, 0x3c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, - 0x47, 0x61, 0x6d, 0x65, 0x73, 0x4d, 0x65, 0x64, - 0x69, 0x61, 0x4d, 0x65, 0x6e, 0x75, 0x42, 0x75, - 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x20, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x47, 0x74, - 0x6b, 0x4d, 0x65, 0x6e, 0x75, 0x42, 0x75, 0x74, - 0x74, 0x6f, 0x6e, 0x22, 0x3e, 0x3c, 0x73, 0x74, - 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, - 0x22, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2d, 0x62, - 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x2f, 0x3e, - 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, - 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, - 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6e, 0x6f, - 0x74, 0x69, 0x66, 0x79, 0x3a, 0x3a, 0x6d, 0x65, - 0x64, 0x69, 0x61, 0x2d, 0x73, 0x65, 0x74, 0x22, - 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, - 0x3d, 0x22, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x64, - 0x69, 0x61, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x22, 0x2f, - 0x3e, 0x3c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x20, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, - 0x2d, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3d, 0x22, - 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, - 0x6c, 0x65, 0x22, 0x3e, 0x3c, 0x6f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x20, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x3d, 0x22, 0x41, 0x74, 0x6b, 0x4f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x22, 0x20, 0x69, 0x64, - 0x3d, 0x22, 0x61, 0x31, 0x31, 0x79, 0x2d, 0x64, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x2d, 0x64, - 0x69, 0x73, 0x63, 0x73, 0x22, 0x3e, 0x3c, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, - 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x63, - 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, - 0x2d, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x74, - 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x61, - 0x62, 0x6c, 0x65, 0x3d, 0x22, 0x79, 0x65, 0x73, - 0x22, 0x3e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x3c, - 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x79, 0x3e, 0x3c, 0x2f, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 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, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x6d, - 0x65, 0x64, 0x69, 0x61, 0x5f, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, + 0x47, 0x61, 0x6d, 0x65, 0x73, 0x43, 0x6f, 0x6c, + 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, + 0x6f, 0x78, 0x22, 0x20, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 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, 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, 0x67, 0x61, 0x6d, - 0x65, 0x2d, 0x69, 0x63, 0x6f, 0x6e, 0x2d, 0x76, - 0x69, 0x65, 0x77, 0x2e, 0x75, 0x69, 0x00, 0x00, - 0x80, 0x06, 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, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x73, 0x20, 0x6c, 0x69, 0x62, 0x3d, - 0x22, 0x67, 0x74, 0x6b, 0x2b, 0x22, 0x20, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, - 0x33, 0x2e, 0x31, 0x36, 0x22, 0x2f, 0x3e, 0x3c, - 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, - 0x47, 0x61, 0x6d, 0x65, 0x73, 0x47, 0x61, 0x6d, - 0x65, 0x49, 0x63, 0x6f, 0x6e, 0x56, 0x69, 0x65, - 0x77, 0x22, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 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, 0x2d, 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, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, - 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x68, 0x61, - 0x6c, 0x69, 0x67, 0x6e, 0x22, 0x3e, 0x63, 0x65, - 0x6e, 0x74, 0x65, 0x72, 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, 0x61, 0x6d, - 0x65, 0x73, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x68, - 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x22, - 0x20, 0x69, 0x64, 0x3d, 0x22, 0x74, 0x68, 0x75, - 0x6d, 0x62, 0x6e, 0x61, 0x69, 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, - 0x77, 0x69, 0x64, 0x74, 0x68, 0x2d, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3e, 0x32, - 0x35, 0x36, 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, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x2d, 0x72, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x22, 0x3e, 0x32, 0x35, 0x36, - 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, 0x46, 0x61, 0x6c, 0x73, 0x65, - 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, 0x74, 0x69, 0x74, 0x6c, 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, - 0x77, 0x69, 0x64, 0x74, 0x68, 0x2d, 0x72, 0x65, - 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3e, 0x32, - 0x35, 0x36, 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, 0x65, 0x6c, 0x6c, - 0x69, 0x70, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x3e, - 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x3c, 0x2f, + 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, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x73, 0x70, 0x61, 0x63, + 0x69, 0x6e, 0x67, 0x22, 0x3e, 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, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x79, - 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, - 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, 0x69, 0x6e, 0x65, 0x73, - 0x22, 0x3e, 0x32, 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, - 0x78, 0x2d, 0x77, 0x69, 0x64, 0x74, 0x68, 0x2d, - 0x63, 0x68, 0x61, 0x72, 0x73, 0x22, 0x3e, 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, 0x77, 0x72, 0x61, 0x70, 0x22, - 0x3e, 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, 0x70, + 0x22, 0x68, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x22, + 0x3e, 0x66, 0x69, 0x6c, 0x6c, 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, - 0x77, 0x72, 0x61, 0x70, 0x2d, 0x6d, 0x6f, 0x64, - 0x65, 0x22, 0x3e, 0x77, 0x6f, 0x72, 0x64, 0x2d, - 0x63, 0x68, 0x61, 0x72, 0x3c, 0x2f, 0x70, 0x72, + 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x22, 0x3e, + 0x66, 0x69, 0x6c, 0x6c, 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, 0x46, - 0x61, 0x6c, 0x73, 0x65, 0x3c, 0x2f, 0x70, 0x72, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x68, + 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x22, 0x3e, + 0x54, 0x72, 0x75, 0x65, 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, 0x73, 0x75, 0x62, - 0x74, 0x69, 0x74, 0x6c, 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, + 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 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, 0x77, - 0x69, 0x64, 0x74, 0x68, 0x2d, 0x72, 0x65, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x22, 0x3e, 0x32, 0x35, - 0x36, 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, 0x65, 0x6c, 0x6c, 0x69, - 0x70, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x3e, 0x6d, - 0x69, 0x64, 0x64, 0x6c, 0x65, 0x3c, 0x2f, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x63, + 0x61, 0x6e, 0x2d, 0x66, 0x6f, 0x63, 0x75, 0x73, + 0x22, 0x3e, 0x46, 0x61, 0x6c, 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, 0x61, 0x6d, 0x65, 0x73, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x42, 0x61, 0x72, 0x22, 0x20, + 0x69, 0x64, 0x3d, 0x22, 0x73, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x5f, 0x62, 0x61, 0x72, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, - 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x79, 0x22, - 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 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, 0x69, 0x6e, 0x65, 0x73, 0x22, - 0x3e, 0x31, 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, 0x78, - 0x2d, 0x77, 0x69, 0x64, 0x74, 0x68, 0x2d, 0x63, - 0x68, 0x61, 0x72, 0x73, 0x22, 0x3e, 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, 0x77, 0x72, 0x61, 0x70, 0x22, 0x3e, - 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, 0x70, 0x72, + 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, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6e, 0x6f, + 0x74, 0x69, 0x66, 0x79, 0x3a, 0x3a, 0x74, 0x65, + 0x78, 0x74, 0x22, 0x20, 0x68, 0x61, 0x6e, 0x64, + 0x6c, 0x65, 0x72, 0x3d, 0x22, 0x6f, 0x6e, 0x5f, + 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74, + 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x6f, 0x74, 0x69, + 0x66, 0x79, 0x22, 0x2f, 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, 0x77, - 0x72, 0x61, 0x70, 0x2d, 0x6d, 0x6f, 0x64, 0x65, - 0x22, 0x3e, 0x77, 0x6f, 0x72, 0x64, 0x2d, 0x63, - 0x68, 0x61, 0x72, 0x3c, 0x2f, 0x70, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x73, - 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x63, 0x6c, - 0x61, 0x73, 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, - 0x3d, 0x22, 0x64, 0x69, 0x6d, 0x2d, 0x6c, 0x61, - 0x62, 0x65, 0x6c, 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, + 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, 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, 0x4f, + 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x22, 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, + 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, - 0x66, 0x69, 0x6c, 0x6c, 0x22, 0x3e, 0x46, 0x61, - 0x6c, 0x73, 0x65, 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, 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, - 0x75, 0x69, 0x2f, 0x00, 0x1b, 0x00, 0x00, 0x00, - 0x0f, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, - 0x16, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, - 0x19, 0x00, 0x00, 0x00, 0x1d, 0x00, 0x00, 0x00, - 0x08, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, - 0x06, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, - 0x0c, 0x00, 0x00, 0x00, 0x22, 0x00, 0x00, 0x00, - 0x25, 0x00, 0x00, 0x00, 0x14, 0x00, 0x00, 0x00, - 0x0b, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, - 0x20, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, - 0x03, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, - 0x11, 0x00, 0x00, 0x00, 0x26, 0x00, 0x00, 0x00, - 0x02, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, - 0x1e, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, - 0x21, 0x00, 0x00, 0x00, 0x65, 0x72, 0x72, 0x6f, - 0x72, 0x2d, 0x69, 0x6e, 0x66, 0x6f, 0x2d, 0x62, - 0x61, 0x72, 0x2e, 0x75, 0x69, 0x00, 0x00, 0x00, - 0xf4, 0x02, 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, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x73, 0x20, 0x6c, 0x69, 0x62, 0x3d, - 0x22, 0x67, 0x74, 0x6b, 0x2b, 0x22, 0x20, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, - 0x33, 0x2e, 0x31, 0x36, 0x22, 0x2f, 0x3e, 0x3c, - 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, - 0x47, 0x61, 0x6d, 0x65, 0x73, 0x45, 0x72, 0x72, - 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x61, - 0x72, 0x22, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x49, 0x6e, - 0x66, 0x6f, 0x42, 0x61, 0x72, 0x22, 0x3e, 0x3c, + 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, 0x63, 0x68, 0x69, 0x6c, + 0x64, 0x3e, 0x3c, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, + 0x22, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x43, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x49, 0x63, 0x6f, 0x6e, 0x56, 0x69, 0x65, 0x77, + 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x69, 0x63, + 0x6f, 0x6e, 0x5f, 0x76, 0x69, 0x65, 0x77, 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, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x67, + 0x61, 0x6d, 0x65, 0x2d, 0x61, 0x63, 0x74, 0x69, + 0x76, 0x61, 0x74, 0x65, 0x64, 0x22, 0x20, 0x68, + 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x3d, 0x22, + 0x6f, 0x6e, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x64, 0x22, 0x2f, 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, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x61, + 0x79, 0x22, 0x3e, 0x3c, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x52, 0x65, 0x76, + 0x65, 0x61, 0x6c, 0x65, 0x72, 0x22, 0x20, 0x69, + 0x64, 0x3d, 0x22, 0x6c, 0x6f, 0x61, 0x64, 0x69, + 0x6e, 0x67, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, + 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 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, 0x68, 0x61, 0x6c, + 0x69, 0x67, 0x6e, 0x22, 0x3e, 0x63, 0x65, 0x6e, + 0x74, 0x65, 0x72, 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, 0x76, 0x61, + 0x6c, 0x69, 0x67, 0x6e, 0x22, 0x3e, 0x73, 0x74, + 0x61, 0x72, 0x74, 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, 0x73, + 0x70, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x22, 0x3e, + 0x31, 0x38, 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, 0x70, + 0x69, 0x6e, 0x6e, 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, 0x68, - 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x22, 0x3e, 0x63, - 0x65, 0x6e, 0x74, 0x65, 0x72, 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, - 0x76, 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, - 0x68, 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, 0x76, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, + 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, 0x2d, 0x63, - 0x6c, 0x6f, 0x73, 0x65, 0x2d, 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, 0x6d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x2d, 0x74, 0x79, 0x70, 0x65, - 0x22, 0x3e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x3c, - 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x79, 0x3e, 0x3c, 0x63, 0x68, 0x69, 0x6c, 0x64, - 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, - 0x6c, 0x2d, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3d, - 0x22, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, - 0x5f, 0x61, 0x72, 0x65, 0x61, 0x22, 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, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, - 0x74, 0x5f, 0x61, 0x72, 0x65, 0x61, 0x22, 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, 0x61, 0x62, 0x65, - 0x6c, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, + 0x3d, 0x22, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, + 0x22, 0x3e, 0x54, 0x72, 0x75, 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, 0x76, 0x69, 0x73, 0x69, 0x62, - 0x6c, 0x65, 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, + 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, 0x77, 0x72, 0x61, 0x70, 0x22, + 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, - 0x77, 0x72, 0x61, 0x70, 0x2d, 0x6d, 0x6f, 0x64, - 0x65, 0x22, 0x3e, 0x70, 0x61, 0x6e, 0x67, 0x6f, - 0x2d, 0x77, 0x72, 0x61, 0x70, 0x2d, 0x77, 0x6f, - 0x72, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x72, 0x3c, - 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x79, 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, 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, 0x63, 0x68, 0x65, 0x63, - 0x6b, 0x6d, 0x61, 0x72, 0x6b, 0x2d, 0x69, 0x74, - 0x65, 0x6d, 0x2e, 0x75, 0x69, 0x00, 0x00, 0x00, - 0xae, 0x02, 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, 0x74, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x3d, 0x22, 0x47, 0x61, 0x6d, 0x65, 0x73, - 0x43, 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x72, - 0x6b, 0x49, 0x74, 0x65, 0x6d, 0x22, 0x20, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 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, - 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x22, 0x3e, - 0x66, 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, 0x68, 0x6f, 0x72, - 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 0x3c, + 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, 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, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, - 0x22, 0x3e, 0x36, 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, 0x70, - 0x61, 0x63, 0x69, 0x6e, 0x67, 0x22, 0x3e, 0x31, - 0x32, 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, 0x76, 0x69, 0x73, 0x69, - 0x62, 0x6c, 0x65, 0x22, 0x3e, 0x74, 0x72, 0x75, - 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, 0x4c, 0x61, 0x62, - 0x65, 0x6c, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, - 0x74, 0x69, 0x74, 0x6c, 0x65, 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, 0x74, 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, 0x76, 0x65, 0x78, - 0x70, 0x61, 0x6e, 0x64, 0x22, 0x3e, 0x74, 0x72, - 0x75, 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, + 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, 0x77, 0x72, 0x61, - 0x70, 0x22, 0x3e, 0x74, 0x72, 0x75, 0x65, 0x3c, - 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x79, 0x3e, 0x3c, 0x2f, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 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, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x63, - 0x68, 0x65, 0x63, 0x6b, 0x6d, 0x61, 0x72, 0x6b, - 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x3e, - 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, - 0x69, 0x63, 0x6f, 0x6e, 0x2d, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0x3e, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x2d, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, - 0x2d, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x69, - 0x63, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, + 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, 0x4c, + 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 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, 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, 0x75, 0x74, 0x74, 0x6f, + 0x6e, 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, 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, 0x72, 0x65, 0x63, + 0x65, 0x69, 0x76, 0x65, 0x73, 0x5f, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 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, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x22, 0x3e, 0x63, 0x6c, + 0x6f, 0x73, 0x65, 0x5f, 0x69, 0x63, 0x6f, 0x6e, + 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, 0x61, 0x6c, 0x77, 0x61, 0x79, + 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x69, + 0x6d, 0x61, 0x67, 0x65, 0x22, 0x3e, 0x54, 0x72, + 0x75, 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x73, 0x69, + 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x22, 0x63, 0x6c, 0x69, 0x63, 0x6b, + 0x65, 0x64, 0x22, 0x20, 0x68, 0x61, 0x6e, 0x64, + 0x6c, 0x65, 0x72, 0x3d, 0x22, 0x6f, 0x6e, 0x5f, + 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, + 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x6f, + 0x73, 0x65, 0x64, 0x22, 0x2f, 0x3e, 0x3c, 0x73, + 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x22, 0x66, 0x6c, 0x61, 0x74, 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, 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x69, 0x6e, + 0x67, 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, 0x61, 0x70, + 0x70, 0x2d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2f, + 0x3e, 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, + 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, 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, 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, 0x76, 0x61, 0x6c, 0x69, - 0x67, 0x6e, 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, - 0x65, 0x72, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, + 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, 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x69, + 0x6e, 0x67, 0x3e, 0x3c, 0x2f, 0x63, 0x68, 0x69, + 0x6c, 0x64, 0x3e, 0x3c, 0x2f, 0x74, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3e, 0x3c, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x3d, 0x22, 0x47, 0x74, 0x6b, + 0x49, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x20, 0x69, + 0x64, 0x3d, 0x22, 0x63, 0x6c, 0x6f, 0x73, 0x65, + 0x5f, 0x69, 0x63, 0x6f, 0x6e, 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, 0x74, 0x6f, 0x63, 0x6b, 0x22, + 0x3e, 0x67, 0x74, 0x6b, 0x2d, 0x63, 0x6c, 0x6f, + 0x73, 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 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, 0x2f, 0x00, - 0x12, 0x00, 0x00, 0x00, 0x70, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2d, - 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x75, - 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xbc, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, + 0x65, 0x3e, 0x0a, 0x00, 0x00, 0x28, 0x75, 0x75, + 0x61, 0x79, 0x29, 0x67, 0x61, 0x6d, 0x65, 0x70, + 0x61, 0x64, 0x2d, 0x74, 0x65, 0x73, 0x74, 0x65, + 0x72, 0x2e, 0x75, 0x69, 0x00, 0x00, 0x00, 0x00, + 0x3e, 0x02, 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, 0x47, - 0x61, 0x6d, 0x65, 0x73, 0x50, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x57, - 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x22, 0x20, 0x70, + 0x65, 0x3e, 0x3c, 0x74, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x3d, 0x22, 0x47, 0x61, 0x6d, 0x65, 0x73, + 0x47, 0x61, 0x6d, 0x65, 0x70, 0x61, 0x64, 0x54, + 0x65, 0x73, 0x74, 0x65, 0x72, 0x22, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x47, - 0x74, 0x6b, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, - 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, 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, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 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, 0x69, 0x63, 0x6f, 0x6e, 0x2d, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x62, 0x75, 0x69, - 0x6c, 0x64, 0x65, 0x72, 0x3c, 0x2f, 0x70, 0x72, + 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, 0x64, - 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x2d, 0x77, - 0x69, 0x64, 0x74, 0x68, 0x22, 0x3e, 0x38, 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, 0x2d, 0x68, 0x65, 0x69, 0x67, - 0x68, 0x74, 0x22, 0x3e, 0x35, 0x30, 0x30, 0x3c, + 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, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, - 0x2d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x3e, 0x47, 0x54, 0x4b, 0x5f, 0x57, - 0x49, 0x4e, 0x5f, 0x50, 0x4f, 0x53, 0x5f, 0x43, - 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x4f, 0x4e, - 0x5f, 0x50, 0x41, 0x52, 0x45, 0x4e, 0x54, 0x3c, + 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, - 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, 0x42, 0x6f, 0x78, 0x22, 0x20, - 0x69, 0x64, 0x3d, 0x22, 0x74, 0x69, 0x74, 0x6c, - 0x65, 0x62, 0x61, 0x72, 0x5f, 0x62, 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, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, - 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, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3e, 0x68, 0x6f, - 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 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, 0x48, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x42, 0x61, 0x72, 0x22, 0x20, 0x69, - 0x64, 0x3d, 0x22, 0x6c, 0x65, 0x66, 0x74, 0x5f, - 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, - 0x61, 0x72, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, - 0x6d, 0x65, 0x3d, 0x22, 0x6e, 0x61, 0x6d, 0x65, - 0x22, 0x3e, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x68, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x61, - 0x72, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x70, 0x72, 0x6f, + 0x47, 0x61, 0x6d, 0x65, 0x73, 0x47, 0x61, 0x6d, + 0x65, 0x70, 0x61, 0x64, 0x56, 0x69, 0x65, 0x77, + 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x67, 0x61, + 0x6d, 0x65, 0x70, 0x61, 0x64, 0x5f, 0x76, 0x69, + 0x65, 0x77, 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, 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, 0x72, - 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, - 0x73, 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, - 0x2d, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x2d, 0x62, - 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x3e, 0x54, - 0x72, 0x75, 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, + 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, 0x66, + 0x69, 0x6c, 0x6c, 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, 0x6d, 0x65, 0x6e, 0x75, 0x3c, 0x2f, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, - 0x3c, 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 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, 0x53, 0x65, 0x70, 0x61, 0x72, 0x61, - 0x74, 0x6f, 0x72, 0x22, 0x20, 0x69, 0x64, 0x3d, - 0x22, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, - 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, - 0x72, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x76, 0x61, + 0x6c, 0x69, 0x67, 0x6e, 0x22, 0x3e, 0x66, 0x69, + 0x6c, 0x6c, 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, 0x65, 0x78, + 0x70, 0x61, 0x6e, 0x64, 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, 0x76, 0x65, 0x78, + 0x70, 0x61, 0x6e, 0x64, 0x22, 0x3e, 0x54, 0x72, + 0x75, 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 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, 0x6f, 0x72, + 0x67, 0x2f, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, + 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x2d, 0x69, 0x63, 0x6f, 0x6e, 0x2d, + 0x76, 0x69, 0x65, 0x77, 0x2e, 0x75, 0x69, 0x00, + 0x40, 0x06, 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, 0x72, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x73, 0x20, 0x6c, 0x69, 0x62, 0x3d, + 0x22, 0x67, 0x74, 0x6b, 0x2b, 0x22, 0x20, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, + 0x33, 0x2e, 0x31, 0x36, 0x22, 0x2f, 0x3e, 0x3c, + 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, + 0x47, 0x61, 0x6d, 0x65, 0x73, 0x43, 0x6f, 0x6c, + 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x63, 0x6f, 0x6e, 0x56, 0x69, 0x65, 0x77, 0x22, + 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, + 0x22, 0x47, 0x74, 0x6b, 0x53, 0x74, 0x61, 0x63, + 0x6b, 0x22, 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, + 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, 0x76, 0x69, 0x73, 0x69, 0x62, - 0x6c, 0x65, 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, + 0x65, 0x3d, 0x22, 0x63, 0x61, 0x6e, 0x2d, 0x66, + 0x6f, 0x63, 0x75, 0x73, 0x22, 0x3e, 0x46, 0x61, + 0x6c, 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, 0x61, 0x6d, 0x65, + 0x73, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x43, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x65, 0x6d, + 0x70, 0x74, 0x79, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 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, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3e, + 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2d, 0x63, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x79, 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, + 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, 0x68, - 0x62, 0x6f, 0x78, 0x31, 0x22, 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, 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, 0x76, 0x69, 0x73, - 0x69, 0x62, 0x6c, 0x65, 0x22, 0x3e, 0x54, 0x72, + 0x73, 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x53, 0x63, + 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x57, 0x69, + 0x6e, 0x64, 0x6f, 0x77, 0x22, 0x20, 0x69, 0x64, + 0x3d, 0x22, 0x73, 0x63, 0x72, 0x6f, 0x6c, 0x6c, + 0x65, 0x64, 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, + 0x77, 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, 0x2d, 0x66, + 0x6f, 0x63, 0x75, 0x73, 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, 0x6f, 0x72, 0x69, - 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, - 0x22, 0x3e, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, - 0x6e, 0x74, 0x61, 0x6c, 0x3c, 0x2f, 0x70, 0x72, + 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x73, 0x68, 0x61, + 0x64, 0x6f, 0x77, 0x2d, 0x74, 0x79, 0x70, 0x65, + 0x22, 0x3e, 0x69, 0x6e, 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, 0x20, 0x69, 0x64, 0x3d, - 0x22, 0x73, 0x69, 0x64, 0x65, 0x62, 0x61, 0x72, - 0x5f, 0x76, 0x62, 0x6f, 0x78, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x68, - 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x22, 0x3e, - 0x66, 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, + 0x73, 0x63, 0x72, 0x6f, 0x6c, 0x6c, 0x62, 0x61, + 0x72, 0x2d, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, + 0x22, 0x3e, 0x6e, 0x65, 0x76, 0x65, 0x72, 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, 0x76, 0x73, 0x63, 0x72, 0x6f, 0x6c, + 0x6c, 0x62, 0x61, 0x72, 0x2d, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x22, 0x3e, 0x61, 0x75, 0x74, + 0x6f, 0x6d, 0x61, 0x74, 0x69, 0x63, 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, 0x6b, 0x69, 0x6e, 0x65, 0x74, 0x69, 0x63, + 0x2d, 0x73, 0x63, 0x72, 0x6f, 0x6c, 0x6c, 0x69, + 0x6e, 0x67, 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, 0x6f, 0x76, 0x65, 0x72, 0x6c, + 0x61, 0x79, 0x2d, 0x73, 0x63, 0x72, 0x6f, 0x6c, + 0x6c, 0x69, 0x6e, 0x67, 0x22, 0x3e, 0x54, 0x72, + 0x75, 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x73, 0x74, + 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x22, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x2d, 0x76, 0x69, 0x65, 0x77, 0x22, 0x2f, 0x3e, + 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 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, 0x46, 0x6c, 0x6f, 0x77, 0x42, 0x6f, 0x78, + 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x66, 0x6c, + 0x6f, 0x77, 0x5f, 0x62, 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, 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, 0x74, 0x61, 0x63, 0x6b, 0x53, 0x69, - 0x64, 0x65, 0x62, 0x61, 0x72, 0x22, 0x20, 0x69, - 0x64, 0x3d, 0x22, 0x73, 0x69, 0x64, 0x65, 0x62, - 0x61, 0x72, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, - 0x6d, 0x65, 0x3d, 0x22, 0x6d, 0x61, 0x72, 0x67, - 0x69, 0x6e, 0x2d, 0x74, 0x6f, 0x70, 0x22, 0x3e, - 0x34, 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, 0x74, 0x61, 0x63, - 0x6b, 0x22, 0x3e, 0x73, 0x74, 0x61, 0x63, 0x6b, - 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, 0x76, 0x65, 0x78, 0x70, 0x61, - 0x6e, 0x64, 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, + 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, + 0x63, 0x61, 0x6e, 0x2d, 0x66, 0x6f, 0x63, 0x75, + 0x73, 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, 0x68, 0x61, 0x6c, 0x69, 0x67, 0x6e, + 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 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, 0x76, 0x69, 0x73, 0x69, 0x62, - 0x6c, 0x65, 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, + 0x65, 0x3d, 0x22, 0x76, 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, 0x77, 0x69, 0x64, 0x74, 0x68, - 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, - 0x22, 0x3e, 0x31, 0x35, 0x30, 0x3c, 0x2f, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, - 0x3c, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x6e, 0x61, - 0x6d, 0x65, 0x3d, 0x22, 0x70, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x22, - 0x2f, 0x3e, 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, - 0x65, 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, 0x3e, 0x3c, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x53, 0x65, 0x70, - 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x20, - 0x69, 0x64, 0x3d, 0x22, 0x73, 0x65, 0x70, 0x61, - 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 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, - 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, + 0x65, 0x3d, 0x22, 0x6d, 0x61, 0x72, 0x67, 0x69, + 0x6e, 0x2d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x22, + 0x3e, 0x32, 0x38, 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, 0x2d, 0x65, 0x6e, 0x64, + 0x22, 0x3e, 0x32, 0x38, 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, 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, - 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 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, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x22, 0x20, - 0x69, 0x64, 0x3d, 0x22, 0x73, 0x74, 0x61, 0x63, - 0x6b, 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, 0x65, 0x78, 0x70, 0x61, 0x6e, - 0x64, 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, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, - 0x65, 0x2d, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x22, - 0x3e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x70, - 0x61, 0x67, 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, 0x72, - 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, - 0x2d, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3e, 0x47, - 0x54, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x43, 0x4b, - 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, - 0x5f, 0x43, 0x52, 0x4f, 0x53, 0x53, 0x46, 0x41, - 0x44, 0x45, 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, 0x61, 0x6d, 0x65, 0x73, - 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x73, 0x50, 0x61, 0x67, 0x65, 0x56, - 0x69, 0x64, 0x65, 0x6f, 0x22, 0x20, 0x69, 0x64, - 0x3d, 0x22, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, - 0x70, 0x61, 0x67, 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, 0x2f, - 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3e, 0x3c, - 0x70, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x3e, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6d, + 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x74, 0x6f, + 0x70, 0x22, 0x3e, 0x32, 0x31, 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, - 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x76, 0x69, - 0x64, 0x65, 0x6f, 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, 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, - 0x56, 0x69, 0x64, 0x65, 0x6f, 0x3c, 0x2f, 0x70, + 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x62, + 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x22, 0x3e, 0x32, + 0x31, 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, 0x6f, 0x6d, 0x6f, + 0x67, 0x65, 0x6e, 0x65, 0x6f, 0x75, 0x73, 0x22, + 0x3e, 0x54, 0x72, 0x75, 0x65, 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, 0x61, 0x6d, 0x65, 0x73, 0x50, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, - 0x50, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x22, - 0x20, 0x69, 0x64, 0x3d, 0x22, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x73, - 0x5f, 0x70, 0x61, 0x67, 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, - 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, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x63, - 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, - 0x72, 0x73, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, + 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, + 0x63, 0x6f, 0x6c, 0x75, 0x6d, 0x6e, 0x2d, 0x73, + 0x70, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x22, 0x3e, + 0x31, 0x34, 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, 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, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, - 0x72, 0x73, 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, 0x61, 0x6d, - 0x65, 0x73, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, - 0x65, 0x6e, 0x63, 0x65, 0x73, 0x50, 0x61, 0x67, - 0x65, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, - 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x70, 0x6c, - 0x75, 0x67, 0x69, 0x6e, 0x73, 0x5f, 0x70, 0x61, - 0x67, 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, 0x2f, 0x6f, 0x62, + 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x72, 0x6f, 0x77, + 0x2d, 0x73, 0x70, 0x61, 0x63, 0x69, 0x6e, 0x67, + 0x22, 0x3e, 0x31, 0x34, 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, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x2d, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x3e, 0x6e, + 0x6f, 0x6e, 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x73, + 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x63, 0x68, 0x69, 0x6c, + 0x64, 0x2d, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x64, 0x22, 0x20, 0x68, 0x61, 0x6e, + 0x64, 0x6c, 0x65, 0x72, 0x3d, 0x22, 0x6f, 0x6e, + 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x5f, 0x61, + 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, + 0x22, 0x2f, 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, 0x70, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6e, 0x61, - 0x6d, 0x65, 0x22, 0x3e, 0x70, 0x6c, 0x75, 0x67, - 0x69, 0x6e, 0x73, 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, 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, - 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, - 0x6e, 0x73, 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, + 0x6d, 0x65, 0x22, 0x3e, 0x63, 0x6f, 0x6c, 0x6c, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x76, + 0x69, 0x65, 0x77, 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, 0x6f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x20, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x53, 0x69, - 0x7a, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, - 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, - 0x22, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x3e, 0x47, - 0x54, 0x4b, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x5f, - 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x48, 0x4f, - 0x52, 0x49, 0x5a, 0x4f, 0x4e, 0x54, 0x41, 0x4c, - 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x79, 0x3e, 0x3c, 0x77, 0x69, 0x64, 0x67, - 0x65, 0x74, 0x73, 0x3e, 0x3c, 0x77, 0x69, 0x64, - 0x67, 0x65, 0x74, 0x20, 0x6e, 0x61, 0x6d, 0x65, - 0x3d, 0x22, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x68, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x61, - 0x72, 0x22, 0x2f, 0x3e, 0x3c, 0x77, 0x69, 0x64, - 0x67, 0x65, 0x74, 0x20, 0x6e, 0x61, 0x6d, 0x65, - 0x3d, 0x22, 0x73, 0x69, 0x64, 0x65, 0x62, 0x61, - 0x72, 0x22, 0x2f, 0x3e, 0x3c, 0x2f, 0x77, 0x69, - 0x64, 0x67, 0x65, 0x74, 0x73, 0x3e, 0x3c, 0x2f, - 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3e, 0x3c, + 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, + 0x6d, 0x65, 0x6e, 0x75, 0x73, 0x2e, 0x75, 0x69, + 0x54, 0x02, 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, 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, + 0x30, 0x20, 0x2d, 0x2d, 0x3e, 0x3c, 0x6d, 0x65, + 0x6e, 0x75, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x61, + 0x70, 0x70, 0x2d, 0x6d, 0x65, 0x6e, 0x75, 0x22, + 0x3e, 0x3c, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x3e, 0x3c, 0x61, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x20, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x22, 0x69, 0x64, 0x22, 0x3e, 0x70, + 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, + 0x65, 0x73, 0x2d, 0x73, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x3c, 0x2f, 0x61, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x3e, 0x3c, 0x69, + 0x74, 0x65, 0x6d, 0x3e, 0x3c, 0x61, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 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, 0x5f, + 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x73, 0x3c, 0x2f, 0x61, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x3e, 0x3c, + 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3e, + 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x3c, + 0x2f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x3e, 0x3c, 0x2f, 0x69, 0x74, 0x65, + 0x6d, 0x3e, 0x3c, 0x2f, 0x73, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x3e, 0x3c, 0x73, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x64, 0x3d, + 0x22, 0x61, 0x70, 0x70, 0x2d, 0x6d, 0x65, 0x6e, + 0x75, 0x2d, 0x68, 0x65, 0x6c, 0x70, 0x2d, 0x73, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3e, + 0x3c, 0x69, 0x74, 0x65, 0x6d, 0x3e, 0x3c, 0x61, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 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, 0x5f, 0x41, 0x62, 0x6f, 0x75, 0x74, 0x3c, + 0x2f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, + 0x74, 0x65, 0x3e, 0x3c, 0x61, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x22, 0x3e, 0x61, 0x70, 0x70, 0x2e, + 0x61, 0x62, 0x6f, 0x75, 0x74, 0x3c, 0x2f, 0x61, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x3e, 0x3c, 0x2f, 0x69, 0x74, 0x65, 0x6d, 0x3e, + 0x3c, 0x69, 0x74, 0x65, 0x6d, 0x3e, 0x3c, 0x61, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 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, 0x5f, 0x51, 0x75, 0x69, 0x74, 0x3c, 0x2f, + 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x3e, 0x3c, 0x61, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x20, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x22, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x3e, 0x61, 0x70, 0x70, 0x2e, 0x71, + 0x75, 0x69, 0x74, 0x3c, 0x2f, 0x61, 0x74, 0x74, + 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x3e, 0x3c, + 0x2f, 0x69, 0x74, 0x65, 0x6d, 0x3e, 0x3c, 0x2f, + 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3e, + 0x3c, 0x2f, 0x6d, 0x65, 0x6e, 0x75, 0x3e, 0x3c, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x3e, 0x0a, 0x00, 0x00, 0x28, 0x75, - 0x75, 0x61, 0x79, 0x29, 0x6f, 0x72, 0x67, 0x2f, - 0x1f, 0x00, 0x00, 0x00, 0x63, 0x6f, 0x6c, 0x6c, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x62, - 0x6f, 0x78, 0x2e, 0x75, 0x69, 0x00, 0x00, 0x00, - 0x23, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x75, 0x61, 0x79, 0x29, 0x70, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2d, + 0x70, 0x61, 0x67, 0x65, 0x2d, 0x76, 0x69, 0x64, + 0x65, 0x6f, 0x2e, 0x75, 0x69, 0x00, 0x00, 0x00, + 0x55, 0x06, 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, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x73, 0x20, 0x6c, 0x69, 0x62, 0x3d, - 0x22, 0x67, 0x74, 0x6b, 0x2b, 0x22, 0x20, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, - 0x33, 0x2e, 0x31, 0x36, 0x22, 0x2f, 0x3e, 0x3c, - 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, - 0x47, 0x61, 0x6d, 0x65, 0x73, 0x43, 0x6f, 0x6c, - 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, - 0x6f, 0x78, 0x22, 0x20, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 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, 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, 0x70, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, - 0x6d, 0x65, 0x3d, 0x22, 0x73, 0x70, 0x61, 0x63, - 0x69, 0x6e, 0x67, 0x22, 0x3e, 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, 0x68, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x22, - 0x3e, 0x66, 0x69, 0x6c, 0x6c, 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, - 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x22, 0x3e, - 0x66, 0x69, 0x6c, 0x6c, 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, - 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x22, 0x3e, - 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, + 0x65, 0x3e, 0x3c, 0x74, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x3d, 0x22, 0x47, 0x61, 0x6d, 0x65, 0x73, + 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x73, 0x50, 0x61, 0x67, 0x65, 0x56, + 0x69, 0x64, 0x65, 0x6f, 0x22, 0x20, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x47, 0x74, + 0x6b, 0x42, 0x69, 0x6e, 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, - 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x76, - 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x22, 0x3e, - 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, + 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, 0x63, 0x72, 0x6f, 0x6c, 0x6c, + 0x65, 0x64, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, + 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, 0x54, 0x72, 0x75, + 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, 0x56, 0x69, 0x65, + 0x77, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x63, - 0x61, 0x6e, 0x2d, 0x66, 0x6f, 0x63, 0x75, 0x73, + 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, 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, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3e, 0x3c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, - 0x47, 0x61, 0x6d, 0x65, 0x73, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x42, 0x61, 0x72, 0x22, 0x20, - 0x69, 0x64, 0x3d, 0x22, 0x73, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x5f, 0x62, 0x61, 0x72, 0x22, 0x3e, + 0x47, 0x74, 0x6b, 0x46, 0x72, 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, 0x62, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x64, 0x74, + 0x68, 0x22, 0x3e, 0x31, 0x32, 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, - 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x22, - 0x3e, 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, 0x70, + 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x22, 0x3e, + 0x73, 0x74, 0x61, 0x72, 0x74, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, - 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, - 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6e, 0x6f, - 0x74, 0x69, 0x66, 0x79, 0x3a, 0x3a, 0x74, 0x65, - 0x78, 0x74, 0x22, 0x20, 0x68, 0x61, 0x6e, 0x64, - 0x6c, 0x65, 0x72, 0x3d, 0x22, 0x6f, 0x6e, 0x5f, - 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x74, - 0x65, 0x78, 0x74, 0x5f, 0x6e, 0x6f, 0x74, 0x69, - 0x66, 0x79, 0x22, 0x2f, 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, + 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, + 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x74, + 0x79, 0x70, 0x65, 0x22, 0x3e, 0x6e, 0x6f, 0x6e, 0x65, 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, 0x4f, - 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x22, 0x3e, + 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, @@ -7294,63 +2700,18 @@ 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, 0x63, 0x68, 0x69, 0x6c, - 0x64, 0x3e, 0x3c, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, - 0x22, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x43, 0x6f, - 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x49, 0x63, 0x6f, 0x6e, 0x56, 0x69, 0x65, 0x77, - 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x69, 0x63, - 0x6f, 0x6e, 0x5f, 0x76, 0x69, 0x65, 0x77, 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, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, - 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x67, - 0x61, 0x6d, 0x65, 0x2d, 0x61, 0x63, 0x74, 0x69, - 0x76, 0x61, 0x74, 0x65, 0x64, 0x22, 0x20, 0x68, - 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x3d, 0x22, - 0x6f, 0x6e, 0x5f, 0x67, 0x61, 0x6d, 0x65, 0x5f, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x64, 0x22, 0x2f, 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, 0x6f, 0x76, 0x65, 0x72, 0x6c, 0x61, - 0x79, 0x22, 0x3e, 0x3c, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x52, 0x65, 0x76, - 0x65, 0x61, 0x6c, 0x65, 0x72, 0x22, 0x20, 0x69, - 0x64, 0x3d, 0x22, 0x6c, 0x6f, 0x61, 0x64, 0x69, - 0x6e, 0x67, 0x5f, 0x6e, 0x6f, 0x74, 0x69, 0x66, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x72, 0x65, 0x76, 0x65, 0x61, 0x6c, 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, 0x68, 0x61, 0x6c, - 0x69, 0x67, 0x6e, 0x22, 0x3e, 0x63, 0x65, 0x6e, - 0x74, 0x65, 0x72, 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, 0x76, 0x61, - 0x6c, 0x69, 0x67, 0x6e, 0x22, 0x3e, 0x73, 0x74, - 0x61, 0x72, 0x74, 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, + 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, + 0x31, 0x32, 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, 0x69, + 0x73, 0x74, 0x42, 0x6f, 0x78, 0x22, 0x20, 0x69, + 0x64, 0x3d, 0x22, 0x66, 0x69, 0x6c, 0x74, 0x65, + 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x62, 0x6f, 0x78, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x76, 0x69, 0x73, 0x69, @@ -7364,83 +2725,29 @@ 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x73, - 0x70, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x22, 0x3e, - 0x31, 0x38, 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, 0x70, - 0x69, 0x6e, 0x6e, 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, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, - 0x22, 0x3e, 0x54, 0x72, 0x75, 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, 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, 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, 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, 0x4c, - 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 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, 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, 0x75, 0x74, 0x74, 0x6f, - 0x6e, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x3e, 0x6e, + 0x6f, 0x6e, 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x73, + 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x72, 0x6f, 0x77, 0x2d, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x64, 0x22, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, + 0x65, 0x72, 0x3d, 0x22, 0x66, 0x69, 0x6c, 0x74, + 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, + 0x62, 0x6f, 0x78, 0x5f, 0x72, 0x6f, 0x77, 0x5f, + 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, + 0x64, 0x22, 0x2f, 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, 0x6c, 0x61, 0x62, 0x65, 0x6c, + 0x22, 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, @@ -7448,129 +2755,110 @@ 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, 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, 0x72, 0x65, 0x63, - 0x65, 0x69, 0x76, 0x65, 0x73, 0x5f, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x22, 0x3e, 0x46, - 0x61, 0x6c, 0x73, 0x65, 0x3c, 0x2f, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, + 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, + 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x22, 0x3e, 0x63, 0x6c, - 0x6f, 0x73, 0x65, 0x5f, 0x69, 0x63, 0x6f, 0x6e, - 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, 0x61, 0x6c, 0x77, 0x61, 0x79, - 0x73, 0x5f, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x22, 0x3e, 0x54, 0x72, - 0x75, 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x73, 0x69, - 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, - 0x65, 0x3d, 0x22, 0x63, 0x6c, 0x69, 0x63, 0x6b, - 0x65, 0x64, 0x22, 0x20, 0x68, 0x61, 0x6e, 0x64, - 0x6c, 0x65, 0x72, 0x3d, 0x22, 0x6f, 0x6e, 0x5f, - 0x6c, 0x6f, 0x61, 0x64, 0x69, 0x6e, 0x67, 0x5f, - 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6c, 0x6f, - 0x73, 0x65, 0x64, 0x22, 0x2f, 0x3e, 0x3c, 0x73, - 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x63, 0x6c, - 0x61, 0x73, 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, - 0x3d, 0x22, 0x66, 0x6c, 0x61, 0x74, 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, 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x69, 0x6e, - 0x67, 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, 0x61, 0x70, - 0x70, 0x2d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, - 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2f, - 0x3e, 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, + 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, 0x77, 0x65, + 0x69, 0x67, 0x68, 0x74, 0x22, 0x20, 0x76, 0x61, + 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x62, 0x6f, 0x6c, + 0x64, 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, 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, 0x70, 0x61, 0x63, - 0x6b, 0x69, 0x6e, 0x67, 0x3e, 0x3c, 0x70, 0x72, + 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, 0x2f, 0x74, + 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 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, 0x5f, + 0x62, 0x61, 0x72, 0x22, 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, 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, 0x66, 0x69, 0x6c, 0x6c, - 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, 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, 0x74, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x3e, 0x3c, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x63, 0x6c, - 0x61, 0x73, 0x73, 0x3d, 0x22, 0x47, 0x74, 0x6b, - 0x49, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x20, 0x69, - 0x64, 0x3d, 0x22, 0x63, 0x6c, 0x6f, 0x73, 0x65, - 0x5f, 0x69, 0x63, 0x6f, 0x6e, 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, + 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, 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, 0x56, + 0x69, 0x64, 0x65, 0x6f, 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, 0x74, 0x6f, 0x63, 0x6b, 0x22, - 0x3e, 0x67, 0x74, 0x6b, 0x2d, 0x63, 0x6c, 0x6f, - 0x73, 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x2f, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3e, 0x3c, 0x2f, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, - 0x65, 0x3e, 0x0a, 0x00, 0x00, 0x28, 0x75, 0x75, - 0x61, 0x79, 0x29, 0x67, 0x61, 0x6d, 0x65, 0x70, - 0x61, 0x64, 0x2d, 0x74, 0x65, 0x73, 0x74, 0x65, - 0x72, 0x2e, 0x75, 0x69, 0x00, 0x00, 0x00, 0x00, - 0x3e, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3e, + 0x3c, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, + 0x61, 0x63, 0x65, 0x3e, 0x0a, 0x00, 0x00, 0x28, + 0x75, 0x75, 0x61, 0x79, 0x29, 0x64, 0x75, 0x6d, + 0x6d, 0x79, 0x2d, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x2e, 0x75, 0x69, 0x00, 0x00, 0x00, + 0xb9, 0x08, 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, 0x74, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x3d, 0x22, 0x47, 0x61, 0x6d, 0x65, 0x73, - 0x47, 0x61, 0x6d, 0x65, 0x70, 0x61, 0x64, 0x54, - 0x65, 0x73, 0x74, 0x65, 0x72, 0x22, 0x20, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 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, + 0x65, 0x3e, 0x3c, 0x72, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x73, 0x20, 0x6c, 0x69, 0x62, 0x3d, + 0x22, 0x67, 0x74, 0x6b, 0x2b, 0x22, 0x20, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, + 0x33, 0x2e, 0x31, 0x36, 0x22, 0x2f, 0x3e, 0x3c, + 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, + 0x47, 0x61, 0x6d, 0x65, 0x73, 0x44, 0x75, 0x6d, + 0x6d, 0x79, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x22, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 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, 0x68, 0x65, 0x78, 0x70, 0x61, + 0x6e, 0x64, 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, 0x76, 0x65, 0x78, 0x70, 0x61, + 0x6e, 0x64, 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, 0x68, 0x61, 0x6c, 0x69, 0x67, + 0x6e, 0x22, 0x3e, 0x66, 0x69, 0x6c, 0x6c, 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, 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, + 0x22, 0x3e, 0x66, 0x69, 0x6c, 0x6c, 0x3c, 0x2f, 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, + 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, 0x47, 0x72, 0x69, 0x64, 0x22, 0x20, + 0x69, 0x64, 0x3d, 0x22, 0x67, 0x72, 0x69, 0x64, + 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, @@ -7578,74 +2866,127 @@ 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, 0x61, 0x6d, 0x65, 0x73, 0x47, 0x61, 0x6d, - 0x65, 0x70, 0x61, 0x64, 0x56, 0x69, 0x65, 0x77, - 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x67, 0x61, - 0x6d, 0x65, 0x70, 0x61, 0x64, 0x5f, 0x76, 0x69, - 0x65, 0x77, 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, + 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, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, + 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, 0x76, 0x61, 0x6c, 0x69, 0x67, + 0x6e, 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, + 0x72, 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, 0x49, 0x6d, 0x61, + 0x67, 0x65, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, + 0x69, 0x6d, 0x61, 0x67, 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, 0x68, - 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x22, 0x3e, 0x66, - 0x69, 0x6c, 0x6c, 0x3c, 0x2f, 0x70, 0x72, 0x6f, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x69, + 0x63, 0x6f, 0x6e, 0x2d, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0x3e, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, + 0x65, 0x72, 0x2d, 0x66, 0x61, 0x69, 0x6c, 0x2d, + 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x69, 0x63, + 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, 0x69, 0x78, 0x65, 0x6c, + 0x2d, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x3e, 0x32, + 0x35, 0x36, 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, 0x63, 0x65, 0x6e, + 0x74, 0x65, 0x72, 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, 0x76, 0x61, - 0x6c, 0x69, 0x67, 0x6e, 0x22, 0x3e, 0x66, 0x69, - 0x6c, 0x6c, 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, 0x65, 0x78, - 0x70, 0x61, 0x6e, 0x64, 0x22, 0x3e, 0x54, 0x72, - 0x75, 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, + 0x6c, 0x69, 0x67, 0x6e, 0x22, 0x3e, 0x63, 0x65, + 0x6e, 0x74, 0x65, 0x72, 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, 0x2d, 0x62, 0x6f, + 0x74, 0x74, 0x6f, 0x6d, 0x22, 0x3e, 0x32, 0x34, + 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x3e, 0x3c, 0x2f, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 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, + 0x6e, 0x6f, 0x5f, 0x62, 0x6f, 0x78, 0x65, 0x73, + 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 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, 0x75, 0x73, + 0x65, 0x2d, 0x6d, 0x61, 0x72, 0x6b, 0x75, 0x70, + 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, 0x68, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x22, + 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 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, 0x76, 0x65, 0x78, 0x70, 0x61, 0x6e, + 0x64, 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, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, + 0x2d, 0x62, 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x22, + 0x3e, 0x36, 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, 0x76, 0x65, 0x78, - 0x70, 0x61, 0x6e, 0x64, 0x22, 0x3e, 0x54, 0x72, - 0x75, 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 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, 0x67, 0x74, - 0x6b, 0x2f, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, - 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x2d, 0x62, 0x61, 0x72, 0x2e, 0x75, 0x69, - 0xaf, 0x06, 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, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x73, 0x20, 0x6c, 0x69, 0x62, 0x3d, - 0x22, 0x67, 0x74, 0x6b, 0x2b, 0x22, 0x20, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, - 0x33, 0x2e, 0x31, 0x36, 0x22, 0x2f, 0x3e, 0x3c, - 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 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, 0x69, 0x73, 0x20, 0x61, + 0x20, 0x64, 0x75, 0x6d, 0x6d, 0x79, 0x20, 0x67, + 0x61, 0x6d, 0x65, 0x20, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 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, 0x77, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x22, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3d, 0x22, 0x62, 0x6f, 0x6c, 0x64, 0x22, 0x2f, + 0x3e, 0x3c, 0x21, 0x2d, 0x2d, 0x20, 0x22, 0x31, + 0x2e, 0x32, 0x22, 0x20, 0x69, 0x73, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x6f, 0x66, 0x20, 0x22, 0x6c, 0x61, 0x72, + 0x67, 0x65, 0x22, 0x20, 0x2d, 0x2d, 0x3e, 0x3c, + 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, + 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, + 0x73, 0x63, 0x61, 0x6c, 0x65, 0x22, 0x20, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x31, 0x2e, + 0x32, 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, 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, 0x61, 0x6d, 0x65, 0x73, 0x43, 0x6f, 0x6c, - 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, - 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x61, 0x72, - 0x22, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, - 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x48, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x42, 0x61, 0x72, 0x22, 0x3e, + 0x47, 0x74, 0x6b, 0x4c, 0x61, 0x62, 0x65, 0x6c, + 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x64, 0x65, + 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 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, @@ -7653,114 +2994,301 @@ 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, + 0x75, 0x73, 0x65, 0x2d, 0x6d, 0x61, 0x72, 0x6b, + 0x75, 0x70, 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, 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, 0x47, 0x61, 0x6d, - 0x65, 0x73, 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, 0x75, - 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x20, 0x69, 0x64, - 0x3d, 0x22, 0x61, 0x64, 0x64, 0x5f, 0x67, 0x61, - 0x6d, 0x65, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, + 0x65, 0x3d, 0x22, 0x68, 0x61, 0x6c, 0x69, 0x67, + 0x6e, 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, + 0x72, 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, 0x76, 0x69, 0x73, 0x69, - 0x62, 0x6c, 0x65, 0x22, 0x3e, 0x54, 0x72, 0x75, + 0x6d, 0x65, 0x3d, 0x22, 0x76, 0x65, 0x78, 0x70, + 0x61, 0x6e, 0x64, 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, 0x76, 0x61, 0x6c, 0x69, + 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, 0x49, 0x66, + 0x20, 0x79, 0x6f, 0x75, 0x20, 0x73, 0x65, 0x65, + 0x20, 0x74, 0x68, 0x69, 0x73, 0x2c, 0x20, 0x74, + 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x61, + 0x20, 0x62, 0x75, 0x67, 0x2e, 0x3c, 0x2f, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, + 0x3c, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x64, 0x69, 0x6d, 0x2d, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x2f, 0x3e, + 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, + 0x3c, 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 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, 0x69, 0x6e, 0x73, + 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 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, 0x75, 0x73, 0x65, 0x2d, 0x6d, 0x61, 0x72, + 0x6b, 0x75, 0x70, 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, 0x68, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 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, 0x75, 0x73, 0x65, - 0x2d, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x6c, 0x69, - 0x6e, 0x65, 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, - 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x79, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, + 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x76, 0x65, 0x78, + 0x70, 0x61, 0x6e, 0x64, 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, 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, 0x50, + 0x6c, 0x65, 0x61, 0x73, 0x65, 0x20, 0x63, 0x6f, + 0x6e, 0x74, 0x61, 0x63, 0x74, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, + 0x70, 0x65, 0x72, 0x73, 0x2e, 0x3c, 0x2f, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, + 0x3c, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x64, 0x69, 0x6d, 0x2d, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x2f, 0x3e, + 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 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, 0x70, 0x61, 0x63, 0x6b, 0x69, + 0x6e, 0x67, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, - 0x65, 0x3d, 0x22, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x2d, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3e, - 0x61, 0x70, 0x70, 0x2e, 0x61, 0x64, 0x64, 0x2d, - 0x67, 0x61, 0x6d, 0x65, 0x2d, 0x66, 0x69, 0x6c, - 0x65, 0x73, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x73, 0x74, - 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, - 0x22, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2d, 0x62, - 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x2f, 0x3e, - 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, - 0x3c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x20, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2d, - 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3d, 0x22, 0x61, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, - 0x65, 0x22, 0x3e, 0x3c, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x3d, 0x22, 0x41, 0x74, 0x6b, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x22, 0x20, 0x69, 0x64, 0x3d, - 0x22, 0x61, 0x31, 0x31, 0x79, 0x2d, 0x62, 0x61, - 0x63, 0x6b, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, - 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x2d, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0x20, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x3d, 0x22, 0x79, 0x65, 0x73, 0x22, 0x3e, - 0x41, 0x64, 0x64, 0x20, 0x67, 0x61, 0x6d, 0x65, - 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, 0xe2, 0x80, - 0xa6, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x2f, 0x6f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 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, 0x49, 0x6d, - 0x61, 0x67, 0x65, 0x22, 0x20, 0x69, 0x64, 0x3d, - 0x22, 0x61, 0x64, 0x64, 0x5f, 0x67, 0x61, 0x6d, - 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 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, + 0x65, 0x3d, 0x22, 0x65, 0x78, 0x70, 0x61, 0x6e, + 0x64, 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, 0x66, 0x69, 0x6c, 0x6c, 0x22, 0x3e, + 0x54, 0x72, 0x75, 0x65, 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, 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, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x77, 0x69, 0x6e, + 0x64, 0x6f, 0x77, 0x2e, 0x75, 0x69, 0x00, 0x00, + 0x16, 0x08, 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, + 0x21, 0x2d, 0x2d, 0x20, 0x47, 0x65, 0x6e, 0x65, + 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, + 0x74, 0x68, 0x20, 0x67, 0x6c, 0x61, 0x64, 0x65, + 0x20, 0x33, 0x2e, 0x31, 0x38, 0x2e, 0x31, 0x20, + 0x2d, 0x2d, 0x3e, 0x0a, 0x3c, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x3e, 0x3c, + 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, + 0x20, 0x6c, 0x69, 0x62, 0x3d, 0x22, 0x67, 0x74, + 0x6b, 0x2b, 0x22, 0x20, 0x76, 0x65, 0x72, 0x73, + 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x33, 0x2e, 0x31, + 0x36, 0x22, 0x2f, 0x3e, 0x3c, 0x74, 0x65, 0x6d, + 0x70, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x3d, 0x22, 0x47, 0x61, 0x6d, + 0x65, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 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, 0x64, 0x65, + 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x77, 0x69, + 0x64, 0x74, 0x68, 0x22, 0x3e, 0x37, 0x36, 0x38, + 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, 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, 0x69, 0x63, 0x6f, 0x6e, 0x2d, 0x6e, 0x61, - 0x6d, 0x65, 0x22, 0x3e, 0x6c, 0x69, 0x73, 0x74, - 0x2d, 0x61, 0x64, 0x64, 0x2d, 0x73, 0x79, 0x6d, - 0x62, 0x6f, 0x6c, 0x69, 0x63, 0x3c, 0x2f, 0x70, + 0x22, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x6d, 0x65, + 0x6e, 0x75, 0x62, 0x61, 0x72, 0x22, 0x3e, 0x46, + 0x61, 0x6c, 0x73, 0x65, 0x3c, 0x2f, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, + 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x64, 0x65, 0x6c, + 0x65, 0x74, 0x65, 0x2d, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x22, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, + 0x3d, 0x22, 0x79, 0x65, 0x73, 0x22, 0x20, 0x68, + 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x3d, 0x22, + 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, + 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, + 0x2f, 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, + 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, + 0x6b, 0x65, 0x79, 0x2d, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x2d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, + 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x3d, 0x22, + 0x79, 0x65, 0x73, 0x22, 0x20, 0x68, 0x61, 0x6e, + 0x64, 0x6c, 0x65, 0x72, 0x3d, 0x22, 0x6f, 0x6e, + 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x72, 0x65, + 0x73, 0x73, 0x65, 0x64, 0x22, 0x2f, 0x3e, 0x3c, + 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x62, 0x75, 0x74, + 0x74, 0x6f, 0x6e, 0x2d, 0x70, 0x72, 0x65, 0x73, + 0x73, 0x2d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, + 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x3d, 0x22, + 0x79, 0x65, 0x73, 0x22, 0x20, 0x68, 0x61, 0x6e, + 0x64, 0x6c, 0x65, 0x72, 0x3d, 0x22, 0x6f, 0x6e, + 0x5f, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x5f, + 0x70, 0x72, 0x65, 0x73, 0x73, 0x65, 0x64, 0x22, + 0x2f, 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, + 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, + 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2d, 0x73, + 0x74, 0x61, 0x74, 0x65, 0x2d, 0x65, 0x76, 0x65, + 0x6e, 0x74, 0x22, 0x20, 0x61, 0x66, 0x74, 0x65, + 0x72, 0x3d, 0x22, 0x79, 0x65, 0x73, 0x22, 0x20, + 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x3d, + 0x22, 0x6f, 0x6e, 0x5f, 0x77, 0x69, 0x6e, 0x64, + 0x6f, 0x77, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x65, + 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, 0x2f, + 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6e, + 0x6f, 0x74, 0x69, 0x66, 0x79, 0x3a, 0x3a, 0x68, + 0x61, 0x73, 0x2d, 0x74, 0x6f, 0x70, 0x6c, 0x65, + 0x76, 0x65, 0x6c, 0x2d, 0x66, 0x6f, 0x63, 0x75, + 0x73, 0x22, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, + 0x3d, 0x22, 0x79, 0x65, 0x73, 0x22, 0x20, 0x68, + 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x3d, 0x22, + 0x6f, 0x6e, 0x5f, 0x74, 0x6f, 0x70, 0x6c, 0x65, + 0x76, 0x65, 0x6c, 0x5f, 0x66, 0x6f, 0x63, 0x75, + 0x73, 0x22, 0x2f, 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, 0x74, 0x61, + 0x63, 0x6b, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, + 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, + 0x62, 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, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3e, 0x3c, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x47, 0x61, + 0x6d, 0x65, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x6f, 0x78, + 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x63, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x62, 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, 0x73, + 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x67, 0x61, 0x6d, 0x65, + 0x2d, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, + 0x65, 0x64, 0x22, 0x20, 0x68, 0x61, 0x6e, 0x64, + 0x6c, 0x65, 0x72, 0x3d, 0x22, 0x6f, 0x6e, 0x5f, + 0x67, 0x61, 0x6d, 0x65, 0x5f, 0x61, 0x63, 0x74, + 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2f, + 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, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0x3e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 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, 0x61, + 0x6d, 0x65, 0x73, 0x44, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x42, 0x6f, 0x78, 0x22, 0x20, 0x69, + 0x64, 0x3d, 0x22, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x5f, 0x62, 0x6f, 0x78, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, - 0x69, 0x63, 0x6f, 0x6e, 0x2d, 0x73, 0x69, 0x7a, - 0x65, 0x22, 0x3e, 0x31, 0x3c, 0x2f, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, + 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, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x62, 0x61, + 0x63, 0x6b, 0x22, 0x20, 0x68, 0x61, 0x6e, 0x64, + 0x6c, 0x65, 0x72, 0x3d, 0x22, 0x6f, 0x6e, 0x5f, + 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, + 0x62, 0x61, 0x63, 0x6b, 0x22, 0x2f, 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, 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, 0x2d, 0x74, - 0x79, 0x70, 0x65, 0x22, 0x3e, 0x73, 0x74, 0x61, - 0x72, 0x74, 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, + 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, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 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, 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, 0x53, 0x74, 0x61, + 0x63, 0x6b, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, + 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, + 0x61, 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, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3e, 0x3c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x63, 0x6c, - 0x61, 0x73, 0x73, 0x3d, 0x22, 0x47, 0x74, 0x6b, - 0x54, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x42, 0x75, - 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x20, 0x69, 0x64, - 0x3d, 0x22, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x61, 0x73, 0x73, 0x3d, 0x22, 0x47, 0x61, 0x6d, + 0x65, 0x73, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x42, 0x61, 0x72, 0x22, 0x20, 0x69, + 0x64, 0x3d, 0x22, 0x63, 0x6f, 0x6c, 0x6c, 0x65, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x68, 0x65, + 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x61, 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, @@ -7768,104 +3296,146 @@ 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, 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, - 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, - 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, 0x75, 0x73, 0x65, 0x2d, 0x75, - 0x6e, 0x64, 0x65, 0x72, 0x6c, 0x69, 0x6e, 0x65, - 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, + 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, 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, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0x3e, 0x63, 0x6f, 0x6c, 0x6c, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x3e, 0x3c, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, - 0x3c, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x6e, - 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x69, 0x6d, 0x61, - 0x67, 0x65, 0x2d, 0x62, 0x75, 0x74, 0x74, 0x6f, - 0x6e, 0x22, 0x2f, 0x3e, 0x3c, 0x2f, 0x73, 0x74, - 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x63, 0x68, 0x69, - 0x6c, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x2d, 0x63, 0x68, 0x69, 0x6c, - 0x64, 0x3d, 0x22, 0x61, 0x63, 0x63, 0x65, 0x73, - 0x73, 0x69, 0x62, 0x6c, 0x65, 0x22, 0x3e, 0x3c, - 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x63, - 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x41, 0x74, - 0x6b, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, - 0x20, 0x69, 0x64, 0x3d, 0x22, 0x61, 0x31, 0x31, - 0x79, 0x2d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, - 0x3d, 0x22, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x69, 0x62, 0x6c, 0x65, 0x2d, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x6c, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x3d, - 0x22, 0x79, 0x65, 0x73, 0x22, 0x3e, 0x53, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x3c, 0x2f, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, - 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 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, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x20, - 0x69, 0x64, 0x3d, 0x22, 0x73, 0x65, 0x61, 0x72, - 0x63, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 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, 0x69, 0x63, 0x6f, 0x6e, 0x2d, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x65, 0x64, 0x69, - 0x74, 0x2d, 0x66, 0x69, 0x6e, 0x64, 0x2d, 0x73, - 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x69, 0x63, 0x3c, + 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, 0x61, 0x6d, 0x65, 0x73, 0x44, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x48, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x42, 0x61, 0x72, 0x22, 0x20, + 0x69, 0x64, 0x3d, 0x22, 0x64, 0x69, 0x73, 0x70, + 0x6c, 0x61, 0x79, 0x5f, 0x68, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x5f, 0x62, 0x61, 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, + 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, 0x69, 0x63, 0x6f, 0x6e, 0x2d, 0x73, - 0x69, 0x7a, 0x65, 0x22, 0x3e, 0x31, 0x3c, 0x2f, - 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x79, 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, + 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, + 0x62, 0x61, 0x63, 0x6b, 0x22, 0x20, 0x68, 0x61, + 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x3d, 0x22, 0x6f, + 0x6e, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x5f, 0x62, 0x61, 0x63, 0x6b, 0x22, 0x2f, 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, 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, - 0x2d, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3e, 0x65, - 0x6e, 0x64, 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, 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, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x73, 0x2d, 0x70, 0x61, 0x67, 0x65, 0x2d, - 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, 0x2d, - 0x69, 0x74, 0x65, 0x6d, 0x2e, 0x75, 0x69, 0x00, - 0x78, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 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, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0x3e, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, + 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, 0x67, 0x61, + 0x6d, 0x65, 0x70, 0x61, 0x64, 0x2d, 0x6d, 0x61, + 0x70, 0x70, 0x65, 0x72, 0x2e, 0x75, 0x69, 0x00, + 0x0d, 0x04, 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, 0x31, 0x36, 0x20, 0x2d, 0x2d, 0x3e, 0x3c, - 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x65, 0x3e, 0x3c, 0x74, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x3d, 0x22, 0x47, 0x61, 0x6d, 0x65, 0x73, + 0x47, 0x61, 0x6d, 0x65, 0x70, 0x61, 0x64, 0x4d, + 0x61, 0x70, 0x70, 0x65, 0x72, 0x22, 0x20, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 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, 0x61, 0x6d, 0x65, 0x73, 0x50, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, - 0x50, 0x61, 0x67, 0x65, 0x50, 0x6c, 0x75, 0x67, - 0x69, 0x6e, 0x73, 0x49, 0x74, 0x65, 0x6d, 0x22, - 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, - 0x22, 0x47, 0x74, 0x6b, 0x42, 0x6f, 0x78, 0x22, + 0x47, 0x61, 0x6d, 0x65, 0x73, 0x47, 0x61, 0x6d, + 0x65, 0x70, 0x61, 0x64, 0x56, 0x69, 0x65, 0x77, + 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x67, 0x61, + 0x6d, 0x65, 0x70, 0x61, 0x64, 0x5f, 0x76, 0x69, + 0x65, 0x77, 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, 0x68, 0x61, 0x6c, 0x69, + 0x67, 0x6e, 0x22, 0x3e, 0x66, 0x69, 0x6c, 0x6c, + 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, 0x76, 0x61, 0x6c, 0x69, 0x67, + 0x6e, 0x22, 0x3e, 0x66, 0x69, 0x6c, 0x6c, 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, 0x65, 0x78, 0x70, 0x61, 0x6e, + 0x64, 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, 0x76, 0x65, 0x78, 0x70, 0x61, 0x6e, + 0x64, 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, 0x3c, + 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x3e, 0x3c, 0x2f, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 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, 0x41, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x42, 0x61, 0x72, 0x22, 0x20, 0x69, + 0x64, 0x3d, 0x22, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x62, 0x61, 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, + 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, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x20, + 0x69, 0x64, 0x3d, 0x22, 0x73, 0x6b, 0x69, 0x70, + 0x5f, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 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, @@ -7873,652 +3443,53 @@ 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, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, - 0x22, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x22, - 0x3e, 0x36, 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, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, - 0x6e, 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, 0x74, - 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, 0x78, 0x61, - 0x6c, 0x69, 0x67, 0x6e, 0x22, 0x3e, 0x30, 0x3c, + 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, 0x53, 0x6b, 0x69, 0x70, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x79, 0x3e, 0x3c, 0x2f, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x3e, 0x3c, 0x2f, 0x63, 0x68, 0x69, + 0x79, 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, + 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, + 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x22, + 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, + 0x3d, 0x22, 0x6f, 0x6e, 0x5f, 0x73, 0x6b, 0x69, + 0x70, 0x5f, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x65, + 0x64, 0x22, 0x2f, 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, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x22, + 0x3e, 0x73, 0x74, 0x61, 0x72, 0x74, 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, 0x70, - 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x5f, 0x64, 0x65, - 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, + 0x64, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, + 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x22, 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, 0x69, 0x6e, 0x66, + 0x6f, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, + 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, 0x74, 0x72, 0x75, 0x65, + 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, 0x78, 0x61, 0x6c, 0x69, 0x67, - 0x6e, 0x22, 0x3e, 0x30, 0x3c, 0x2f, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, - 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x63, - 0x6c, 0x61, 0x73, 0x73, 0x20, 0x6e, 0x61, 0x6d, - 0x65, 0x3d, 0x22, 0x64, 0x69, 0x6d, 0x2d, 0x6c, - 0x61, 0x62, 0x65, 0x6c, 0x22, 0x2f, 0x3e, 0x3c, - 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 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, - 0x6d, 0x65, 0x6e, 0x75, 0x73, 0x2e, 0x75, 0x69, - 0x54, 0x02, 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, 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, - 0x30, 0x20, 0x2d, 0x2d, 0x3e, 0x3c, 0x6d, 0x65, - 0x6e, 0x75, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x61, - 0x70, 0x70, 0x2d, 0x6d, 0x65, 0x6e, 0x75, 0x22, - 0x3e, 0x3c, 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x3e, 0x3c, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x20, 0x6e, 0x61, 0x6d, - 0x65, 0x3d, 0x22, 0x69, 0x64, 0x22, 0x3e, 0x70, - 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, - 0x65, 0x73, 0x2d, 0x73, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x3c, 0x2f, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x3e, 0x3c, 0x69, - 0x74, 0x65, 0x6d, 0x3e, 0x3c, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 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, 0x5f, - 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x73, 0x3c, 0x2f, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x3e, 0x3c, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3e, - 0x61, 0x70, 0x70, 0x2e, 0x70, 0x72, 0x65, 0x66, - 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x3c, - 0x2f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x3e, 0x3c, 0x2f, 0x69, 0x74, 0x65, - 0x6d, 0x3e, 0x3c, 0x2f, 0x73, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x3e, 0x3c, 0x73, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x69, 0x64, 0x3d, - 0x22, 0x61, 0x70, 0x70, 0x2d, 0x6d, 0x65, 0x6e, - 0x75, 0x2d, 0x68, 0x65, 0x6c, 0x70, 0x2d, 0x73, - 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3e, - 0x3c, 0x69, 0x74, 0x65, 0x6d, 0x3e, 0x3c, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 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, 0x5f, 0x41, 0x62, 0x6f, 0x75, 0x74, 0x3c, - 0x2f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x3e, 0x3c, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x6e, 0x61, - 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x3e, 0x61, 0x70, 0x70, 0x2e, - 0x61, 0x62, 0x6f, 0x75, 0x74, 0x3c, 0x2f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x3e, 0x3c, 0x2f, 0x69, 0x74, 0x65, 0x6d, 0x3e, - 0x3c, 0x69, 0x74, 0x65, 0x6d, 0x3e, 0x3c, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 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, 0x5f, 0x51, 0x75, 0x69, 0x74, 0x3c, 0x2f, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x3e, 0x3c, 0x61, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x20, 0x6e, 0x61, 0x6d, - 0x65, 0x3d, 0x22, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x3e, 0x61, 0x70, 0x70, 0x2e, 0x71, - 0x75, 0x69, 0x74, 0x3c, 0x2f, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x3e, 0x3c, - 0x2f, 0x69, 0x74, 0x65, 0x6d, 0x3e, 0x3c, 0x2f, - 0x73, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3e, - 0x3c, 0x2f, 0x6d, 0x65, 0x6e, 0x75, 0x3e, 0x3c, - 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, - 0x63, 0x65, 0x3e, 0x0a, 0x00, 0x00, 0x28, 0x75, - 0x75, 0x61, 0x79, 0x29, 0x64, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 0x2d, 0x62, 0x6f, 0x78, 0x2e, - 0x75, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xc4, 0x07, 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, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x73, 0x20, 0x6c, 0x69, 0x62, 0x3d, - 0x22, 0x67, 0x74, 0x6b, 0x2b, 0x22, 0x20, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, - 0x33, 0x2e, 0x31, 0x36, 0x22, 0x2f, 0x3e, 0x3c, - 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, - 0x47, 0x61, 0x6d, 0x65, 0x73, 0x44, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x42, 0x6f, 0x78, 0x22, - 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, - 0x22, 0x47, 0x74, 0x6b, 0x45, 0x76, 0x65, 0x6e, - 0x74, 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, 0x2d, 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, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, - 0x3e, 0x47, 0x44, 0x4b, 0x5f, 0x50, 0x4f, 0x49, - 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x4d, 0x4f, 0x54, - 0x49, 0x4f, 0x4e, 0x5f, 0x4d, 0x41, 0x53, 0x4b, - 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x79, 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, - 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, - 0x22, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x3a, - 0x3a, 0x69, 0x73, 0x2d, 0x66, 0x75, 0x6c, 0x6c, - 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x22, 0x20, - 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x3d, - 0x22, 0x6f, 0x6e, 0x5f, 0x66, 0x75, 0x6c, 0x6c, - 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x63, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x22, 0x2f, - 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, - 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6d, - 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x6e, 0x6f, - 0x74, 0x69, 0x66, 0x79, 0x2d, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x22, 0x20, 0x68, 0x61, 0x6e, 0x64, - 0x6c, 0x65, 0x72, 0x3d, 0x22, 0x6f, 0x6e, 0x5f, - 0x6d, 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, - 0x76, 0x65, 0x6e, 0x74, 0x22, 0x2f, 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, - 0x4f, 0x76, 0x65, 0x72, 0x6c, 0x61, 0x79, 0x22, - 0x20, 0x69, 0x64, 0x3d, 0x22, 0x6f, 0x76, 0x65, - 0x72, 0x6c, 0x61, 0x79, 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, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x20, - 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x6f, 0x76, - 0x65, 0x72, 0x6c, 0x61, 0x79, 0x22, 0x3e, 0x3c, - 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x63, - 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x47, 0x74, - 0x6b, 0x52, 0x65, 0x76, 0x65, 0x61, 0x6c, 0x65, - 0x72, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x66, - 0x75, 0x6c, 0x6c, 0x73, 0x63, 0x72, 0x65, 0x65, - 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x5f, 0x62, 0x61, 0x72, 0x5f, 0x72, 0x65, 0x76, - 0x65, 0x61, 0x6c, 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, 0x68, 0x61, 0x6c, 0x69, 0x67, 0x6e, - 0x22, 0x3e, 0x66, 0x69, 0x6c, 0x6c, 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, 0x76, 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, 0x68, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, - 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, 0x76, 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, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x74, 0x79, 0x70, - 0x65, 0x22, 0x3e, 0x73, 0x6c, 0x69, 0x64, 0x65, - 0x2d, 0x64, 0x6f, 0x77, 0x6e, 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, - 0x65, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x3e, - 0x47, 0x44, 0x4b, 0x5f, 0x50, 0x4f, 0x49, 0x4e, - 0x54, 0x45, 0x52, 0x5f, 0x4d, 0x4f, 0x54, 0x49, - 0x4f, 0x4e, 0x5f, 0x4d, 0x41, 0x53, 0x4b, 0x3c, - 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x79, 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, - 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, - 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x3a, 0x3a, - 0x69, 0x73, 0x2d, 0x66, 0x75, 0x6c, 0x6c, 0x73, - 0x63, 0x72, 0x65, 0x65, 0x6e, 0x22, 0x20, 0x68, - 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x3d, 0x22, - 0x6f, 0x6e, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x73, - 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x64, 0x22, 0x2f, 0x3e, - 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, - 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6d, 0x6f, - 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x6e, 0x6f, 0x74, - 0x69, 0x66, 0x79, 0x2d, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x22, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, - 0x65, 0x72, 0x3d, 0x22, 0x6f, 0x6e, 0x5f, 0x6d, - 0x6f, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x22, 0x2f, 0x3e, 0x3c, 0x63, - 0x68, 0x69, 0x6c, 0x64, 0x3e, 0x3c, 0x6f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x20, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x3d, 0x22, 0x47, 0x61, 0x6d, 0x65, - 0x73, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x61, - 0x72, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x66, - 0x75, 0x6c, 0x6c, 0x73, 0x63, 0x72, 0x65, 0x65, - 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x5f, 0x62, 0x61, 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, 0x73, 0x68, - 0x6f, 0x77, 0x5f, 0x63, 0x6c, 0x6f, 0x73, 0x65, - 0x5f, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, - 0x3e, 0x46, 0x61, 0x6c, 0x73, 0x65, 0x3c, 0x2f, - 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, - 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x62, - 0x61, 0x63, 0x6b, 0x22, 0x20, 0x68, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x72, 0x3d, 0x22, 0x6f, 0x6e, - 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x73, 0x63, 0x72, - 0x65, 0x65, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x5f, 0x62, 0x61, 0x72, 0x5f, 0x62, - 0x61, 0x63, 0x6b, 0x22, 0x2f, 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, 0x3e, 0x3c, - 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x63, - 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x47, 0x74, - 0x6b, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x22, 0x20, - 0x69, 0x64, 0x3d, 0x22, 0x73, 0x74, 0x61, 0x63, - 0x6b, 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, 0x63, - 0x68, 0x69, 0x6c, 0x64, 0x3e, 0x3c, 0x6f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x20, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x3d, 0x22, 0x47, 0x61, 0x6d, 0x65, - 0x73, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x44, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x22, 0x20, 0x69, - 0x64, 0x3d, 0x22, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 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, 0x2d, 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, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x65, 0x72, 0x72, - 0x6f, 0x72, 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, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x6f, 0x78, - 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x64, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x62, 0x69, - 0x6e, 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, 0x2d, 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, - 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x64, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 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, 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, 0x47, 0x61, 0x6d, 0x65, - 0x73, 0x2f, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, - 0x05, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, - 0x0d, 0x00, 0x00, 0x00, 0x61, 0x70, 0x70, 0x6c, - 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2d, - 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2e, 0x75, - 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xcb, 0x07, 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, - 0x21, 0x2d, 0x2d, 0x20, 0x47, 0x65, 0x6e, 0x65, - 0x72, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, - 0x74, 0x68, 0x20, 0x67, 0x6c, 0x61, 0x64, 0x65, - 0x20, 0x33, 0x2e, 0x31, 0x38, 0x2e, 0x31, 0x20, - 0x2d, 0x2d, 0x3e, 0x0a, 0x3c, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x3e, 0x3c, - 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x73, - 0x20, 0x6c, 0x69, 0x62, 0x3d, 0x22, 0x67, 0x74, - 0x6b, 0x2b, 0x22, 0x20, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x33, 0x2e, 0x31, - 0x36, 0x22, 0x2f, 0x3e, 0x3c, 0x74, 0x65, 0x6d, - 0x70, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x63, 0x6c, - 0x61, 0x73, 0x73, 0x3d, 0x22, 0x47, 0x61, 0x6d, - 0x65, 0x73, 0x41, 0x70, 0x70, 0x6c, 0x69, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 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, 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, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x77, 0x69, - 0x64, 0x74, 0x68, 0x22, 0x3e, 0x37, 0x36, 0x38, - 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, 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, 0x73, 0x68, 0x6f, 0x77, 0x5f, 0x6d, 0x65, - 0x6e, 0x75, 0x62, 0x61, 0x72, 0x22, 0x3e, 0x46, - 0x61, 0x6c, 0x73, 0x65, 0x3c, 0x2f, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, - 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e, - 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x64, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x2d, 0x65, 0x76, 0x65, 0x6e, - 0x74, 0x22, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, - 0x3d, 0x22, 0x79, 0x65, 0x73, 0x22, 0x20, 0x68, - 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x3d, 0x22, - 0x6f, 0x6e, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, - 0x2f, 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, - 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, - 0x6b, 0x65, 0x79, 0x2d, 0x70, 0x72, 0x65, 0x73, - 0x73, 0x2d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, - 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x3d, 0x22, - 0x79, 0x65, 0x73, 0x22, 0x20, 0x68, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x72, 0x3d, 0x22, 0x6f, 0x6e, - 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x70, 0x72, 0x65, - 0x73, 0x73, 0x65, 0x64, 0x22, 0x2f, 0x3e, 0x3c, - 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e, - 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x77, 0x69, 0x6e, - 0x64, 0x6f, 0x77, 0x2d, 0x73, 0x74, 0x61, 0x74, - 0x65, 0x2d, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x22, - 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x3d, 0x22, - 0x79, 0x65, 0x73, 0x22, 0x20, 0x68, 0x61, 0x6e, - 0x64, 0x6c, 0x65, 0x72, 0x3d, 0x22, 0x6f, 0x6e, - 0x5f, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x5f, - 0x73, 0x74, 0x61, 0x74, 0x65, 0x5f, 0x65, 0x76, - 0x65, 0x6e, 0x74, 0x22, 0x2f, 0x3e, 0x3c, 0x73, - 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e, 0x61, - 0x6d, 0x65, 0x3d, 0x22, 0x6e, 0x6f, 0x74, 0x69, - 0x66, 0x79, 0x3a, 0x3a, 0x68, 0x61, 0x73, 0x2d, - 0x74, 0x6f, 0x70, 0x6c, 0x65, 0x76, 0x65, 0x6c, - 0x2d, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x22, 0x20, - 0x61, 0x66, 0x74, 0x65, 0x72, 0x3d, 0x22, 0x79, - 0x65, 0x73, 0x22, 0x20, 0x68, 0x61, 0x6e, 0x64, - 0x6c, 0x65, 0x72, 0x3d, 0x22, 0x6f, 0x6e, 0x5f, - 0x74, 0x6f, 0x70, 0x6c, 0x65, 0x76, 0x65, 0x6c, - 0x5f, 0x66, 0x6f, 0x63, 0x75, 0x73, 0x22, 0x2f, - 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, 0x74, 0x61, 0x63, 0x6b, 0x22, - 0x20, 0x69, 0x64, 0x3d, 0x22, 0x63, 0x6f, 0x6e, - 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x62, 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, 0x63, 0x68, - 0x69, 0x6c, 0x64, 0x3e, 0x3c, 0x6f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x20, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x3d, 0x22, 0x47, 0x61, 0x6d, 0x65, 0x73, - 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x42, 0x6f, 0x78, 0x22, 0x20, 0x69, - 0x64, 0x3d, 0x22, 0x63, 0x6f, 0x6c, 0x6c, 0x65, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 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, 0x73, 0x69, 0x67, 0x6e, - 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, - 0x22, 0x67, 0x61, 0x6d, 0x65, 0x2d, 0x61, 0x63, - 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, 0x22, - 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, - 0x3d, 0x22, 0x6f, 0x6e, 0x5f, 0x67, 0x61, 0x6d, - 0x65, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x64, 0x22, 0x2f, 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, - 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x63, 0x6f, - 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 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, 0x61, 0x6d, 0x65, 0x73, - 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x42, - 0x6f, 0x78, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, - 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, - 0x62, 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, 0x73, 0x69, - 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, - 0x65, 0x3d, 0x22, 0x62, 0x61, 0x63, 0x6b, 0x22, - 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, - 0x3d, 0x22, 0x6f, 0x6e, 0x5f, 0x64, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x62, 0x61, 0x63, - 0x6b, 0x22, 0x2f, 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, 0x6e, 0x61, - 0x6d, 0x65, 0x22, 0x3e, 0x64, 0x69, 0x73, 0x70, - 0x6c, 0x61, 0x79, 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, 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, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x22, - 0x20, 0x69, 0x64, 0x3d, 0x22, 0x68, 0x65, 0x61, - 0x64, 0x65, 0x72, 0x5f, 0x62, 0x61, 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, 0x63, 0x68, 0x69, - 0x6c, 0x64, 0x3e, 0x3c, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x3d, 0x22, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x43, - 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, - 0x61, 0x72, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, - 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, - 0x72, 0x5f, 0x62, 0x61, 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, 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, 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, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0x3e, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 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, 0x61, - 0x6d, 0x65, 0x73, 0x44, 0x69, 0x73, 0x70, 0x6c, - 0x61, 0x79, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x42, 0x61, 0x72, 0x22, 0x20, 0x69, 0x64, 0x3d, - 0x22, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, - 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, - 0x62, 0x61, 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, 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, - 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e, - 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x62, 0x61, 0x63, - 0x6b, 0x22, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, - 0x65, 0x72, 0x3d, 0x22, 0x6f, 0x6e, 0x5f, 0x64, - 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x5f, 0x62, - 0x61, 0x63, 0x6b, 0x22, 0x2f, 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, - 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x64, 0x69, - 0x73, 0x70, 0x6c, 0x61, 0x79, 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, 0x73, 0x74, 0x61, 0x6e, 0x64, - 0x61, 0x72, 0x64, 0x2d, 0x67, 0x61, 0x6d, 0x65, - 0x70, 0x61, 0x64, 0x2e, 0x73, 0x76, 0x67, 0x00, - 0xaa, 0x42, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x74, 0x79, 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, 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, 0x73, 0x74, 0x61, + 0x6e, 0x64, 0x61, 0x72, 0x64, 0x2d, 0x67, 0x61, + 0x6d, 0x65, 0x70, 0x61, 0x64, 0x2e, 0x73, 0x76, + 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xaa, 0x42, 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, @@ -10653,297 +5624,881 @@ 0x20, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x2f, 0x67, 0x3e, 0x0a, 0x3c, 0x2f, 0x73, 0x76, 0x67, 0x3e, 0x0a, 0x00, 0x00, 0x28, 0x75, 0x75, 0x61, - 0x79, 0x29, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, - 0x79, 0x2d, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x2d, 0x62, 0x61, 0x72, 0x2e, 0x75, 0x69, 0x00, - 0x04, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x79, 0x29, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x2d, + 0x6d, 0x65, 0x6e, 0x75, 0x2d, 0x62, 0x75, 0x74, + 0x74, 0x6f, 0x6e, 0x2e, 0x75, 0x69, 0x00, 0x00, + 0x2d, 0x02, 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, 0x72, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x73, 0x20, 0x6c, 0x69, 0x62, 0x3d, + 0x22, 0x67, 0x74, 0x6b, 0x2b, 0x22, 0x20, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, + 0x33, 0x2e, 0x31, 0x36, 0x22, 0x2f, 0x3e, 0x3c, + 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, + 0x47, 0x61, 0x6d, 0x65, 0x73, 0x4d, 0x65, 0x64, + 0x69, 0x61, 0x4d, 0x65, 0x6e, 0x75, 0x42, 0x75, + 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x20, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x47, 0x74, + 0x6b, 0x4d, 0x65, 0x6e, 0x75, 0x42, 0x75, 0x74, + 0x74, 0x6f, 0x6e, 0x22, 0x3e, 0x3c, 0x73, 0x74, + 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x22, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2d, 0x62, + 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x2f, 0x3e, + 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, + 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6e, 0x6f, + 0x74, 0x69, 0x66, 0x79, 0x3a, 0x3a, 0x6d, 0x65, + 0x64, 0x69, 0x61, 0x2d, 0x73, 0x65, 0x74, 0x22, + 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, + 0x3d, 0x22, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x64, + 0x69, 0x61, 0x5f, 0x73, 0x65, 0x74, 0x5f, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x22, 0x2f, + 0x3e, 0x3c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x20, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x2d, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3d, 0x22, + 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, + 0x6c, 0x65, 0x22, 0x3e, 0x3c, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x20, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x3d, 0x22, 0x41, 0x74, 0x6b, 0x4f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x22, 0x20, 0x69, 0x64, + 0x3d, 0x22, 0x61, 0x31, 0x31, 0x79, 0x2d, 0x64, + 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x2d, 0x64, + 0x69, 0x73, 0x63, 0x73, 0x22, 0x3e, 0x3c, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, + 0x2d, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x3d, 0x22, 0x79, 0x65, 0x73, + 0x22, 0x3e, 0x4d, 0x65, 0x64, 0x69, 0x61, 0x3c, + 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x3e, 0x3c, 0x2f, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 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, 0x49, 0x6d, 0x61, 0x67, + 0x65, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x6d, + 0x65, 0x64, 0x69, 0x61, 0x5f, 0x69, 0x6d, 0x61, + 0x67, 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, 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, 0x73, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x2d, 0x62, 0x61, 0x72, 0x2e, + 0x75, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xfc, 0x01, 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, 0x31, 0x36, 0x20, 0x2d, 0x2d, 0x3e, 0x3c, + 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, + 0x47, 0x61, 0x6d, 0x65, 0x73, 0x53, 0x65, 0x61, + 0x72, 0x63, 0x68, 0x42, 0x61, 0x72, 0x22, 0x20, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x22, + 0x47, 0x74, 0x6b, 0x53, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x42, 0x61, 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, 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, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x45, 0x6e, 0x74, + 0x72, 0x79, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, + 0x65, 0x6e, 0x74, 0x72, 0x79, 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, 0x77, + 0x69, 0x64, 0x74, 0x68, 0x2d, 0x63, 0x68, 0x61, + 0x72, 0x73, 0x22, 0x3e, 0x34, 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, 0x68, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, + 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x73, + 0x65, 0x61, 0x72, 0x63, 0x68, 0x2d, 0x63, 0x68, + 0x61, 0x6e, 0x67, 0x65, 0x64, 0x22, 0x20, 0x68, + 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x3d, 0x22, + 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, + 0x68, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, + 0x64, 0x22, 0x2f, 0x3e, 0x3c, 0x73, 0x69, 0x67, + 0x6e, 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x22, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, + 0x74, 0x65, 0x22, 0x20, 0x68, 0x61, 0x6e, 0x64, + 0x6c, 0x65, 0x72, 0x3d, 0x22, 0x6f, 0x6e, 0x5f, + 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, + 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, + 0x22, 0x2f, 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, 0x67, 0x74, 0x6b, 0x2d, + 0x73, 0x74, 0x79, 0x6c, 0x65, 0x2e, 0x63, 0x73, + 0x73, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x57, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x2f, 0x2a, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, + 0x66, 0x69, 0x6c, 0x65, 0x20, 0x69, 0x73, 0x20, + 0x70, 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, + 0x47, 0x4e, 0x4f, 0x4d, 0x45, 0x20, 0x47, 0x61, + 0x6d, 0x65, 0x73, 0x2e, 0x20, 0x4c, 0x69, 0x63, + 0x65, 0x6e, 0x73, 0x65, 0x3a, 0x20, 0x47, 0x50, + 0x4c, 0x2d, 0x33, 0x2e, 0x30, 0x2b, 0x2e, 0x20, + 0x2a, 0x2f, 0x0a, 0x0a, 0x67, 0x61, 0x6d, 0x65, + 0x73, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x69, 0x63, 0x6f, 0x6e, 0x76, + 0x69, 0x65, 0x77, 0x20, 0x2e, 0x66, 0x72, 0x61, + 0x6d, 0x65, 0x20, 0x7b, 0x0a, 0x09, 0x62, 0x61, + 0x63, 0x6b, 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, + 0x2d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x20, + 0x40, 0x74, 0x68, 0x65, 0x6d, 0x65, 0x5f, 0x62, + 0x61, 0x73, 0x65, 0x5f, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x3b, 0x0a, 0x7d, 0x0a, 0x0a, 0x67, 0x61, + 0x6d, 0x65, 0x73, 0x67, 0x61, 0x6d, 0x65, 0x74, + 0x68, 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, + 0x20, 0x7b, 0x0a, 0x09, 0x62, 0x61, 0x63, 0x6b, + 0x67, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x2d, 0x63, + 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x20, 0x6d, 0x69, + 0x78, 0x20, 0x28, 0x40, 0x74, 0x68, 0x65, 0x6d, + 0x65, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x5f, 0x63, + 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, 0x40, 0x74, + 0x68, 0x65, 0x6d, 0x65, 0x5f, 0x62, 0x67, 0x5f, + 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x2c, 0x20, 0x30, + 0x2e, 0x35, 0x29, 0x3b, 0x0a, 0x09, 0x62, 0x6f, + 0x72, 0x64, 0x65, 0x72, 0x2d, 0x77, 0x69, 0x64, + 0x74, 0x68, 0x3a, 0x20, 0x31, 0x70, 0x78, 0x3b, + 0x0a, 0x09, 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, + 0x2d, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3a, 0x20, + 0x73, 0x6f, 0x6c, 0x69, 0x64, 0x3b, 0x0a, 0x09, + 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x2d, 0x72, + 0x61, 0x64, 0x69, 0x75, 0x73, 0x3a, 0x20, 0x32, + 0x70, 0x78, 0x3b, 0x0a, 0x09, 0x62, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x2d, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x3a, 0x20, 0x40, 0x74, 0x68, 0x65, 0x6d, + 0x65, 0x5f, 0x62, 0x67, 0x5f, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x3b, 0x0a, 0x09, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x3a, 0x20, 0x40, 0x74, 0x68, 0x65, + 0x6d, 0x65, 0x5f, 0x66, 0x67, 0x5f, 0x63, 0x6f, + 0x6c, 0x6f, 0x72, 0x3b, 0x0a, 0x7d, 0x0a, 0x00, + 0x00, 0x28, 0x75, 0x75, 0x61, 0x79, 0x29, 0x67, + 0x61, 0x6d, 0x65, 0x70, 0x61, 0x64, 0x2d, 0x63, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, + 0x72, 0x2e, 0x75, 0x69, 0x00, 0x00, 0x00, 0x00, + 0x10, 0x0b, 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, 0x74, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x3d, 0x22, 0x47, 0x61, 0x6d, 0x65, 0x73, + 0x47, 0x61, 0x6d, 0x65, 0x70, 0x61, 0x64, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, + 0x72, 0x22, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 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, 0x53, + 0x74, 0x61, 0x63, 0x6b, 0x22, 0x20, 0x69, 0x64, + 0x3d, 0x22, 0x73, 0x74, 0x61, 0x63, 0x6b, 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, 0x68, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x22, + 0x3e, 0x66, 0x69, 0x6c, 0x6c, 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, + 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x22, 0x3e, + 0x66, 0x69, 0x6c, 0x6c, 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, + 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 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, 0x76, + 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x22, 0x3e, + 0x54, 0x72, 0x75, 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, + 0x42, 0x6f, 0x78, 0x22, 0x20, 0x69, 0x64, 0x3d, + 0x22, 0x67, 0x61, 0x6d, 0x65, 0x70, 0x61, 0x64, + 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x5f, + 0x68, 0x6f, 0x6c, 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, 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, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0x3e, 0x67, 0x61, 0x6d, 0x65, 0x70, + 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x65, + 0x72, 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, + 0x67, 0x61, 0x6d, 0x65, 0x70, 0x61, 0x64, 0x5f, + 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x68, + 0x6f, 0x6c, 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, 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, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0x3e, 0x67, 0x61, 0x6d, 0x65, 0x70, 0x61, + 0x64, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, + 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, 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, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x72, + 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x61, 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, 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, 0x75, 0x74, 0x74, 0x6f, + 0x6e, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x72, + 0x65, 0x73, 0x65, 0x74, 0x5f, 0x62, 0x75, 0x74, + 0x74, 0x6f, 0x6e, 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, 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, 0x20, 0x63, + 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x3d, 0x22, + 0x47, 0x61, 0x6d, 0x65, 0x70, 0x61, 0x64, 0x20, + 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x61, + 0x63, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x72, 0x65, + 0x73, 0x65, 0x74, 0x22, 0x3e, 0x52, 0x65, 0x73, + 0x65, 0x74, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x73, 0x69, + 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x22, 0x63, 0x6c, 0x69, 0x63, 0x6b, + 0x65, 0x64, 0x22, 0x20, 0x68, 0x61, 0x6e, 0x64, + 0x6c, 0x65, 0x72, 0x3d, 0x22, 0x6f, 0x6e, 0x5f, + 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6c, + 0x69, 0x63, 0x6b, 0x65, 0x64, 0x22, 0x2f, 0x3e, + 0x3c, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x64, 0x65, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2d, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x70, 0x61, 0x63, 0x6b, 0x2d, + 0x74, 0x79, 0x70, 0x65, 0x22, 0x3e, 0x65, 0x6e, + 0x64, 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, + 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x20, 0x69, + 0x64, 0x3d, 0x22, 0x63, 0x6f, 0x6e, 0x66, 0x69, + 0x67, 0x75, 0x72, 0x65, 0x5f, 0x62, 0x75, 0x74, + 0x74, 0x6f, 0x6e, 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, 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, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, + 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, + 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x22, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x64, + 0x22, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, + 0x72, 0x3d, 0x22, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, + 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x5f, + 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x22, + 0x2f, 0x3e, 0x3c, 0x73, 0x74, 0x79, 0x6c, 0x65, + 0x3e, 0x3c, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x73, 0x75, + 0x67, 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x2d, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x70, 0x61, 0x63, 0x6b, 0x2d, + 0x74, 0x79, 0x70, 0x65, 0x22, 0x3e, 0x73, 0x74, + 0x61, 0x72, 0x74, 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, 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, 0x5f, 0x62, 0x61, 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, 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, 0x75, 0x74, 0x74, 0x6f, 0x6e, + 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x62, 0x61, + 0x63, 0x6b, 0x5f, 0x62, 0x75, 0x74, 0x74, 0x6f, + 0x6e, 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, 0x73, 0x69, 0x67, 0x6e, + 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x22, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x64, + 0x22, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, + 0x72, 0x3d, 0x22, 0x6f, 0x6e, 0x5f, 0x62, 0x61, + 0x63, 0x6b, 0x5f, 0x63, 0x6c, 0x69, 0x63, 0x6b, + 0x65, 0x64, 0x22, 0x2f, 0x3e, 0x3c, 0x73, 0x74, + 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x22, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2d, 0x62, + 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x2f, 0x3e, + 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, + 0x3c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x20, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2d, + 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3d, 0x22, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, + 0x65, 0x22, 0x3e, 0x3c, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x3d, 0x22, 0x41, 0x74, 0x6b, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x22, 0x20, 0x69, 0x64, 0x3d, + 0x22, 0x61, 0x31, 0x31, 0x79, 0x2d, 0x62, 0x61, + 0x63, 0x6b, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x2d, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x20, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x3d, 0x22, 0x79, 0x65, 0x73, 0x22, 0x3e, + 0x42, 0x61, 0x63, 0x6b, 0x3c, 0x2f, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, + 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 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, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x20, + 0x69, 0x64, 0x3d, 0x22, 0x62, 0x61, 0x63, 0x6b, + 0x5f, 0x69, 0x6d, 0x61, 0x67, 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, + 0x69, 0x63, 0x6f, 0x6e, 0x2d, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0x3e, 0x67, 0x6f, 0x2d, 0x70, 0x72, + 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x2d, 0x73, + 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x69, 0x63, 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, 0x69, 0x63, 0x6f, 0x6e, 0x2d, 0x73, + 0x69, 0x7a, 0x65, 0x22, 0x3e, 0x31, 0x3c, 0x2f, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 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, 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, + 0x2d, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3e, 0x73, + 0x74, 0x61, 0x72, 0x74, 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, 0x75, 0x74, 0x74, 0x6f, 0x6e, + 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x63, 0x61, + 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x62, 0x75, 0x74, + 0x74, 0x6f, 0x6e, 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, 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, 0x43, + 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x3c, 0x2f, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, + 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x63, 0x6c, + 0x69, 0x63, 0x6b, 0x65, 0x64, 0x22, 0x20, 0x68, + 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x3d, 0x22, + 0x6f, 0x6e, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, + 0x6c, 0x5f, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x65, + 0x64, 0x22, 0x2f, 0x3e, 0x3c, 0x73, 0x74, 0x79, + 0x6c, 0x65, 0x3e, 0x3c, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, + 0x64, 0x65, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x69, 0x76, 0x65, 0x2d, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 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, 0x70, + 0x61, 0x63, 0x6b, 0x2d, 0x74, 0x79, 0x70, 0x65, + 0x22, 0x3e, 0x65, 0x6e, 0x64, 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, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x3e, 0x0a, + 0x00, 0x00, 0x28, 0x75, 0x75, 0x61, 0x79, 0x29, + 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x73, 0x2d, 0x70, 0x61, 0x67, 0x65, + 0x2d, 0x70, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, + 0x2e, 0x75, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x93, 0x05, 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, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x73, 0x20, 0x6c, 0x69, 0x62, 0x3d, - 0x22, 0x67, 0x74, 0x6b, 0x2b, 0x22, 0x20, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, - 0x33, 0x2e, 0x31, 0x36, 0x22, 0x2f, 0x3e, 0x3c, + 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, 0x31, 0x36, 0x20, 0x2d, 0x2d, 0x3e, 0x3c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, - 0x47, 0x61, 0x6d, 0x65, 0x73, 0x44, 0x69, 0x73, - 0x70, 0x6c, 0x61, 0x79, 0x48, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x42, 0x61, 0x72, 0x22, 0x20, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x47, - 0x74, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, - 0x42, 0x61, 0x72, 0x22, 0x3e, 0x3c, 0x70, 0x72, + 0x47, 0x61, 0x6d, 0x65, 0x73, 0x50, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, + 0x50, 0x61, 0x67, 0x65, 0x50, 0x6c, 0x75, 0x67, + 0x69, 0x6e, 0x73, 0x22, 0x20, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x47, 0x74, 0x6b, + 0x42, 0x69, 0x6e, 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, + 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, 0x74, + 0x61, 0x63, 0x6b, 0x22, 0x20, 0x69, 0x64, 0x3d, + 0x22, 0x73, 0x74, 0x61, 0x63, 0x6b, 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, 0x74, 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, - 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, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x3c, - 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x79, 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, - 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, - 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x79, 0x3a, 0x3a, - 0x69, 0x73, 0x2d, 0x66, 0x75, 0x6c, 0x6c, 0x73, - 0x63, 0x72, 0x65, 0x65, 0x6e, 0x22, 0x20, 0x68, - 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x3d, 0x22, - 0x6f, 0x6e, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x73, - 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x64, 0x22, 0x2f, 0x3e, - 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, - 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6e, 0x6f, - 0x74, 0x69, 0x66, 0x79, 0x3a, 0x3a, 0x63, 0x61, - 0x6e, 0x2d, 0x66, 0x75, 0x6c, 0x6c, 0x73, 0x63, - 0x72, 0x65, 0x65, 0x6e, 0x22, 0x20, 0x68, 0x61, - 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x3d, 0x22, 0x6f, - 0x6e, 0x5f, 0x66, 0x75, 0x6c, 0x6c, 0x73, 0x63, - 0x72, 0x65, 0x65, 0x6e, 0x5f, 0x63, 0x68, 0x61, - 0x6e, 0x67, 0x65, 0x64, 0x22, 0x2f, 0x3e, 0x3c, + 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 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, 0x76, + 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x2d, 0x63, + 0x68, 0x69, 0x6c, 0x64, 0x22, 0x3e, 0x70, 0x6c, + 0x75, 0x67, 0x69, 0x6e, 0x73, 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, 0x72, 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, + 0x6f, 0x6e, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x22, + 0x3e, 0x47, 0x54, 0x4b, 0x5f, 0x53, 0x54, 0x41, + 0x43, 0x4b, 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, + 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, + 0x50, 0x45, 0x5f, 0x53, 0x4c, 0x49, 0x44, 0x45, + 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, 0x52, 0x49, + 0x47, 0x48, 0x54, 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, + 0x63, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x57, + 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x22, 0x20, 0x69, + 0x64, 0x3d, 0x22, 0x70, 0x6c, 0x75, 0x67, 0x69, + 0x6e, 0x73, 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, 0x74, 0x72, 0x75, + 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, 0x56, 0x69, 0x65, + 0x77, 0x70, 0x6f, 0x72, 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, + 0x74, 0x72, 0x75, 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, - 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x20, - 0x69, 0x64, 0x3d, 0x22, 0x62, 0x61, 0x63, 0x6b, - 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, 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, - 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, - 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, 0x75, 0x73, 0x65, 0x2d, 0x75, - 0x6e, 0x64, 0x65, 0x72, 0x6c, 0x69, 0x6e, 0x65, - 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, - 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, - 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x63, - 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x22, 0x20, - 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x3d, - 0x22, 0x6f, 0x6e, 0x5f, 0x62, 0x61, 0x63, 0x6b, - 0x5f, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x64, - 0x22, 0x2f, 0x3e, 0x3c, 0x73, 0x74, 0x79, 0x6c, - 0x65, 0x3e, 0x3c, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x2d, 0x62, 0x75, 0x74, - 0x74, 0x6f, 0x6e, 0x22, 0x2f, 0x3e, 0x3c, 0x2f, - 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x63, - 0x68, 0x69, 0x6c, 0x64, 0x20, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2d, 0x63, 0x68, - 0x69, 0x6c, 0x64, 0x3d, 0x22, 0x61, 0x63, 0x63, - 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x22, + 0x42, 0x6f, 0x78, 0x22, 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, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x76, 0x69, 0x73, + 0x69, 0x62, 0x6c, 0x65, 0x22, 0x3e, 0x74, 0x72, + 0x75, 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, 0x46, 0x72, + 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, 0x74, 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, 0x62, 0x6f, 0x72, + 0x64, 0x65, 0x72, 0x2d, 0x77, 0x69, 0x64, 0x74, + 0x68, 0x22, 0x3e, 0x31, 0x32, 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, 0x61, 0x64, 0x6f, 0x77, 0x2d, 0x74, + 0x79, 0x70, 0x65, 0x22, 0x3e, 0x69, 0x6e, 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, - 0x41, 0x74, 0x6b, 0x4f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x61, - 0x31, 0x31, 0x79, 0x2d, 0x62, 0x61, 0x63, 0x6b, + 0x47, 0x74, 0x6b, 0x4c, 0x69, 0x73, 0x74, 0x42, + 0x6f, 0x78, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, + 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x62, 0x6f, 0x78, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, - 0x3d, 0x22, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, - 0x69, 0x62, 0x6c, 0x65, 0x2d, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, - 0x6c, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x3d, - 0x22, 0x79, 0x65, 0x73, 0x22, 0x3e, 0x42, 0x61, - 0x63, 0x6b, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x2f, 0x6f, + 0x3d, 0x22, 0x73, 0x65, 0x6c, 0x65, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 0x2d, 0x6d, 0x6f, 0x64, 0x65, + 0x22, 0x3e, 0x6e, 0x6f, 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, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, + 0x22, 0x3e, 0x74, 0x72, 0x75, 0x65, 0x3c, 0x2f, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 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, 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, 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, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x70, 0x6c, 0x75, + 0x67, 0x69, 0x6e, 0x73, 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, + 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, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, + 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, 0x63, - 0x68, 0x69, 0x6c, 0x64, 0x3e, 0x3c, 0x6f, 0x62, - 0x6a, 0x65, 0x63, 0x74, 0x20, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x22, 0x20, 0x69, 0x64, - 0x3d, 0x22, 0x62, 0x61, 0x63, 0x6b, 0x5f, 0x69, - 0x6d, 0x61, 0x67, 0x65, 0x22, 0x3e, 0x3c, 0x70, + 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3e, 0x3c, 0x2f, + 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 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, + 0x5f, 0x62, 0x61, 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, 0x69, 0x63, - 0x6f, 0x6e, 0x2d, 0x6e, 0x61, 0x6d, 0x65, 0x22, - 0x3e, 0x67, 0x6f, 0x2d, 0x70, 0x72, 0x65, 0x76, - 0x69, 0x6f, 0x75, 0x73, 0x2d, 0x73, 0x79, 0x6d, - 0x62, 0x6f, 0x6c, 0x69, 0x63, 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, - 0x69, 0x63, 0x6f, 0x6e, 0x2d, 0x73, 0x69, 0x7a, - 0x65, 0x22, 0x3e, 0x31, 0x3c, 0x2f, 0x70, 0x72, + 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, + 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x2f, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3e, 0x3c, 0x2f, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, + 0x65, 0x3e, 0x0a, 0x00, 0x00, 0x28, 0x75, 0x75, + 0x61, 0x79, 0x29, 0x67, 0x61, 0x6d, 0x65, 0x70, + 0x61, 0x64, 0x73, 0x2f, 0x14, 0x00, 0x00, 0x00, + 0x47, 0x61, 0x6d, 0x65, 0x73, 0x2f, 0x00, 0x00, + 0x1a, 0x00, 0x00, 0x00, 0x17, 0x00, 0x00, 0x00, + 0x22, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x2d, 0x64, 0x69, + 0x73, 0x70, 0x6c, 0x61, 0x79, 0x2e, 0x75, 0x69, + 0xbd, 0x07, 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, 0x72, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x73, 0x20, 0x6c, 0x69, 0x62, 0x3d, + 0x22, 0x67, 0x74, 0x6b, 0x2b, 0x22, 0x20, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, + 0x33, 0x2e, 0x31, 0x36, 0x22, 0x2f, 0x3e, 0x3c, + 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, + 0x47, 0x61, 0x6d, 0x65, 0x73, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x22, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 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, 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, 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, 0x63, 0x65, + 0x6e, 0x74, 0x65, 0x72, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 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, 0x3e, - 0x3c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x47, - 0x74, 0x6b, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, - 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x66, 0x75, - 0x6c, 0x6c, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x76, + 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x22, 0x3e, 0x63, + 0x65, 0x6e, 0x74, 0x65, 0x72, 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, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x20, + 0x69, 0x64, 0x3d, 0x22, 0x69, 0x63, 0x6f, 0x6e, 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, 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, 0x76, 0x61, 0x6c, 0x69, 0x67, - 0x6e, 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, - 0x72, 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, 0x75, 0x73, 0x65, 0x2d, - 0x75, 0x6e, 0x64, 0x65, 0x72, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x79, 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, - 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, - 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x22, - 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, - 0x3d, 0x22, 0x6f, 0x6e, 0x5f, 0x66, 0x75, 0x6c, - 0x6c, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, - 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x22, - 0x2f, 0x3e, 0x3c, 0x73, 0x74, 0x79, 0x6c, 0x65, - 0x3e, 0x3c, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x20, - 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x69, 0x6d, - 0x61, 0x67, 0x65, 0x2d, 0x62, 0x75, 0x74, 0x74, - 0x6f, 0x6e, 0x22, 0x2f, 0x3e, 0x3c, 0x2f, 0x73, - 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x63, 0x68, - 0x69, 0x6c, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x6c, 0x2d, 0x63, 0x68, 0x69, - 0x6c, 0x64, 0x3d, 0x22, 0x61, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x22, 0x3e, - 0x3c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x41, - 0x74, 0x6b, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x61, 0x31, - 0x31, 0x79, 0x2d, 0x66, 0x75, 0x6c, 0x6c, 0x73, - 0x63, 0x72, 0x65, 0x65, 0x6e, 0x22, 0x3e, 0x3c, - 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, - 0x65, 0x2d, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x3d, 0x22, 0x79, 0x65, - 0x73, 0x22, 0x3e, 0x46, 0x75, 0x6c, 0x6c, 0x73, - 0x63, 0x72, 0x65, 0x65, 0x6e, 0x3c, 0x2f, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, - 0x3c, 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 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, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x22, - 0x20, 0x69, 0x64, 0x3d, 0x22, 0x66, 0x75, 0x6c, - 0x6c, 0x73, 0x63, 0x72, 0x65, 0x65, 0x6e, 0x5f, - 0x69, 0x6d, 0x61, 0x67, 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, 0x69, - 0x63, 0x6f, 0x6e, 0x2d, 0x6e, 0x61, 0x6d, 0x65, - 0x22, 0x3e, 0x76, 0x69, 0x65, 0x77, 0x2d, 0x66, - 0x75, 0x6c, 0x6c, 0x73, 0x63, 0x72, 0x65, 0x65, - 0x6e, 0x2d, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, - 0x69, 0x63, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, + 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, 0x69, 0x63, 0x6f, - 0x6e, 0x2d, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x3e, - 0x31, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x79, 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, 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, 0x2d, 0x74, 0x79, 0x70, 0x65, - 0x22, 0x3e, 0x65, 0x6e, 0x64, 0x3c, 0x2f, 0x70, + 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x76, 0x61, 0x6c, + 0x69, 0x67, 0x6e, 0x22, 0x3e, 0x63, 0x65, 0x6e, + 0x74, 0x65, 0x72, 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, 0x69, + 0x78, 0x65, 0x6c, 0x5f, 0x73, 0x69, 0x7a, 0x65, + 0x22, 0x3e, 0x31, 0x32, 0x38, 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, 0x75, 0x74, 0x74, 0x6f, - 0x6e, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x72, - 0x65, 0x73, 0x74, 0x6f, 0x72, 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, 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, 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x22, - 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x3c, + 0x69, 0x63, 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0x3e, 0x66, 0x61, 0x63, 0x65, 0x2d, + 0x75, 0x6e, 0x63, 0x65, 0x72, 0x74, 0x61, 0x69, + 0x6e, 0x2d, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, + 0x69, 0x63, 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, 0x69, 0x63, 0x6f, + 0x6e, 0x2d, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x3e, + 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, 0x6d, 0x61, 0x72, 0x67, + 0x69, 0x6e, 0x2d, 0x62, 0x6f, 0x74, 0x74, 0x6f, + 0x6d, 0x22, 0x3e, 0x31, 0x38, 0x3c, 0x2f, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, + 0x3c, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x64, 0x69, 0x6d, 0x2d, + 0x6c, 0x61, 0x62, 0x65, 0x6c, 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, 0x75, 0x73, 0x65, 0x2d, 0x75, 0x6e, - 0x64, 0x65, 0x72, 0x6c, 0x69, 0x6e, 0x65, 0x22, + 0x3d, 0x22, 0x66, 0x69, 0x6c, 0x6c, 0x22, 0x3e, + 0x54, 0x72, 0x75, 0x65, 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, 0x62, 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, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, - 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x63, 0x6c, - 0x69, 0x63, 0x6b, 0x65, 0x64, 0x22, 0x20, 0x68, - 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x3d, 0x22, - 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x5f, 0x63, 0x6c, 0x69, 0x63, 0x6b, - 0x65, 0x64, 0x22, 0x2f, 0x3e, 0x3c, 0x73, 0x74, - 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, - 0x22, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2d, 0x62, - 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x2f, 0x3e, - 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, - 0x3c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x20, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2d, - 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3d, 0x22, 0x61, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, - 0x65, 0x22, 0x3e, 0x3c, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x3d, 0x22, 0x41, 0x74, 0x6b, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x22, 0x20, 0x69, 0x64, 0x3d, - 0x22, 0x61, 0x31, 0x31, 0x79, 0x2d, 0x72, 0x65, - 0x73, 0x74, 0x6f, 0x72, 0x65, 0x22, 0x3e, 0x3c, - 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, - 0x65, 0x2d, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x20, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x3d, 0x22, 0x79, 0x65, - 0x73, 0x22, 0x3e, 0x52, 0x65, 0x73, 0x74, 0x6f, - 0x72, 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x2f, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3e, 0x3c, 0x2f, - 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3e, 0x3c, 0x63, + 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, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, + 0x73, 0x70, 0x61, 0x63, 0x69, 0x6e, 0x67, 0x22, + 0x3e, 0x31, 0x32, 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, 0x49, - 0x6d, 0x61, 0x67, 0x65, 0x22, 0x20, 0x69, 0x64, - 0x3d, 0x22, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, - 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x22, + 0x73, 0x73, 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x4c, + 0x61, 0x62, 0x65, 0x6c, 0x22, 0x20, 0x69, 0x64, + 0x3d, 0x22, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, + 0x79, 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, @@ -10951,69 +6506,118 @@ 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, 0x69, 0x63, 0x6f, 0x6e, 0x2d, 0x6e, 0x61, - 0x6d, 0x65, 0x22, 0x3e, 0x76, 0x69, 0x65, 0x77, - 0x2d, 0x72, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, - 0x2d, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x69, - 0x63, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x22, 0x6f, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, + 0x22, 0x3e, 0x30, 0x2e, 0x35, 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, 0x63, 0x65, 0x6e, 0x74, 0x65, + 0x72, 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, 0x69, 0x63, 0x6f, 0x6e, - 0x2d, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x3e, 0x31, - 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x79, 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, 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, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x22, - 0x3e, 0x65, 0x6e, 0x64, 0x3c, 0x2f, 0x70, 0x72, + 0x6d, 0x65, 0x3d, 0x22, 0x76, 0x61, 0x6c, 0x69, + 0x67, 0x6e, 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, + 0x65, 0x72, 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, 0x75, 0x73, 0x65, + 0x2d, 0x6d, 0x61, 0x72, 0x6b, 0x75, 0x70, 0x22, + 0x3e, 0x54, 0x72, 0x75, 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, 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, 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, - 0x61, 0x6d, 0x65, 0x73, 0x4d, 0x65, 0x64, 0x69, - 0x61, 0x4d, 0x65, 0x6e, 0x75, 0x42, 0x75, 0x74, - 0x74, 0x6f, 0x6e, 0x22, 0x20, 0x69, 0x64, 0x3d, - 0x22, 0x6d, 0x65, 0x64, 0x69, 0x61, 0x5f, 0x62, - 0x75, 0x74, 0x74, 0x6f, 0x6e, 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, - 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, - 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x22, 0x3e, - 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x3c, 0x2f, + 0x74, 0x6b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x22, + 0x20, 0x69, 0x64, 0x3d, 0x22, 0x73, 0x65, 0x63, + 0x6f, 0x6e, 0x64, 0x61, 0x72, 0x79, 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, 0x75, 0x73, 0x65, 0x2d, 0x75, 0x6e, 0x64, - 0x65, 0x72, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x3e, - 0x54, 0x72, 0x75, 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, 0x2d, 0x74, 0x79, - 0x70, 0x65, 0x22, 0x3e, 0x65, 0x6e, 0x64, 0x3c, + 0x22, 0x68, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x22, + 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 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, 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, + 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, + 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, 0x75, 0x73, 0x65, 0x2d, 0x6d, + 0x61, 0x72, 0x6b, 0x75, 0x70, 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, 0x77, 0x72, + 0x61, 0x70, 0x22, 0x3e, 0x54, 0x72, 0x75, 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, 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, 0x2f, 0x70, 0x61, 0x63, 0x6b, 0x69, 0x6e, 0x67, 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, 0x72, 0x65, 0x73, 0x75, - 0x6d, 0x65, 0x2d, 0x64, 0x69, 0x61, 0x6c, 0x6f, + 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, 0x2f, 0x70, 0x61, 0x63, + 0x6b, 0x69, 0x6e, 0x67, 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, 0x72, 0x65, 0x73, + 0x75, 0x6d, 0x65, 0x2d, 0x66, 0x61, 0x69, 0x6c, + 0x65, 0x64, 0x2d, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x2e, 0x75, 0x69, 0x00, 0x00, 0x00, 0x00, - 0xec, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x38, 0x04, 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, @@ -11028,65 +6632,47 @@ 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x47, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, - 0x75, 0x6d, 0x65, 0x44, 0x69, 0x61, 0x6c, 0x6f, - 0x67, 0x22, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x4d, 0x65, - 0x73, 0x73, 0x61, 0x67, 0x65, 0x44, 0x69, 0x61, - 0x6c, 0x6f, 0x67, 0x22, 0x3e, 0x3c, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, - 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6d, 0x6f, 0x64, - 0x61, 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, 0x64, 0x65, 0x73, 0x74, 0x72, - 0x6f, 0x79, 0x2d, 0x77, 0x69, 0x74, 0x68, 0x2d, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 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, 0x74, - 0x79, 0x70, 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, - 0x22, 0x3e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, - 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x79, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, + 0x75, 0x6d, 0x65, 0x46, 0x61, 0x69, 0x6c, 0x65, + 0x64, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x22, + 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, + 0x22, 0x47, 0x74, 0x6b, 0x4d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x44, 0x69, 0x61, 0x6c, 0x6f, + 0x67, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, - 0x65, 0x3d, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, - 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, - 0x3e, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, - 0x6e, 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, 0x65, 0x78, 0x74, - 0x22, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, - 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x3d, 0x22, - 0x79, 0x65, 0x73, 0x22, 0x3e, 0x52, 0x65, 0x73, - 0x75, 0x6d, 0x65, 0x20, 0x6c, 0x61, 0x73, 0x74, - 0x20, 0x67, 0x61, 0x6d, 0x65, 0x3f, 0x3c, 0x2f, + 0x65, 0x3d, 0x22, 0x6d, 0x6f, 0x64, 0x61, 0x6c, + 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x3e, 0x3c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x20, - 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3e, 0x3c, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x63, 0x6c, - 0x61, 0x73, 0x73, 0x3d, 0x22, 0x47, 0x74, 0x6b, - 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x20, - 0x69, 0x64, 0x3d, 0x22, 0x62, 0x75, 0x74, 0x74, - 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x65, 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, + 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x22, 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, + 0x2d, 0x77, 0x69, 0x74, 0x68, 0x2d, 0x70, 0x61, + 0x72, 0x65, 0x6e, 0x74, 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, 0x74, 0x79, 0x70, + 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x22, 0x3e, + 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 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, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3e, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 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, 0x52, 0x65, 0x73, 0x74, - 0x61, 0x72, 0x74, 0x3c, 0x2f, 0x70, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x2f, - 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3e, 0x3c, - 0x2f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3e, 0x3c, + 0x3d, 0x22, 0x74, 0x65, 0x78, 0x74, 0x22, 0x20, + 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, + 0x61, 0x62, 0x6c, 0x65, 0x3d, 0x22, 0x79, 0x65, + 0x73, 0x22, 0x3e, 0x52, 0x65, 0x73, 0x75, 0x6d, + 0x69, 0x6e, 0x67, 0x20, 0x66, 0x61, 0x69, 0x6c, + 0x65, 0x64, 0x2e, 0x20, 0x44, 0x6f, 0x20, 0x79, + 0x6f, 0x75, 0x20, 0x77, 0x61, 0x6e, 0x74, 0x20, + 0x74, 0x6f, 0x20, 0x72, 0x65, 0x73, 0x74, 0x61, + 0x72, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, + 0x61, 0x6d, 0x65, 0x3f, 0x3c, 0x2f, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3e, 0x3c, 0x6f, 0x62, 0x6a, @@ -11094,7 +6680,7 @@ 0x73, 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, - 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x22, + 0x5f, 0x63, 0x61, 0x6e, 0x63, 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, @@ -11110,9 +6696,196 @@ 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, 0x52, - 0x65, 0x73, 0x75, 0x6d, 0x65, 0x3c, 0x2f, 0x70, + 0x3d, 0x22, 0x79, 0x65, 0x73, 0x22, 0x3e, 0x43, + 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x3c, 0x2f, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 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, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3e, 0x3c, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x3d, 0x22, 0x47, 0x74, 0x6b, + 0x42, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x20, + 0x69, 0x64, 0x3d, 0x22, 0x62, 0x75, 0x74, 0x74, + 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x65, 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, 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, 0x20, 0x63, 0x6f, 0x6e, 0x74, + 0x65, 0x78, 0x74, 0x3d, 0x22, 0x52, 0x65, 0x73, + 0x75, 0x6d, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, + 0x67, 0x61, 0x6d, 0x65, 0x20, 0x66, 0x61, 0x69, + 0x6c, 0x65, 0x64, 0x20, 0x64, 0x69, 0x61, 0x6c, + 0x6f, 0x67, 0x22, 0x3e, 0x52, 0x65, 0x73, 0x65, + 0x74, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x2f, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 0x3e, 0x3c, 0x2f, 0x63, + 0x68, 0x69, 0x6c, 0x64, 0x3e, 0x3c, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x77, 0x69, 0x64, + 0x67, 0x65, 0x74, 0x73, 0x3e, 0x3c, 0x61, 0x63, + 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x77, 0x69, 0x64, + 0x67, 0x65, 0x74, 0x20, 0x72, 0x65, 0x73, 0x70, + 0x6f, 0x6e, 0x73, 0x65, 0x3d, 0x22, 0x61, 0x63, + 0x63, 0x65, 0x70, 0x74, 0x22, 0x3e, 0x62, 0x75, + 0x74, 0x74, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, + 0x65, 0x74, 0x3c, 0x2f, 0x61, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x2d, 0x77, 0x69, 0x64, 0x67, 0x65, + 0x74, 0x3e, 0x3c, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x2d, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, + 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, + 0x65, 0x3d, 0x22, 0x63, 0x61, 0x6e, 0x63, 0x65, + 0x6c, 0x22, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, + 0x6c, 0x74, 0x3d, 0x22, 0x74, 0x72, 0x75, 0x65, + 0x22, 0x3e, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, + 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x3c, + 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2d, + 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x3e, 0x3c, + 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2d, + 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x73, 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, + 0x72, 0x65, 0x73, 0x65, 0x74, 0x2d, 0x67, 0x61, + 0x6d, 0x65, 0x70, 0x61, 0x64, 0x2d, 0x6d, 0x61, + 0x70, 0x70, 0x69, 0x6e, 0x67, 0x2d, 0x64, 0x69, + 0x61, 0x6c, 0x6f, 0x67, 0x2e, 0x75, 0x69, 0x00, + 0xcc, 0x04, 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, 0x72, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x73, 0x20, 0x6c, 0x69, 0x62, 0x3d, + 0x22, 0x67, 0x74, 0x6b, 0x2b, 0x22, 0x20, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, + 0x33, 0x2e, 0x31, 0x36, 0x22, 0x2f, 0x3e, 0x3c, + 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, + 0x47, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x73, + 0x65, 0x74, 0x47, 0x61, 0x6d, 0x65, 0x70, 0x61, + 0x64, 0x4d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, + 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x22, 0x20, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x22, + 0x47, 0x74, 0x6b, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, + 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x22, 0x6d, 0x6f, 0x64, 0x61, 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, + 0x64, 0x65, 0x73, 0x74, 0x72, 0x6f, 0x79, 0x2d, + 0x77, 0x69, 0x74, 0x68, 0x2d, 0x70, 0x61, 0x72, + 0x65, 0x6e, 0x74, 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, 0x74, 0x79, 0x70, 0x65, + 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x22, 0x3e, 0x64, + 0x69, 0x61, 0x6c, 0x6f, 0x67, 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, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, + 0x74, 0x79, 0x70, 0x65, 0x22, 0x3e, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 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, 0x65, 0x78, 0x74, 0x22, 0x20, 0x74, + 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x61, + 0x62, 0x6c, 0x65, 0x3d, 0x22, 0x79, 0x65, 0x73, + 0x22, 0x3e, 0x46, 0x61, 0x63, 0x74, 0x6f, 0x72, + 0x79, 0x20, 0x72, 0x65, 0x73, 0x65, 0x74, 0x20, + 0x6d, 0x61, 0x70, 0x70, 0x69, 0x6e, 0x67, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x69, 0x73, + 0x20, 0x67, 0x61, 0x6d, 0x65, 0x70, 0x61, 0x64, + 0x3f, 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, 0x65, 0x63, 0x6f, + 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x74, 0x65, + 0x78, 0x74, 0x22, 0x20, 0x74, 0x72, 0x61, 0x6e, + 0x73, 0x6c, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, + 0x3d, 0x22, 0x79, 0x65, 0x73, 0x22, 0x3e, 0x59, + 0x6f, 0x75, 0x72, 0x20, 0x6d, 0x61, 0x70, 0x70, + 0x69, 0x6e, 0x67, 0x20, 0x77, 0x69, 0x6c, 0x6c, + 0x20, 0x62, 0x65, 0x20, 0x6c, 0x6f, 0x73, 0x74, + 0x2e, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x63, 0x68, 0x69, + 0x6c, 0x64, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, + 0x22, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, + 0x3e, 0x3c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, + 0x47, 0x74, 0x6b, 0x42, 0x75, 0x74, 0x74, 0x6f, + 0x6e, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x62, + 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x5f, 0x63, 0x61, + 0x6e, 0x63, 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, 0x2d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, + 0x74, 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, 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, 0x43, 0x61, 0x6e, 0x63, + 0x65, 0x6c, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 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, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x3e, 0x3c, 0x6f, 0x62, 0x6a, 0x65, + 0x63, 0x74, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, + 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x42, 0x75, 0x74, + 0x74, 0x6f, 0x6e, 0x22, 0x20, 0x69, 0x64, 0x3d, + 0x22, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x5f, + 0x72, 0x65, 0x73, 0x65, 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, 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, + 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, + 0x3d, 0x22, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x72, + 0x6d, 0x20, 0x67, 0x61, 0x6d, 0x65, 0x70, 0x61, + 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, + 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, + 0x66, 0x61, 0x63, 0x74, 0x6f, 0x72, 0x79, 0x20, + 0x72, 0x65, 0x73, 0x65, 0x74, 0x22, 0x3e, 0x52, + 0x65, 0x73, 0x65, 0x74, 0x3c, 0x2f, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, + 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x20, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x22, 0x64, 0x65, 0x73, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2d, 0x61, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2f, 0x3e, + 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3e, 0x3c, 0x2f, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3e, 0x3c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, @@ -11121,18 +6894,18 @@ 0x2d, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x3d, 0x22, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, - 0x22, 0x20, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x3d, 0x22, 0x74, 0x72, 0x75, 0x65, 0x22, - 0x3e, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x5f, - 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x3c, 0x2f, + 0x22, 0x3e, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, + 0x5f, 0x72, 0x65, 0x73, 0x65, 0x74, 0x3c, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x3e, 0x3c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x20, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x3d, 0x22, 0x63, - 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x22, 0x3e, 0x62, - 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x5f, 0x72, 0x65, - 0x73, 0x65, 0x74, 0x3c, 0x2f, 0x61, 0x63, 0x74, + 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x22, 0x20, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3d, 0x22, + 0x74, 0x72, 0x75, 0x65, 0x22, 0x3e, 0x62, 0x75, + 0x74, 0x74, 0x6f, 0x6e, 0x5f, 0x63, 0x61, 0x6e, + 0x63, 0x65, 0x6c, 0x3c, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x3e, 0x3c, 0x2f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x77, 0x69, 0x64, 0x67, @@ -11140,212 +6913,144 @@ 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, 0x67, 0x6e, 0x6f, 0x6d, - 0x65, 0x2f, 0x00, 0x00, 0x1a, 0x00, 0x00, 0x00, - 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x73, 0x2d, 0x70, 0x61, 0x67, 0x65, - 0x2d, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x6c, 0x65, 0x72, 0x73, 0x2e, 0x75, 0x69, 0x00, - 0x4e, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x75, 0x61, 0x79, 0x29, 0x75, 0x69, 0x2f, 0x00, + 0x12, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, + 0x0b, 0x00, 0x00, 0x00, 0x21, 0x00, 0x00, 0x00, + 0x0e, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x00, 0x11, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x00, 0x00, 0x25, 0x00, 0x00, 0x00, + 0x18, 0x00, 0x00, 0x00, 0x13, 0x00, 0x00, 0x00, + 0x0c, 0x00, 0x00, 0x00, 0x15, 0x00, 0x00, 0x00, + 0x03, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, + 0x08, 0x00, 0x00, 0x00, 0x19, 0x00, 0x00, 0x00, + 0x10, 0x00, 0x00, 0x00, 0x23, 0x00, 0x00, 0x00, + 0x0a, 0x00, 0x00, 0x00, 0x24, 0x00, 0x00, 0x00, + 0x1e, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, + 0x1d, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x2d, 0x69, 0x6e, + 0x66, 0x6f, 0x2d, 0x62, 0x61, 0x72, 0x2e, 0x75, + 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xf4, 0x02, 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, 0x74, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x3d, 0x22, 0x47, 0x61, 0x6d, 0x65, 0x73, - 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x73, 0x50, 0x61, 0x67, 0x65, 0x43, - 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, - 0x72, 0x73, 0x22, 0x20, 0x70, 0x61, 0x72, 0x65, - 0x6e, 0x74, 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x53, - 0x74, 0x61, 0x63, 0x6b, 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, + 0x65, 0x3e, 0x3c, 0x72, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x73, 0x20, 0x6c, 0x69, 0x62, 0x3d, + 0x22, 0x67, 0x74, 0x6b, 0x2b, 0x22, 0x20, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, + 0x33, 0x2e, 0x31, 0x36, 0x22, 0x2f, 0x3e, 0x3c, + 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, + 0x47, 0x61, 0x6d, 0x65, 0x73, 0x45, 0x72, 0x72, + 0x6f, 0x72, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x61, + 0x72, 0x22, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x49, 0x6e, + 0x66, 0x6f, 0x42, 0x61, 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, 0x68, + 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x22, 0x3e, 0x63, + 0x65, 0x6e, 0x74, 0x65, 0x72, 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, + 0x76, 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, + 0x68, 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, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, - 0x2d, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x22, 0x3e, - 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x73, 0x74, 0x61, - 0x63, 0x6b, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, - 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x65, 0x72, 0x3c, + 0x22, 0x76, 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, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x69, - 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x74, 0x79, 0x70, - 0x65, 0x22, 0x3e, 0x47, 0x54, 0x4b, 0x5f, 0x53, - 0x54, 0x41, 0x43, 0x4b, 0x5f, 0x54, 0x52, 0x41, - 0x4e, 0x53, 0x49, 0x54, 0x49, 0x4f, 0x4e, 0x5f, - 0x54, 0x59, 0x50, 0x45, 0x5f, 0x53, 0x4c, 0x49, - 0x44, 0x45, 0x5f, 0x4c, 0x45, 0x46, 0x54, 0x5f, - 0x52, 0x49, 0x47, 0x48, 0x54, 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, 0x20, 0x69, 0x64, - 0x3d, 0x22, 0x65, 0x78, 0x74, 0x72, 0x61, 0x5f, - 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x63, 0x68, - 0x69, 0x6c, 0x64, 0x5f, 0x68, 0x6f, 0x6c, 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, + 0x3d, 0x22, 0x73, 0x68, 0x6f, 0x77, 0x2d, 0x63, + 0x6c, 0x6f, 0x73, 0x65, 0x2d, 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, 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, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x65, - 0x78, 0x74, 0x72, 0x61, 0x5f, 0x73, 0x74, 0x61, - 0x63, 0x6b, 0x5f, 0x63, 0x68, 0x69, 0x6c, 0x64, - 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, 0x53, 0x63, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x64, 0x57, 0x69, - 0x6e, 0x64, 0x6f, 0x77, 0x22, 0x20, 0x69, 0x64, - 0x3d, 0x22, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x73, - 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x63, 0x68, 0x69, - 0x6c, 0x64, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x65, - 0x72, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, + 0x6d, 0x65, 0x3d, 0x22, 0x6d, 0x65, 0x73, 0x73, + 0x61, 0x67, 0x65, 0x2d, 0x74, 0x79, 0x70, 0x65, + 0x22, 0x3e, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x3c, + 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 0x3e, 0x3c, 0x63, 0x68, 0x69, 0x6c, 0x64, + 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x2d, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3d, + 0x22, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, + 0x5f, 0x61, 0x72, 0x65, 0x61, 0x22, 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, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, + 0x74, 0x5f, 0x61, 0x72, 0x65, 0x61, 0x22, 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, 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, 0x54, 0x72, - 0x75, 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, 0x56, 0x69, - 0x65, 0x77, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x3e, + 0x65, 0x3d, 0x22, 0x77, 0x72, 0x61, 0x70, 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, 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, 0x63, 0x68, 0x69, 0x6c, - 0x64, 0x3e, 0x3c, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, - 0x22, 0x47, 0x74, 0x6b, 0x46, 0x72, 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, 0x62, 0x6f, - 0x72, 0x64, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x64, - 0x74, 0x68, 0x22, 0x3e, 0x31, 0x32, 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, 0x76, 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, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, - 0x74, 0x79, 0x70, 0x65, 0x22, 0x3e, 0x6e, 0x6f, - 0x6e, 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, 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, 0x31, 0x32, 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, - 0x69, 0x73, 0x74, 0x42, 0x6f, 0x78, 0x22, 0x20, - 0x69, 0x64, 0x3d, 0x22, 0x67, 0x61, 0x6d, 0x65, - 0x70, 0x61, 0x64, 0x73, 0x5f, 0x6c, 0x69, 0x73, - 0x74, 0x5f, 0x62, 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, + 0x77, 0x72, 0x61, 0x70, 0x2d, 0x6d, 0x6f, 0x64, + 0x65, 0x22, 0x3e, 0x70, 0x61, 0x6e, 0x67, 0x6f, + 0x2d, 0x77, 0x72, 0x61, 0x70, 0x2d, 0x77, 0x6f, + 0x72, 0x64, 0x2d, 0x63, 0x68, 0x61, 0x72, 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, 0x65, 0x6c, 0x65, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x6f, 0x64, 0x65, - 0x22, 0x3e, 0x6e, 0x6f, 0x6e, 0x65, 0x3c, 0x2f, - 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, - 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x72, - 0x6f, 0x77, 0x2d, 0x61, 0x63, 0x74, 0x69, 0x76, - 0x61, 0x74, 0x65, 0x64, 0x22, 0x20, 0x68, 0x61, - 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x3d, 0x22, 0x67, - 0x61, 0x6d, 0x65, 0x70, 0x61, 0x64, 0x73, 0x5f, - 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x62, 0x6f, 0x78, - 0x5f, 0x72, 0x6f, 0x77, 0x5f, 0x61, 0x63, 0x74, - 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, 0x22, 0x2f, - 0x3e, 0x3c, 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x3e, 0x3c, 0x2f, 0x63, 0x68, 0x69, 0x6c, - 0x64, 0x3e, 0x3c, 0x2f, 0x6f, 0x62, 0x6a, 0x65, + 0x79, 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, - 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 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, + 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, 0x63, 0x6f, 0x6c, 0x6c, + 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x68, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x2d, 0x62, 0x61, + 0x72, 0x2e, 0x75, 0x69, 0x00, 0x00, 0x00, 0x00, + 0xaf, 0x06, 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, 0x72, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x73, 0x20, 0x6c, 0x69, 0x62, 0x3d, + 0x22, 0x67, 0x74, 0x6b, 0x2b, 0x22, 0x20, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, + 0x33, 0x2e, 0x31, 0x36, 0x22, 0x2f, 0x3e, 0x3c, + 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, + 0x47, 0x61, 0x6d, 0x65, 0x73, 0x43, 0x6f, 0x6c, + 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x48, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x42, 0x61, 0x72, + 0x22, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, + 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x48, 0x65, 0x61, + 0x64, 0x65, 0x72, 0x42, 0x61, 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, @@ -11358,493 +7063,607 @@ 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, + 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, 0x47, 0x61, 0x6d, - 0x65, 0x70, 0x61, 0x64, 0x73, 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, 0x77, 0x65, 0x69, - 0x67, 0x68, 0x74, 0x22, 0x20, 0x76, 0x61, 0x6c, - 0x75, 0x65, 0x3d, 0x22, 0x62, 0x6f, 0x6c, 0x64, - 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, 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, 0x2f, 0x6f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x3e, 0x3c, 0x70, 0x61, 0x63, - 0x6b, 0x69, 0x6e, 0x67, 0x3e, 0x3c, 0x70, 0x72, + 0x65, 0x73, 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, 0x75, + 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x20, 0x69, 0x64, + 0x3d, 0x22, 0x61, 0x64, 0x64, 0x5f, 0x67, 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, 0x76, 0x61, 0x6c, 0x69, + 0x67, 0x6e, 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, + 0x65, 0x72, 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, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0x3e, 0x6d, 0x61, 0x69, 0x6e, 0x5f, - 0x73, 0x74, 0x61, 0x63, 0x6b, 0x5f, 0x63, 0x68, - 0x69, 0x6c, 0x64, 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, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, - 0x74, 0x65, 0x3e, 0x3c, 0x6f, 0x62, 0x6a, 0x65, + 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x75, 0x73, 0x65, + 0x2d, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x6c, 0x69, + 0x6e, 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, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x2d, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3e, + 0x61, 0x70, 0x70, 0x2e, 0x61, 0x64, 0x64, 0x2d, + 0x67, 0x61, 0x6d, 0x65, 0x2d, 0x66, 0x69, 0x6c, + 0x65, 0x73, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x73, 0x74, + 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x22, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2d, 0x62, + 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x2f, 0x3e, + 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, + 0x3c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x20, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2d, + 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3d, 0x22, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, + 0x65, 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, 0x64, 0x65, 0x66, 0x61, - 0x75, 0x6c, 0x74, 0x5f, 0x68, 0x65, 0x61, 0x64, - 0x65, 0x72, 0x5f, 0x62, 0x61, 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, + 0x3d, 0x22, 0x41, 0x74, 0x6b, 0x4f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x22, 0x20, 0x69, 0x64, 0x3d, + 0x22, 0x61, 0x31, 0x31, 0x79, 0x2d, 0x62, 0x61, + 0x63, 0x6b, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x63, 0x63, 0x65, + 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x2d, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x20, 0x74, 0x72, 0x61, + 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x61, 0x62, 0x6c, + 0x65, 0x3d, 0x22, 0x79, 0x65, 0x73, 0x22, 0x3e, + 0x41, 0x64, 0x64, 0x20, 0x67, 0x61, 0x6d, 0x65, + 0x20, 0x66, 0x69, 0x6c, 0x65, 0x73, 0xe2, 0x80, + 0xa6, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x2f, 0x6f, 0x62, + 0x6a, 0x65, 0x63, 0x74, 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, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x22, 0x20, 0x69, 0x64, 0x3d, + 0x22, 0x61, 0x64, 0x64, 0x5f, 0x67, 0x61, 0x6d, + 0x65, 0x5f, 0x69, 0x6d, 0x61, 0x67, 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, 0x69, 0x63, 0x6f, 0x6e, 0x2d, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0x3e, 0x6c, 0x69, 0x73, 0x74, + 0x2d, 0x61, 0x64, 0x64, 0x2d, 0x73, 0x79, 0x6d, + 0x62, 0x6f, 0x6c, 0x69, 0x63, 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, 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, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x3c, 0x2f, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, + 0x69, 0x63, 0x6f, 0x6e, 0x2d, 0x73, 0x69, 0x7a, + 0x65, 0x22, 0x3e, 0x31, 0x3c, 0x2f, 0x70, 0x72, + 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 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, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x66, 0x61, 0x63, 0x65, 0x3e, 0x0a, 0x00, 0x00, - 0x28, 0x75, 0x75, 0x61, 0x79, 0x29, 0x73, 0x65, - 0x61, 0x72, 0x63, 0x68, 0x2d, 0x62, 0x61, 0x72, - 0x2e, 0x75, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, - 0xfc, 0x01, 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, 0x31, 0x36, 0x20, 0x2d, 0x2d, 0x3e, 0x3c, - 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, - 0x47, 0x61, 0x6d, 0x65, 0x73, 0x53, 0x65, 0x61, - 0x72, 0x63, 0x68, 0x42, 0x61, 0x72, 0x22, 0x20, - 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x22, - 0x47, 0x74, 0x6b, 0x53, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x42, 0x61, 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, 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, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x45, 0x6e, 0x74, - 0x72, 0x79, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, - 0x65, 0x6e, 0x74, 0x72, 0x79, 0x22, 0x3e, 0x3c, + 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, 0x2d, 0x74, + 0x79, 0x70, 0x65, 0x22, 0x3e, 0x73, 0x74, 0x61, + 0x72, 0x74, 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, + 0x54, 0x6f, 0x67, 0x67, 0x6c, 0x65, 0x42, 0x75, + 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x20, 0x69, 0x64, + 0x3d, 0x22, 0x73, 0x65, 0x61, 0x72, 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, 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, + 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, + 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, 0x75, 0x73, 0x65, 0x2d, 0x75, + 0x6e, 0x64, 0x65, 0x72, 0x6c, 0x69, 0x6e, 0x65, + 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, 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, + 0x3e, 0x3c, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, + 0x3c, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x69, 0x6d, 0x61, + 0x67, 0x65, 0x2d, 0x62, 0x75, 0x74, 0x74, 0x6f, + 0x6e, 0x22, 0x2f, 0x3e, 0x3c, 0x2f, 0x73, 0x74, + 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x63, 0x68, 0x69, + 0x6c, 0x64, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x2d, 0x63, 0x68, 0x69, 0x6c, + 0x64, 0x3d, 0x22, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x69, 0x62, 0x6c, 0x65, 0x22, 0x3e, 0x3c, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x63, + 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, 0x41, 0x74, + 0x6b, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, + 0x20, 0x69, 0x64, 0x3d, 0x22, 0x61, 0x31, 0x31, + 0x79, 0x2d, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, + 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x22, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x69, 0x62, 0x6c, 0x65, 0x2d, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x6c, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, 0x3d, + 0x22, 0x79, 0x65, 0x73, 0x22, 0x3e, 0x53, 0x65, + 0x61, 0x72, 0x63, 0x68, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, + 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 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, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x20, + 0x69, 0x64, 0x3d, 0x22, 0x73, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x5f, 0x69, 0x6d, 0x61, 0x67, 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, 0x69, 0x63, 0x6f, 0x6e, 0x2d, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x65, 0x64, 0x69, + 0x74, 0x2d, 0x66, 0x69, 0x6e, 0x64, 0x2d, 0x73, + 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x69, 0x63, 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, 0x69, 0x63, 0x6f, 0x6e, 0x2d, 0x73, + 0x69, 0x7a, 0x65, 0x22, 0x3e, 0x31, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x77, - 0x69, 0x64, 0x74, 0x68, 0x2d, 0x63, 0x68, 0x61, - 0x72, 0x73, 0x22, 0x3e, 0x34, 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, 0x68, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, - 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, - 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, - 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x73, - 0x65, 0x61, 0x72, 0x63, 0x68, 0x2d, 0x63, 0x68, - 0x61, 0x6e, 0x67, 0x65, 0x64, 0x22, 0x20, 0x68, - 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x3d, 0x22, - 0x6f, 0x6e, 0x5f, 0x73, 0x65, 0x61, 0x72, 0x63, - 0x68, 0x5f, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x64, 0x22, 0x2f, 0x3e, 0x3c, 0x73, 0x69, 0x67, - 0x6e, 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, - 0x3d, 0x22, 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, - 0x74, 0x65, 0x22, 0x20, 0x68, 0x61, 0x6e, 0x64, - 0x6c, 0x65, 0x72, 0x3d, 0x22, 0x6f, 0x6e, 0x5f, - 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x5f, 0x61, - 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, 0x64, - 0x22, 0x2f, 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, 0x67, 0x61, 0x6d, 0x65, - 0x70, 0x61, 0x64, 0x2d, 0x63, 0x6f, 0x6e, 0x66, - 0x69, 0x67, 0x75, 0x72, 0x65, 0x72, 0x2e, 0x75, - 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x10, 0x0b, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 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, 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, + 0x2d, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3e, 0x65, + 0x6e, 0x64, 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, 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, 0x67, + 0x74, 0x6b, 0x2f, 0x00, 0x0f, 0x00, 0x00, 0x00, + 0x70, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x73, 0x2d, 0x77, 0x69, 0x6e, 0x64, + 0x6f, 0x77, 0x2e, 0x75, 0x69, 0x00, 0x00, 0x00, + 0xbc, 0x0c, 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, 0x74, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x3d, 0x22, 0x47, 0x61, 0x6d, 0x65, 0x73, - 0x47, 0x61, 0x6d, 0x65, 0x70, 0x61, 0x64, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, - 0x72, 0x22, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 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, 0x53, - 0x74, 0x61, 0x63, 0x6b, 0x22, 0x20, 0x69, 0x64, - 0x3d, 0x22, 0x73, 0x74, 0x61, 0x63, 0x6b, 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, + 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, 0x47, + 0x61, 0x6d, 0x65, 0x73, 0x50, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x57, + 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x22, 0x20, 0x70, + 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x47, + 0x74, 0x6b, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, + 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, 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, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 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, 0x69, 0x63, 0x6f, 0x6e, 0x2d, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x62, 0x75, 0x69, + 0x6c, 0x64, 0x65, 0x72, 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, 0x2d, 0x77, + 0x69, 0x64, 0x74, 0x68, 0x22, 0x3e, 0x38, 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, 0x2d, 0x68, 0x65, 0x69, 0x67, + 0x68, 0x74, 0x22, 0x3e, 0x35, 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, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, + 0x2d, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, + 0x6e, 0x22, 0x3e, 0x47, 0x54, 0x4b, 0x5f, 0x57, + 0x49, 0x4e, 0x5f, 0x50, 0x4f, 0x53, 0x5f, 0x43, + 0x45, 0x4e, 0x54, 0x45, 0x52, 0x5f, 0x4f, 0x4e, + 0x5f, 0x50, 0x41, 0x52, 0x45, 0x4e, 0x54, 0x3c, + 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, + 0x79, 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, 0x42, 0x6f, 0x78, 0x22, 0x20, + 0x69, 0x64, 0x3d, 0x22, 0x74, 0x69, 0x74, 0x6c, + 0x65, 0x62, 0x61, 0x72, 0x5f, 0x62, 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, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 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, 0x68, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x22, - 0x3e, 0x66, 0x69, 0x6c, 0x6c, 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, - 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x22, 0x3e, - 0x66, 0x69, 0x6c, 0x6c, 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, - 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 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, 0x76, - 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x22, 0x3e, - 0x54, 0x72, 0x75, 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, - 0x42, 0x6f, 0x78, 0x22, 0x20, 0x69, 0x64, 0x3d, - 0x22, 0x67, 0x61, 0x6d, 0x65, 0x70, 0x61, 0x64, - 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x65, 0x72, 0x5f, - 0x68, 0x6f, 0x6c, 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, + 0x22, 0x6f, 0x72, 0x69, 0x65, 0x6e, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3e, 0x68, 0x6f, + 0x72, 0x69, 0x7a, 0x6f, 0x6e, 0x74, 0x61, 0x6c, 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, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0x3e, 0x67, 0x61, 0x6d, 0x65, 0x70, - 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x70, 0x70, 0x65, - 0x72, 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, - 0x67, 0x61, 0x6d, 0x65, 0x70, 0x61, 0x64, 0x5f, - 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x68, - 0x6f, 0x6c, 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, 0x2f, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x3e, 0x3c, 0x70, 0x61, 0x63, 0x6b, - 0x69, 0x6e, 0x67, 0x3e, 0x3c, 0x70, 0x72, 0x6f, + 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, 0x48, 0x65, 0x61, 0x64, + 0x65, 0x72, 0x42, 0x61, 0x72, 0x22, 0x20, 0x69, + 0x64, 0x3d, 0x22, 0x6c, 0x65, 0x66, 0x74, 0x5f, + 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, + 0x61, 0x72, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6e, 0x61, 0x6d, 0x65, - 0x22, 0x3e, 0x67, 0x61, 0x6d, 0x65, 0x70, 0x61, - 0x64, 0x5f, 0x74, 0x65, 0x73, 0x74, 0x65, 0x72, + 0x22, 0x3e, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x68, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x61, + 0x72, 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, 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, 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, 0x72, + 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, + 0x73, 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, + 0x2d, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x2d, 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, 0x6d, 0x65, 0x6e, 0x75, 0x3c, 0x2f, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, + 0x3c, 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, + 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, 0x53, 0x65, 0x70, 0x61, 0x72, 0x61, + 0x74, 0x6f, 0x72, 0x22, 0x20, 0x69, 0x64, 0x3d, + 0x22, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, + 0x73, 0x65, 0x70, 0x61, 0x72, 0x61, 0x74, 0x6f, + 0x72, 0x22, 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, 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, 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, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x61, 0x72, - 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x62, 0x61, 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, 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, 0x75, 0x74, 0x74, 0x6f, - 0x6e, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x72, - 0x65, 0x73, 0x65, 0x74, 0x5f, 0x62, 0x75, 0x74, - 0x74, 0x6f, 0x6e, 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, + 0x74, 0x79, 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, 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, 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, 0x68, + 0x62, 0x6f, 0x78, 0x31, 0x22, 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, 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, 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, 0x20, 0x63, - 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x3d, 0x22, - 0x47, 0x61, 0x6d, 0x65, 0x70, 0x61, 0x64, 0x20, - 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x61, - 0x63, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x72, 0x65, - 0x73, 0x65, 0x74, 0x22, 0x3e, 0x52, 0x65, 0x73, - 0x65, 0x74, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x73, 0x69, - 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, - 0x65, 0x3d, 0x22, 0x63, 0x6c, 0x69, 0x63, 0x6b, - 0x65, 0x64, 0x22, 0x20, 0x68, 0x61, 0x6e, 0x64, - 0x6c, 0x65, 0x72, 0x3d, 0x22, 0x6f, 0x6e, 0x5f, - 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6c, - 0x69, 0x63, 0x6b, 0x65, 0x64, 0x22, 0x2f, 0x3e, - 0x3c, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, - 0x63, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x6e, 0x61, - 0x6d, 0x65, 0x3d, 0x22, 0x64, 0x65, 0x73, 0x74, - 0x72, 0x75, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2d, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x70, 0x61, 0x63, 0x6b, 0x2d, - 0x74, 0x79, 0x70, 0x65, 0x22, 0x3e, 0x65, 0x6e, - 0x64, 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, - 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x20, 0x69, - 0x64, 0x3d, 0x22, 0x63, 0x6f, 0x6e, 0x66, 0x69, - 0x67, 0x75, 0x72, 0x65, 0x5f, 0x62, 0x75, 0x74, - 0x74, 0x6f, 0x6e, 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, 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, 0x43, - 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, + 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6f, 0x72, 0x69, + 0x65, 0x6e, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, + 0x22, 0x3e, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x6f, + 0x6e, 0x74, 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, 0x20, 0x69, 0x64, 0x3d, + 0x22, 0x73, 0x69, 0x64, 0x65, 0x62, 0x61, 0x72, + 0x5f, 0x76, 0x62, 0x6f, 0x78, 0x22, 0x3e, 0x3c, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x68, + 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 0x22, 0x3e, + 0x66, 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, 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, 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, 0x74, 0x61, 0x63, 0x6b, 0x53, 0x69, + 0x64, 0x65, 0x62, 0x61, 0x72, 0x22, 0x20, 0x69, + 0x64, 0x3d, 0x22, 0x73, 0x69, 0x64, 0x65, 0x62, + 0x61, 0x72, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x6d, 0x61, 0x72, 0x67, + 0x69, 0x6e, 0x2d, 0x74, 0x6f, 0x70, 0x22, 0x3e, + 0x34, 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, 0x74, 0x61, 0x63, + 0x6b, 0x22, 0x3e, 0x73, 0x74, 0x61, 0x63, 0x6b, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x79, 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, - 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, - 0x22, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x64, - 0x22, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, - 0x72, 0x3d, 0x22, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, - 0x6e, 0x66, 0x69, 0x67, 0x75, 0x72, 0x65, 0x5f, - 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x22, - 0x2f, 0x3e, 0x3c, 0x73, 0x74, 0x79, 0x6c, 0x65, - 0x3e, 0x3c, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x20, - 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x73, 0x75, - 0x67, 0x67, 0x65, 0x73, 0x74, 0x65, 0x64, 0x2d, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, + 0x74, 0x79, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, - 0x65, 0x3d, 0x22, 0x70, 0x61, 0x63, 0x6b, 0x2d, - 0x74, 0x79, 0x70, 0x65, 0x22, 0x3e, 0x73, 0x74, - 0x61, 0x72, 0x74, 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, 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, 0x5f, 0x62, 0x61, 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, 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, 0x75, 0x74, 0x74, 0x6f, 0x6e, - 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x62, 0x61, - 0x63, 0x6b, 0x5f, 0x62, 0x75, 0x74, 0x74, 0x6f, - 0x6e, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x3d, 0x22, 0x76, 0x65, 0x78, 0x70, 0x61, + 0x6e, 0x64, 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, 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, 0x73, 0x69, 0x67, 0x6e, - 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, - 0x22, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x64, - 0x22, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, - 0x72, 0x3d, 0x22, 0x6f, 0x6e, 0x5f, 0x62, 0x61, - 0x63, 0x6b, 0x5f, 0x63, 0x6c, 0x69, 0x63, 0x6b, - 0x65, 0x64, 0x22, 0x2f, 0x3e, 0x3c, 0x73, 0x74, - 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x63, 0x6c, 0x61, - 0x73, 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, - 0x22, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2d, 0x62, - 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x2f, 0x3e, - 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, - 0x3c, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x20, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2d, - 0x63, 0x68, 0x69, 0x6c, 0x64, 0x3d, 0x22, 0x61, - 0x63, 0x63, 0x65, 0x73, 0x73, 0x69, 0x62, 0x6c, - 0x65, 0x22, 0x3e, 0x3c, 0x6f, 0x62, 0x6a, 0x65, + 0x74, 0x79, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, + 0x65, 0x3d, 0x22, 0x77, 0x69, 0x64, 0x74, 0x68, + 0x2d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, + 0x22, 0x3e, 0x31, 0x35, 0x30, 0x3c, 0x2f, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, + 0x3c, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, + 0x63, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x6e, 0x61, + 0x6d, 0x65, 0x3d, 0x22, 0x70, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x22, + 0x2f, 0x3e, 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, + 0x65, 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, 0x3e, 0x3c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x3d, 0x22, 0x41, 0x74, 0x6b, 0x4f, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x22, 0x20, 0x69, 0x64, 0x3d, - 0x22, 0x61, 0x31, 0x31, 0x79, 0x2d, 0x62, 0x61, - 0x63, 0x6b, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, - 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x63, 0x63, 0x65, - 0x73, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x2d, 0x6e, - 0x61, 0x6d, 0x65, 0x22, 0x20, 0x74, 0x72, 0x61, - 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x61, 0x62, 0x6c, - 0x65, 0x3d, 0x22, 0x79, 0x65, 0x73, 0x22, 0x3e, - 0x42, 0x61, 0x63, 0x6b, 0x3c, 0x2f, 0x70, 0x72, + 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x53, 0x65, 0x70, + 0x61, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 0x20, + 0x69, 0x64, 0x3d, 0x22, 0x73, 0x65, 0x70, 0x61, + 0x72, 0x61, 0x74, 0x6f, 0x72, 0x22, 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, + 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, 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, 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 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, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x22, 0x20, - 0x69, 0x64, 0x3d, 0x22, 0x62, 0x61, 0x63, 0x6b, - 0x5f, 0x69, 0x6d, 0x61, 0x67, 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, - 0x69, 0x63, 0x6f, 0x6e, 0x2d, 0x6e, 0x61, 0x6d, - 0x65, 0x22, 0x3e, 0x67, 0x6f, 0x2d, 0x70, 0x72, - 0x65, 0x76, 0x69, 0x6f, 0x75, 0x73, 0x2d, 0x73, - 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x69, 0x63, 0x3c, + 0x6b, 0x53, 0x74, 0x61, 0x63, 0x6b, 0x22, 0x20, + 0x69, 0x64, 0x3d, 0x22, 0x73, 0x74, 0x61, 0x63, + 0x6b, 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, 0x65, 0x78, 0x70, 0x61, 0x6e, + 0x64, 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, 0x69, 0x63, 0x6f, 0x6e, 0x2d, 0x73, - 0x69, 0x7a, 0x65, 0x22, 0x3e, 0x31, 0x3c, 0x2f, + 0x3d, 0x22, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, + 0x65, 0x2d, 0x63, 0x68, 0x69, 0x6c, 0x64, 0x22, + 0x3e, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, 0x70, + 0x61, 0x67, 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, 0x72, + 0x61, 0x6e, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x2d, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3e, 0x47, + 0x54, 0x4b, 0x5f, 0x53, 0x54, 0x41, 0x43, 0x4b, + 0x5f, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x49, 0x54, + 0x49, 0x4f, 0x4e, 0x5f, 0x54, 0x59, 0x50, 0x45, + 0x5f, 0x43, 0x52, 0x4f, 0x53, 0x53, 0x46, 0x41, + 0x44, 0x45, 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, 0x61, 0x6d, 0x65, 0x73, + 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, + 0x63, 0x65, 0x73, 0x50, 0x61, 0x67, 0x65, 0x56, + 0x69, 0x64, 0x65, 0x6f, 0x22, 0x20, 0x69, 0x64, + 0x3d, 0x22, 0x76, 0x69, 0x64, 0x65, 0x6f, 0x5f, + 0x70, 0x61, 0x67, 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, 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, + 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x76, 0x69, + 0x64, 0x65, 0x6f, 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, 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, + 0x56, 0x69, 0x64, 0x65, 0x6f, 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, 0x61, 0x6d, 0x65, 0x73, 0x50, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, + 0x50, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x73, 0x22, + 0x20, 0x69, 0x64, 0x3d, 0x22, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x73, + 0x5f, 0x70, 0x61, 0x67, 0x65, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 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, 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, - 0x2d, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3e, 0x73, - 0x74, 0x61, 0x72, 0x74, 0x3c, 0x2f, 0x70, 0x72, + 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, - 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, 0x75, 0x74, 0x74, 0x6f, 0x6e, - 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x63, 0x61, - 0x6e, 0x63, 0x65, 0x6c, 0x5f, 0x62, 0x75, 0x74, - 0x74, 0x6f, 0x6e, 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, + 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, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, + 0x72, 0x73, 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, + 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, 0x43, - 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x3c, 0x2f, 0x70, - 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, - 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, - 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x63, 0x6c, - 0x69, 0x63, 0x6b, 0x65, 0x64, 0x22, 0x20, 0x68, - 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, 0x3d, 0x22, - 0x6f, 0x6e, 0x5f, 0x63, 0x61, 0x6e, 0x63, 0x65, - 0x6c, 0x5f, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x65, - 0x64, 0x22, 0x2f, 0x3e, 0x3c, 0x73, 0x74, 0x79, - 0x6c, 0x65, 0x3e, 0x3c, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, - 0x64, 0x65, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, - 0x69, 0x76, 0x65, 0x2d, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x22, 0x2f, 0x3e, 0x3c, 0x2f, 0x73, - 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x2f, 0x6f, - 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3e, 0x3c, 0x70, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, + 0x72, 0x73, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x2f, 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, 0x2d, 0x74, 0x79, 0x70, 0x65, - 0x22, 0x3e, 0x65, 0x6e, 0x64, 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, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x3e, 0x0a, - 0x00, 0x00, 0x28, 0x75, 0x75, 0x61, 0x79, 0x29, - 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2d, 0x63, 0x6f, - 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x2e, 0x75, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x25, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 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, 0x61, 0x6d, + 0x65, 0x73, 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, + 0x65, 0x6e, 0x63, 0x65, 0x73, 0x50, 0x61, 0x67, + 0x65, 0x50, 0x6c, 0x75, 0x67, 0x69, 0x6e, 0x73, + 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x70, 0x6c, + 0x75, 0x67, 0x69, 0x6e, 0x73, 0x5f, 0x70, 0x61, + 0x67, 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, 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, 0x6e, 0x61, + 0x6d, 0x65, 0x22, 0x3e, 0x70, 0x6c, 0x75, 0x67, + 0x69, 0x6e, 0x73, 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, 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, + 0x45, 0x78, 0x74, 0x65, 0x6e, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 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, 0x2f, 0x74, 0x65, 0x6d, 0x70, 0x6c, + 0x61, 0x74, 0x65, 0x3e, 0x3c, 0x6f, 0x62, 0x6a, + 0x65, 0x63, 0x74, 0x20, 0x63, 0x6c, 0x61, 0x73, + 0x73, 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x53, 0x69, + 0x7a, 0x65, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x22, + 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x22, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x3e, 0x47, + 0x54, 0x4b, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x5f, + 0x47, 0x52, 0x4f, 0x55, 0x50, 0x5f, 0x48, 0x4f, + 0x52, 0x49, 0x5a, 0x4f, 0x4e, 0x54, 0x41, 0x4c, + 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x3e, 0x3c, 0x77, 0x69, 0x64, 0x67, + 0x65, 0x74, 0x73, 0x3e, 0x3c, 0x77, 0x69, 0x64, + 0x67, 0x65, 0x74, 0x20, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x22, 0x6c, 0x65, 0x66, 0x74, 0x5f, 0x68, + 0x65, 0x61, 0x64, 0x65, 0x72, 0x5f, 0x62, 0x61, + 0x72, 0x22, 0x2f, 0x3e, 0x3c, 0x77, 0x69, 0x64, + 0x67, 0x65, 0x74, 0x20, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x22, 0x73, 0x69, 0x64, 0x65, 0x62, 0x61, + 0x72, 0x22, 0x2f, 0x3e, 0x3c, 0x2f, 0x77, 0x69, + 0x64, 0x67, 0x65, 0x74, 0x73, 0x3e, 0x3c, 0x2f, + 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3e, 0x3c, + 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, + 0x63, 0x65, 0x3e, 0x0a, 0x00, 0x00, 0x28, 0x75, + 0x75, 0x61, 0x79, 0x29, 0x72, 0x65, 0x6d, 0x6f, + 0x74, 0x65, 0x2d, 0x64, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x2e, 0x75, 0x69, 0x00, 0x00, 0x00, + 0xf2, 0x08, 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, @@ -11858,380 +7677,366 @@ 0x33, 0x2e, 0x31, 0x36, 0x22, 0x2f, 0x3e, 0x3c, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, - 0x47, 0x61, 0x6d, 0x65, 0x73, 0x45, 0x6d, 0x70, - 0x74, 0x79, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 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, 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, 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, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x3c, + 0x47, 0x61, 0x6d, 0x65, 0x73, 0x52, 0x65, 0x6d, + 0x6f, 0x74, 0x65, 0x44, 0x69, 0x73, 0x70, 0x6c, + 0x61, 0x79, 0x22, 0x20, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 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, 0x68, 0x65, 0x78, 0x70, + 0x61, 0x6e, 0x64, 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, 0x76, 0x65, 0x78, 0x70, + 0x61, 0x6e, 0x64, 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, 0x68, 0x61, 0x6c, 0x69, + 0x67, 0x6e, 0x22, 0x3e, 0x66, 0x69, 0x6c, 0x6c, + 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, 0x76, 0x61, 0x6c, 0x69, 0x67, + 0x6e, 0x22, 0x3e, 0x66, 0x69, 0x6c, 0x6c, 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, 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, - 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, + 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, 0x47, 0x72, 0x69, 0x64, 0x22, + 0x20, 0x69, 0x64, 0x3d, 0x22, 0x67, 0x72, 0x69, + 0x64, 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, 0x63, 0x68, 0x69, 0x6c, - 0x64, 0x3e, 0x3c, 0x6f, 0x62, 0x6a, 0x65, 0x63, - 0x74, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, - 0x22, 0x47, 0x74, 0x6b, 0x49, 0x6d, 0x61, 0x67, - 0x65, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x69, - 0x63, 0x6f, 0x6e, 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, - 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x22, 0x3e, - 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 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, 0x69, 0x78, 0x65, 0x6c, 0x5f, 0x73, - 0x69, 0x7a, 0x65, 0x22, 0x3e, 0x31, 0x32, 0x38, + 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, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, - 0x65, 0x3d, 0x22, 0x69, 0x63, 0x6f, 0x6e, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3e, 0x6f, 0x72, - 0x67, 0x2e, 0x67, 0x6e, 0x6f, 0x6d, 0x65, 0x2e, - 0x47, 0x61, 0x6d, 0x65, 0x73, 0x2d, 0x73, 0x79, + 0x65, 0x3d, 0x22, 0x68, 0x61, 0x6c, 0x69, 0x67, + 0x6e, 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, + 0x72, 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, 0x76, 0x61, 0x6c, 0x69, + 0x67, 0x6e, 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, + 0x65, 0x72, 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, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x22, 0x20, 0x69, 0x64, 0x3d, + 0x22, 0x69, 0x6d, 0x61, 0x67, 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, + 0x69, 0x63, 0x6f, 0x6e, 0x2d, 0x6e, 0x61, 0x6d, + 0x65, 0x22, 0x3e, 0x70, 0x72, 0x65, 0x66, 0x65, + 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, 0x2d, 0x64, + 0x65, 0x73, 0x6b, 0x74, 0x6f, 0x70, 0x2d, 0x72, + 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2d, 0x64, 0x65, + 0x73, 0x6b, 0x74, 0x6f, 0x70, 0x2d, 0x73, 0x79, 0x6d, 0x62, 0x6f, 0x6c, 0x69, 0x63, 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, 0x69, 0x63, 0x6f, 0x6e, 0x2d, 0x73, 0x69, - 0x7a, 0x65, 0x22, 0x3e, 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, - 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x62, - 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x22, 0x3e, 0x31, - 0x38, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x73, 0x74, 0x79, - 0x6c, 0x65, 0x3e, 0x3c, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, - 0x64, 0x69, 0x6d, 0x2d, 0x6c, 0x61, 0x62, 0x65, - 0x6c, 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, + 0x22, 0x70, 0x69, 0x78, 0x65, 0x6c, 0x2d, 0x73, + 0x69, 0x7a, 0x65, 0x22, 0x3e, 0x32, 0x35, 0x36, 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, + 0x65, 0x3d, 0x22, 0x68, 0x61, 0x6c, 0x69, 0x67, + 0x6e, 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, + 0x72, 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, 0x76, 0x61, 0x6c, 0x69, + 0x67, 0x6e, 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, + 0x65, 0x72, 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, 0x2d, 0x62, 0x6f, 0x74, 0x74, + 0x6f, 0x6d, 0x22, 0x3e, 0x32, 0x34, 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, 0x62, 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, 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, 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, + 0x74, 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, 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, 0x6f, 0x70, 0x61, - 0x63, 0x69, 0x74, 0x79, 0x22, 0x3e, 0x30, 0x2e, - 0x35, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x6e, 0x6f, + 0x5f, 0x62, 0x6f, 0x78, 0x65, 0x73, 0x5f, 0x66, + 0x6f, 0x75, 0x6e, 0x64, 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, + 0x6d, 0x65, 0x3d, 0x22, 0x75, 0x73, 0x65, 0x2d, + 0x6d, 0x61, 0x72, 0x6b, 0x75, 0x70, 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, 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, 0x4e, 0x6f, 0x20, 0x67, 0x61, 0x6d, 0x65, - 0x73, 0x20, 0x66, 0x6f, 0x75, 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, 0x68, 0x61, 0x6c, 0x69, 0x67, 0x6e, - 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x68, + 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x22, 0x3e, 0x63, + 0x65, 0x6e, 0x74, 0x65, 0x72, 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, + 0x76, 0x65, 0x78, 0x70, 0x61, 0x6e, 0x64, 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, + 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x62, + 0x6f, 0x74, 0x74, 0x6f, 0x6d, 0x22, 0x3e, 0x36, 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, 0x78, 0x61, 0x6c, 0x69, 0x67, - 0x6e, 0x22, 0x3e, 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, 0x6d, - 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x62, 0x6f, - 0x74, 0x74, 0x6f, 0x6d, 0x22, 0x3e, 0x31, 0x32, - 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x79, 0x3e, 0x3c, 0x61, 0x74, 0x74, 0x72, - 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x3e, 0x3c, + 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, 0x55, 0x73, 0x65, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x61, 0x6d, + 0x65, 0xe2, 0x80, 0x99, 0x73, 0x20, 0x6f, 0x77, + 0x6e, 0x20, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, + 0x20, 0x74, 0x6f, 0x20, 0x70, 0x6c, 0x61, 0x79, + 0x20, 0x69, 0x74, 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, 0x77, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x22, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x3d, 0x22, 0x62, 0x6f, 0x6c, 0x64, 0x22, 0x2f, + 0x3e, 0x3c, 0x21, 0x2d, 0x2d, 0x20, 0x22, 0x31, + 0x2e, 0x32, 0x22, 0x20, 0x69, 0x73, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x76, 0x61, 0x6c, 0x75, 0x65, + 0x20, 0x6f, 0x66, 0x20, 0x22, 0x6c, 0x61, 0x72, + 0x67, 0x65, 0x22, 0x20, 0x2d, 0x2d, 0x3e, 0x3c, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, - 0x77, 0x65, 0x69, 0x67, 0x68, 0x74, 0x22, 0x20, - 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x62, - 0x6f, 0x6c, 0x64, 0x22, 0x2f, 0x3e, 0x3c, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, - 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x73, - 0x63, 0x61, 0x6c, 0x65, 0x22, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x32, 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, + 0x73, 0x63, 0x61, 0x6c, 0x65, 0x22, 0x20, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x31, 0x2e, + 0x32, 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, 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, 0x64, 0x65, + 0x66, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, + 0x5f, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 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, + 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, - 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, 0x4c, 0x61, - 0x62, 0x65, 0x6c, 0x22, 0x20, 0x69, 0x64, 0x3d, - 0x22, 0x65, 0x6d, 0x70, 0x74, 0x79, 0x2d, 0x73, - 0x74, 0x61, 0x74, 0x65, 0x2d, 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, 0x6f, 0x70, 0x61, 0x63, - 0x69, 0x74, 0x79, 0x22, 0x3e, 0x30, 0x2e, 0x35, + 0x75, 0x73, 0x65, 0x2d, 0x6d, 0x61, 0x72, 0x6b, + 0x75, 0x70, 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, - 0x49, 0x6e, 0x73, 0x74, 0x61, 0x6c, 0x6c, 0x20, - 0x67, 0x61, 0x6d, 0x65, 0x73, 0x20, 0x6f, 0x72, - 0x20, 0x61, 0x64, 0x64, 0x20, 0x64, 0x69, 0x72, - 0x65, 0x63, 0x74, 0x6f, 0x72, 0x69, 0x65, 0x73, - 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, - 0x69, 0x6e, 0x67, 0x20, 0x67, 0x61, 0x6d, 0x65, - 0x73, 0x20, 0x74, 0x6f, 0x20, 0x79, 0x6f, 0x75, - 0x72, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, - 0x20, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, - 0x2e, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x65, 0x3d, 0x22, 0x68, 0x61, 0x6c, 0x69, 0x67, + 0x6e, 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, + 0x72, 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, 0x6a, 0x75, 0x73, 0x74, - 0x69, 0x66, 0x79, 0x22, 0x3e, 0x6c, 0x65, 0x66, - 0x74, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, + 0x6d, 0x65, 0x3d, 0x22, 0x76, 0x65, 0x78, 0x70, + 0x61, 0x6e, 0x64, 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, 0x75, 0x73, 0x65, 0x5f, - 0x6d, 0x61, 0x72, 0x6b, 0x75, 0x70, 0x22, 0x3e, - 0x74, 0x72, 0x75, 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, 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, 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, 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, 0x72, 0x65, - 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x73, - 0x2d, 0x70, 0x61, 0x67, 0x65, 0x2d, 0x76, 0x69, - 0x64, 0x65, 0x6f, 0x2e, 0x75, 0x69, 0x00, 0x00, - 0x55, 0x06, 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, 0x74, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x3d, 0x22, 0x47, 0x61, 0x6d, 0x65, 0x73, - 0x50, 0x72, 0x65, 0x66, 0x65, 0x72, 0x65, 0x6e, - 0x63, 0x65, 0x73, 0x50, 0x61, 0x67, 0x65, 0x56, - 0x69, 0x64, 0x65, 0x6f, 0x22, 0x20, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 0x3d, 0x22, 0x47, 0x74, - 0x6b, 0x42, 0x69, 0x6e, 0x22, 0x3e, 0x3c, 0x70, + 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, 0x67, 0x61, 0x6d, 0x65, 0x20, + 0x69, 0x73, 0x6e, 0xe2, 0x80, 0x99, 0x74, 0x20, + 0x69, 0x6e, 0x74, 0x65, 0x67, 0x72, 0x61, 0x74, + 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x47, 0x4e, + 0x4f, 0x4d, 0x45, 0x20, 0x47, 0x61, 0x6d, 0x65, + 0x73, 0x2e, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x73, 0x74, + 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x63, 0x6c, 0x61, + 0x73, 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x22, 0x64, 0x69, 0x6d, 0x2d, 0x6c, 0x61, 0x62, + 0x65, 0x6c, 0x22, 0x2f, 0x3e, 0x3c, 0x2f, 0x73, + 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x2f, 0x6f, + 0x62, 0x6a, 0x65, 0x63, 0x74, 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, 0x69, 0x6e, 0x73, 0x74, 0x72, 0x75, + 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 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, 0x63, 0x72, 0x6f, 0x6c, 0x6c, - 0x65, 0x64, 0x57, 0x69, 0x6e, 0x64, 0x6f, 0x77, - 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, 0x54, 0x72, 0x75, - 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, 0x56, 0x69, 0x65, - 0x77, 0x70, 0x6f, 0x72, 0x74, 0x22, 0x3e, 0x3c, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x75, 0x73, + 0x65, 0x2d, 0x6d, 0x61, 0x72, 0x6b, 0x75, 0x70, + 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, 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, + 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, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 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, 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, 0x63, 0x68, 0x69, 0x6c, 0x64, - 0x3e, 0x3c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, - 0x47, 0x74, 0x6b, 0x46, 0x72, 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, + 0x3d, 0x22, 0x76, 0x65, 0x78, 0x70, 0x61, 0x6e, + 0x64, 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, 0x62, 0x6f, 0x72, - 0x64, 0x65, 0x72, 0x5f, 0x77, 0x69, 0x64, 0x74, - 0x68, 0x22, 0x3e, 0x31, 0x32, 0x3c, 0x2f, 0x70, + 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, 0x59, 0x6f, 0x75, 0x20, + 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x6f, 0x20, + 0x75, 0x73, 0x65, 0x20, 0x69, 0x74, 0x73, 0x20, + 0x6f, 0x77, 0x6e, 0x20, 0x77, 0x69, 0x6e, 0x64, + 0x6f, 0x77, 0x20, 0x74, 0x6f, 0x20, 0x70, 0x6c, + 0x61, 0x79, 0x20, 0x69, 0x74, 0x2e, 0x3c, 0x2f, + 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x3e, 0x3c, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, + 0x3c, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x20, 0x6e, + 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x64, 0x69, 0x6d, + 0x2d, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x22, 0x2f, + 0x3e, 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, + 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, 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, 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, 0x66, 0x69, 0x6c, 0x6c, 0x22, + 0x3e, 0x54, 0x72, 0x75, 0x65, 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, 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, 0x67, 0x61, 0x6d, 0x65, 0x2d, 0x69, + 0x63, 0x6f, 0x6e, 0x2d, 0x76, 0x69, 0x65, 0x77, + 0x2e, 0x75, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x80, 0x06, 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, 0x72, 0x65, 0x71, 0x75, 0x69, + 0x72, 0x65, 0x73, 0x20, 0x6c, 0x69, 0x62, 0x3d, + 0x22, 0x67, 0x74, 0x6b, 0x2b, 0x22, 0x20, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, + 0x33, 0x2e, 0x31, 0x36, 0x22, 0x2f, 0x3e, 0x3c, + 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, + 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, + 0x47, 0x61, 0x6d, 0x65, 0x73, 0x47, 0x61, 0x6d, + 0x65, 0x49, 0x63, 0x6f, 0x6e, 0x56, 0x69, 0x65, + 0x77, 0x22, 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, + 0x74, 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, 0x2d, 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, 0x70, + 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x68, 0x61, + 0x6c, 0x69, 0x67, 0x6e, 0x22, 0x3e, 0x63, 0x65, + 0x6e, 0x74, 0x65, 0x72, 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, 0x61, 0x6d, + 0x65, 0x73, 0x47, 0x61, 0x6d, 0x65, 0x54, 0x68, + 0x75, 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x22, + 0x20, 0x69, 0x64, 0x3d, 0x22, 0x74, 0x68, 0x75, + 0x6d, 0x62, 0x6e, 0x61, 0x69, 0x6c, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, - 0x76, 0x61, 0x6c, 0x69, 0x67, 0x6e, 0x22, 0x3e, - 0x73, 0x74, 0x61, 0x72, 0x74, 0x3c, 0x2f, 0x70, + 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, - 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x5f, 0x74, - 0x79, 0x70, 0x65, 0x22, 0x3e, 0x6e, 0x6f, 0x6e, - 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, 0x41, 0x6c, 0x69, - 0x67, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x3e, + 0x77, 0x69, 0x64, 0x74, 0x68, 0x2d, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3e, 0x32, + 0x35, 0x36, 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, 0x65, 0x69, + 0x67, 0x68, 0x74, 0x2d, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x22, 0x3e, 0x32, 0x35, 0x36, + 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, 0x46, 0x61, 0x6c, 0x73, 0x65, + 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, 0x74, 0x69, 0x74, 0x6c, 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, @@ -12239,397 +8044,126 @@ 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, - 0x31, 0x32, 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, 0x69, - 0x73, 0x74, 0x42, 0x6f, 0x78, 0x22, 0x20, 0x69, - 0x64, 0x3d, 0x22, 0x66, 0x69, 0x6c, 0x74, 0x65, - 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, 0x62, - 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, + 0x77, 0x69, 0x64, 0x74, 0x68, 0x2d, 0x72, 0x65, + 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3e, 0x32, + 0x35, 0x36, 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, 0x65, 0x6c, 0x6c, + 0x69, 0x70, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x3e, + 0x6d, 0x69, 0x64, 0x64, 0x6c, 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, - 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x73, - 0x65, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x5f, 0x6d, 0x6f, 0x64, 0x65, 0x22, 0x3e, 0x6e, - 0x6f, 0x6e, 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, - 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x73, - 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e, 0x61, - 0x6d, 0x65, 0x3d, 0x22, 0x72, 0x6f, 0x77, 0x2d, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x64, 0x22, 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, - 0x65, 0x72, 0x3d, 0x22, 0x66, 0x69, 0x6c, 0x74, - 0x65, 0x72, 0x5f, 0x6c, 0x69, 0x73, 0x74, 0x5f, - 0x62, 0x6f, 0x78, 0x5f, 0x72, 0x6f, 0x77, 0x5f, - 0x61, 0x63, 0x74, 0x69, 0x76, 0x61, 0x74, 0x65, - 0x64, 0x22, 0x2f, 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, 0x6c, 0x61, 0x62, 0x65, 0x6c, - 0x22, 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, + 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, + 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, + 0x22, 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x79, + 0x22, 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 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, + 0x65, 0x3d, 0x22, 0x6c, 0x69, 0x6e, 0x65, 0x73, + 0x22, 0x3e, 0x32, 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, - 0x46, 0x69, 0x6c, 0x74, 0x65, 0x72, 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, 0x77, 0x65, - 0x69, 0x67, 0x68, 0x74, 0x22, 0x20, 0x76, 0x61, - 0x6c, 0x75, 0x65, 0x3d, 0x22, 0x62, 0x6f, 0x6c, - 0x64, 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, 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, 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, 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, 0x5f, - 0x62, 0x61, 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, 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, 0x56, - 0x69, 0x64, 0x65, 0x6f, 0x3c, 0x2f, 0x70, 0x72, - 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, - 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x3e, - 0x3c, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, - 0x61, 0x63, 0x65, 0x3e, 0x0a, 0x00, 0x00, 0x28, - 0x75, 0x75, 0x61, 0x79, 0x29, 0x67, 0x61, 0x6d, - 0x65, 0x70, 0x61, 0x64, 0x2d, 0x6d, 0x61, 0x70, - 0x70, 0x65, 0x72, 0x2e, 0x75, 0x69, 0x00, 0x00, - 0x0d, 0x04, 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, 0x74, 0x65, 0x6d, 0x70, 0x6c, - 0x61, 0x74, 0x65, 0x20, 0x63, 0x6c, 0x61, 0x73, - 0x73, 0x3d, 0x22, 0x47, 0x61, 0x6d, 0x65, 0x73, - 0x47, 0x61, 0x6d, 0x65, 0x70, 0x61, 0x64, 0x4d, - 0x61, 0x70, 0x70, 0x65, 0x72, 0x22, 0x20, 0x70, - 0x61, 0x72, 0x65, 0x6e, 0x74, 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, 0x61, 0x6d, 0x65, 0x73, 0x47, 0x61, 0x6d, - 0x65, 0x70, 0x61, 0x64, 0x56, 0x69, 0x65, 0x77, - 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x67, 0x61, - 0x6d, 0x65, 0x70, 0x61, 0x64, 0x5f, 0x76, 0x69, - 0x65, 0x77, 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, 0x68, 0x61, 0x6c, 0x69, - 0x67, 0x6e, 0x22, 0x3e, 0x66, 0x69, 0x6c, 0x6c, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6d, 0x61, + 0x78, 0x2d, 0x77, 0x69, 0x64, 0x74, 0x68, 0x2d, + 0x63, 0x68, 0x61, 0x72, 0x73, 0x22, 0x3e, 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, 0x76, 0x61, 0x6c, 0x69, 0x67, - 0x6e, 0x22, 0x3e, 0x66, 0x69, 0x6c, 0x6c, 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, 0x65, 0x78, 0x70, 0x61, 0x6e, - 0x64, 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, 0x76, 0x65, 0x78, 0x70, 0x61, 0x6e, - 0x64, 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, 0x3c, - 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x79, 0x3e, 0x3c, 0x2f, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 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, 0x41, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x42, 0x61, 0x72, 0x22, 0x20, 0x69, - 0x64, 0x3d, 0x22, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x62, 0x61, 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, + 0x65, 0x3d, 0x22, 0x77, 0x72, 0x61, 0x70, 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, + 0x77, 0x72, 0x61, 0x70, 0x2d, 0x6d, 0x6f, 0x64, + 0x65, 0x22, 0x3e, 0x77, 0x6f, 0x72, 0x64, 0x2d, + 0x63, 0x68, 0x61, 0x72, 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, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, 0x20, - 0x69, 0x64, 0x3d, 0x22, 0x73, 0x6b, 0x69, 0x70, - 0x5f, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x22, + 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, 0x76, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, - 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, + 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, 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, 0x53, 0x6b, 0x69, 0x70, 0x3c, - 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, - 0x79, 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, - 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, - 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x65, 0x64, 0x22, - 0x20, 0x68, 0x61, 0x6e, 0x64, 0x6c, 0x65, 0x72, - 0x3d, 0x22, 0x6f, 0x6e, 0x5f, 0x73, 0x6b, 0x69, - 0x70, 0x5f, 0x63, 0x6c, 0x69, 0x63, 0x6b, 0x65, - 0x64, 0x22, 0x2f, 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, 0x2d, 0x74, 0x79, 0x70, 0x65, 0x22, - 0x3e, 0x73, 0x74, 0x61, 0x72, 0x74, 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, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, - 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 0x22, 0x3e, + 0x22, 0x66, 0x69, 0x6c, 0x6c, 0x22, 0x3e, 0x46, + 0x61, 0x6c, 0x73, 0x65, 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, 0x69, 0x6e, 0x66, - 0x6f, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, - 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, 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, 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, 0x71, 0x75, 0x69, - 0x74, 0x2d, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, - 0x2e, 0x75, 0x69, 0x00, 0x00, 0x00, 0x00, 0x00, - 0x83, 0x04, 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, 0x72, 0x65, 0x71, 0x75, 0x69, - 0x72, 0x65, 0x73, 0x20, 0x6c, 0x69, 0x62, 0x3d, - 0x22, 0x67, 0x74, 0x6b, 0x2b, 0x22, 0x20, 0x76, - 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, - 0x33, 0x2e, 0x31, 0x36, 0x22, 0x2f, 0x3e, 0x3c, - 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, - 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, - 0x47, 0x61, 0x6d, 0x65, 0x73, 0x51, 0x75, 0x69, - 0x74, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x22, - 0x20, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x3d, - 0x22, 0x47, 0x74, 0x6b, 0x4d, 0x65, 0x73, 0x73, - 0x61, 0x67, 0x65, 0x44, 0x69, 0x61, 0x6c, 0x6f, - 0x67, 0x22, 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, - 0x65, 0x3d, 0x22, 0x6d, 0x6f, 0x64, 0x61, 0x6c, - 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, + 0x20, 0x69, 0x64, 0x3d, 0x22, 0x73, 0x75, 0x62, + 0x74, 0x69, 0x74, 0x6c, 0x65, 0x22, 0x3e, 0x3c, 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, 0x73, 0x74, 0x72, 0x6f, 0x79, - 0x2d, 0x77, 0x69, 0x74, 0x68, 0x2d, 0x70, 0x61, - 0x72, 0x65, 0x6e, 0x74, 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, 0x74, 0x79, 0x70, - 0x65, 0x5f, 0x68, 0x69, 0x6e, 0x74, 0x22, 0x3e, - 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x3c, 0x2f, + 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, - 0x3e, 0x3c, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, - 0x74, 0x79, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, - 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x22, 0x3e, 0x71, - 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 0x3c, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x77, + 0x69, 0x64, 0x74, 0x68, 0x2d, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x22, 0x3e, 0x32, 0x35, + 0x36, 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, 0x65, 0x6c, 0x6c, 0x69, + 0x70, 0x73, 0x69, 0x7a, 0x65, 0x22, 0x3e, 0x6d, + 0x69, 0x64, 0x64, 0x6c, 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, + 0x6a, 0x75, 0x73, 0x74, 0x69, 0x66, 0x79, 0x22, + 0x3e, 0x63, 0x65, 0x6e, 0x74, 0x65, 0x72, 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, 0x65, 0x78, 0x74, 0x22, 0x20, - 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, - 0x61, 0x62, 0x6c, 0x65, 0x3d, 0x22, 0x79, 0x65, - 0x73, 0x22, 0x3e, 0x41, 0x72, 0x65, 0x20, 0x79, - 0x6f, 0x75, 0x20, 0x73, 0x75, 0x72, 0x65, 0x20, - 0x79, 0x6f, 0x75, 0x20, 0x77, 0x61, 0x6e, 0x74, - 0x20, 0x74, 0x6f, 0x20, 0x71, 0x75, 0x69, 0x74, - 0x3f, 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, 0x65, 0x63, 0x6f, - 0x6e, 0x64, 0x61, 0x72, 0x79, 0x5f, 0x74, 0x65, - 0x78, 0x74, 0x22, 0x20, 0x74, 0x72, 0x61, 0x6e, - 0x73, 0x6c, 0x61, 0x74, 0x61, 0x62, 0x6c, 0x65, - 0x3d, 0x22, 0x79, 0x65, 0x73, 0x22, 0x3e, 0x41, - 0x6c, 0x6c, 0x20, 0x75, 0x6e, 0x73, 0x61, 0x76, - 0x65, 0x64, 0x20, 0x70, 0x72, 0x6f, 0x67, 0x72, - 0x65, 0x73, 0x73, 0x20, 0x77, 0x69, 0x6c, 0x6c, - 0x20, 0x62, 0x65, 0x20, 0x6c, 0x6f, 0x73, 0x74, - 0x2e, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, - 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x63, 0x68, 0x69, - 0x6c, 0x64, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, - 0x22, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, - 0x3e, 0x3c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x3d, 0x22, - 0x47, 0x74, 0x6b, 0x42, 0x75, 0x74, 0x74, 0x6f, - 0x6e, 0x22, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x62, - 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x5f, 0x63, 0x61, - 0x6e, 0x63, 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, 0x2d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, - 0x74, 0x22, 0x3e, 0x54, 0x72, 0x75, 0x65, 0x3c, + 0x3d, 0x22, 0x6c, 0x69, 0x6e, 0x65, 0x73, 0x22, + 0x3e, 0x31, 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, 0x78, + 0x2d, 0x77, 0x69, 0x64, 0x74, 0x68, 0x2d, 0x63, + 0x68, 0x61, 0x72, 0x73, 0x22, 0x3e, 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, 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, 0x43, 0x61, 0x6e, 0x63, - 0x65, 0x6c, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, - 0x65, 0x72, 0x74, 0x79, 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, 0x61, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x22, 0x3e, 0x3c, 0x6f, 0x62, 0x6a, 0x65, - 0x63, 0x74, 0x20, 0x63, 0x6c, 0x61, 0x73, 0x73, - 0x3d, 0x22, 0x47, 0x74, 0x6b, 0x42, 0x75, 0x74, - 0x74, 0x6f, 0x6e, 0x22, 0x20, 0x69, 0x64, 0x3d, - 0x22, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, 0x5f, - 0x71, 0x75, 0x69, 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, 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, - 0x51, 0x75, 0x69, 0x74, 0x3c, 0x2f, 0x70, 0x72, + 0x3d, 0x22, 0x77, 0x72, 0x61, 0x70, 0x22, 0x3e, + 0x54, 0x72, 0x75, 0x65, 0x3c, 0x2f, 0x70, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, - 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x63, - 0x6c, 0x61, 0x73, 0x73, 0x20, 0x6e, 0x61, 0x6d, - 0x65, 0x3d, 0x22, 0x64, 0x65, 0x73, 0x74, 0x72, - 0x75, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2d, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x2f, 0x3e, - 0x3c, 0x2f, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3e, - 0x3c, 0x2f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, - 0x3e, 0x3c, 0x2f, 0x63, 0x68, 0x69, 0x6c, 0x64, - 0x3e, 0x3c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x2d, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x73, - 0x3e, 0x3c, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x2d, 0x77, 0x69, 0x64, 0x67, 0x65, 0x74, 0x20, - 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x3d, 0x22, 0x61, 0x63, 0x63, 0x65, 0x70, 0x74, - 0x22, 0x3e, 0x62, 0x75, 0x74, 0x74, 0x6f, 0x6e, - 0x5f, 0x71, 0x75, 0x69, 0x74, 0x3c, 0x2f, 0x61, - 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x77, 0x69, - 0x64, 0x67, 0x65, 0x74, 0x3e, 0x3c, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x2d, 0x77, 0x69, 0x64, - 0x67, 0x65, 0x74, 0x20, 0x72, 0x65, 0x73, 0x70, - 0x6f, 0x6e, 0x73, 0x65, 0x3d, 0x22, 0x63, 0x61, - 0x6e, 0x63, 0x65, 0x6c, 0x22, 0x20, 0x64, 0x65, - 0x66, 0x61, 0x75, 0x6c, 0x74, 0x3d, 0x22, 0x74, - 0x72, 0x75, 0x65, 0x22, 0x3e, 0x62, 0x75, 0x74, - 0x74, 0x6f, 0x6e, 0x5f, 0x63, 0x61, 0x6e, 0x63, - 0x65, 0x6c, 0x3c, 0x2f, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x2d, 0x77, 0x69, 0x64, 0x67, 0x65, - 0x74, 0x3e, 0x3c, 0x2f, 0x61, 0x63, 0x74, 0x69, - 0x6f, 0x6e, 0x2d, 0x77, 0x69, 0x64, 0x67, 0x65, - 0x74, 0x73, 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, 0x72, 0x6f, 0x70, 0x65, 0x72, 0x74, 0x79, + 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x77, + 0x72, 0x61, 0x70, 0x2d, 0x6d, 0x6f, 0x64, 0x65, + 0x22, 0x3e, 0x77, 0x6f, 0x72, 0x64, 0x2d, 0x63, + 0x68, 0x61, 0x72, 0x3c, 0x2f, 0x70, 0x72, 0x6f, + 0x70, 0x65, 0x72, 0x74, 0x79, 0x3e, 0x3c, 0x73, + 0x74, 0x79, 0x6c, 0x65, 0x3e, 0x3c, 0x63, 0x6c, + 0x61, 0x73, 0x73, 0x20, 0x6e, 0x61, 0x6d, 0x65, + 0x3d, 0x22, 0x64, 0x69, 0x6d, 0x2d, 0x6c, 0x61, + 0x62, 0x65, 0x6c, 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, 0x46, 0x61, + 0x6c, 0x73, 0x65, 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, 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 } }; static GStaticResource static_resource = { org_resource_data.data, sizeof (org_resource_data.data), NULL, NULL, NULL }; diff -Nru gnome-games-app-3.26.2/src/retro/retro-core-source.c gnome-games-app-3.28.0/src/retro/retro-core-source.c --- gnome-games-app-3.26.2/src/retro/retro-core-source.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/retro/retro-core-source.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* retro-core-source.c generated by valac 0.38.2, the Vala compiler +/* retro-core-source.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from retro-core-source.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -22,16 +22,9 @@ typedef struct _GamesRetroCoreSource GamesRetroCoreSource; typedef struct _GamesRetroCoreSourceClass GamesRetroCoreSourceClass; typedef struct _GamesRetroCoreSourcePrivate GamesRetroCoreSourcePrivate; -enum { - GAMES_RETRO_CORE_SOURCE_DUMMY_PROPERTY, - GAMES_RETRO_CORE_SOURCE_LAST_PROPERTY -}; -static GParamSpec* games_retro_core_source_properties[GAMES_RETRO_CORE_SOURCE_LAST_PROPERTY]; #define _g_free0(var) (var = (g_free (var), NULL)) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) -#define _retro_module_iterator_unref0(var) ((var == NULL) ? NULL : (var = (retro_module_iterator_unref (var), NULL))) -#define _retro_module_query_unref0(var) ((var == NULL) ? NULL : (var = (retro_module_query_unref (var), NULL))) #define _g_bytes_unref0(var) ((var == NULL) ? NULL : (var = (g_bytes_unref (var), NULL))) struct _GamesRetroCoreSource { @@ -65,6 +58,9 @@ GType games_retro_core_source_get_type (void) G_GNUC_CONST; #define GAMES_RETRO_CORE_SOURCE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_RETRO_CORE_SOURCE, GamesRetroCoreSourcePrivate)) +enum { + GAMES_RETRO_CORE_SOURCE_0_PROPERTY +}; GamesRetroCoreSource* games_retro_core_source_new (const gchar* platform, gchar** mime_types, int mime_types_length1); GamesRetroCoreSource* games_retro_core_source_construct (GType object_type, const gchar* platform, gchar** mime_types, int mime_types_length1); static gchar** _vala_array_dup7 (gchar** self, int length); @@ -73,6 +69,7 @@ static void games_retro_core_source_ensure_module_is_found (GamesRetroCoreSource* self, GError** error); GQuark games_retro_error_quark (void); static void games_retro_core_source_search_module (GamesRetroCoreSource* self, GError** error); +gchar** retro_core_descriptor_get_firmwares (RetroCoreDescriptor* core_descriptor, const gchar* platform, gsize* result_length1, GError** error); static void games_retro_core_source_check_firmware_is_valid (GamesRetroCoreSource* self, const gchar* firmware, GError** error); gchar* games_application_get_platforms_dir (void); static void games_retro_core_source_finalize (GObject * obj); @@ -141,44 +138,44 @@ gchar* result = NULL; const gchar* _tmp0_; gboolean _tmp1_ = FALSE; - gboolean _tmp2_ = FALSE; - gchar** _tmp3_; - gint _tmp3__length1; + gchar** _tmp2_; + gint _tmp2__length1; _tmp0_ = separator; if (_tmp0_ == NULL) { separator = ""; } - _tmp3_ = str_array; - _tmp3__length1 = str_array_length1; - if (_tmp3_ != NULL) { - _tmp2_ = TRUE; - } else { + _tmp2_ = str_array; + _tmp2__length1 = str_array_length1; + if (_tmp2_ != NULL) { + gboolean _tmp3_ = FALSE; gchar** _tmp4_; gint _tmp4__length1; _tmp4_ = str_array; _tmp4__length1 = str_array_length1; - _tmp2_ = _tmp4__length1 > 0; - } - if (_tmp2_) { - _tmp1_ = TRUE; - } else { - gboolean _tmp5_ = FALSE; - gchar** _tmp6_; - gint _tmp6__length1; - _tmp6_ = str_array; - _tmp6__length1 = str_array_length1; - if (_tmp6__length1 == -1) { - gchar** _tmp7_; - gint _tmp7__length1; - const gchar* _tmp8_; - _tmp7_ = str_array; - _tmp7__length1 = str_array_length1; - _tmp8_ = _tmp7_[0]; - _tmp5_ = _tmp8_ != NULL; + if (_tmp4__length1 > 0) { + _tmp3_ = TRUE; } else { - _tmp5_ = FALSE; + gboolean _tmp5_ = FALSE; + gchar** _tmp6_; + gint _tmp6__length1; + _tmp6_ = str_array; + _tmp6__length1 = str_array_length1; + if (_tmp6__length1 == -1) { + gchar** _tmp7_; + gint _tmp7__length1; + const gchar* _tmp8_; + _tmp7_ = str_array; + _tmp7__length1 = str_array_length1; + _tmp8_ = _tmp7_[0]; + _tmp5_ = _tmp8_ != NULL; + } else { + _tmp5_ = FALSE; + } + _tmp3_ = _tmp5_; } - _tmp1_ = _tmp5_; + _tmp1_ = _tmp3_; + } else { + _tmp1_ = FALSE; } if (_tmp1_) { gint i = 0; @@ -484,7 +481,7 @@ gchar** _tmp12_ = NULL; RetroCoreDescriptor* _tmp13_; const gchar* _tmp14_; - gint _tmp15_; + gsize _tmp15_; gchar** _tmp16_; gint _tmp12__length1; gint __tmp12__size_; @@ -575,8 +572,11 @@ gchar** _tmp16_; gint _tmp16__length1; gboolean _tmp17_; - RetroCoreDescriptor* _tmp18_; + GFile* _tmp18_ = NULL; RetroCoreDescriptor* _tmp19_; + GFile* _tmp20_; + RetroCoreDescriptor* _tmp21_; + RetroCoreDescriptor* _tmp22_; _tmp8_ = core_descriptor; _tmp9_ = retro_core_descriptor_get_is_emulator (_tmp8_, &_inner_error_); _tmp7_ = _tmp9_; @@ -598,7 +598,7 @@ _tmp15_ = self->priv->platform; _tmp16_ = self->priv->mime_types; _tmp16__length1 = self->priv->mime_types_length1; - _tmp17_ = retro_core_descriptor_get_platform_supports_mime_types (_tmp14_, _tmp15_, _tmp16_, _tmp16__length1, &_inner_error_); + _tmp17_ = retro_core_descriptor_get_platform_supports_mime_types (_tmp14_, _tmp15_, _tmp16_, &_inner_error_); _tmp13_ = _tmp17_; if (G_UNLIKELY (_inner_error_ != NULL)) { goto __catch13_g_error; @@ -607,10 +607,22 @@ _g_object_unref0 (core_descriptor); continue; } - _tmp18_ = core_descriptor; - _tmp19_ = _g_object_ref0 (_tmp18_); + _tmp19_ = core_descriptor; + _tmp20_ = retro_core_descriptor_get_module_file (_tmp19_, &_inner_error_); + _tmp18_ = _tmp20_; + if (G_UNLIKELY (_inner_error_ != NULL)) { + goto __catch13_g_error; + } + if (_tmp18_ == NULL) { + _g_object_unref0 (_tmp18_); + _g_object_unref0 (core_descriptor); + continue; + } + _tmp21_ = core_descriptor; + _tmp22_ = _g_object_ref0 (_tmp21_); _g_object_unref0 (self->priv->core_descriptor); - self->priv->core_descriptor = _tmp19_; + self->priv->core_descriptor = _tmp22_; + _g_object_unref0 (_tmp18_); _g_object_unref0 (core_descriptor); break; } @@ -618,28 +630,28 @@ __catch13_g_error: { GError* e = NULL; - GError* _tmp20_; - const gchar* _tmp21_; + GError* _tmp23_; + const gchar* _tmp24_; e = _inner_error_; _inner_error_ = NULL; - _tmp20_ = e; - _tmp21_ = _tmp20_->message; - g_debug ("retro-core-source.vala:62: %s", _tmp21_); + _tmp23_ = e; + _tmp24_ = _tmp23_->message; + g_debug ("retro-core-source.vala:65: %s", _tmp24_); _g_error_free0 (e); } __finally13: if (G_UNLIKELY (_inner_error_ != NULL)) { g_propagate_error (error, _inner_error_); _g_object_unref0 (core_descriptor); - _retro_module_iterator_unref0 (_core_descriptor_it); - _retro_module_query_unref0 (modules); + _g_object_unref0 (_core_descriptor_it); + _g_object_unref0 (modules); return; } _g_object_unref0 (core_descriptor); } - _retro_module_iterator_unref0 (_core_descriptor_it); + _g_object_unref0 (_core_descriptor_it); } - _retro_module_query_unref0 (modules); + _g_object_unref0 (modules); } diff -Nru gnome-games-app-3.26.2/src/retro/retro-core-source.vala gnome-games-app-3.28.0/src/retro/retro-core-source.vala --- gnome-games-app-3.26.2/src/retro/retro-core-source.vala 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/src/retro/retro-core-source.vala 2018-03-12 14:10:38.000000000 +0000 @@ -37,7 +37,7 @@ throw new RetroError.MODULE_NOT_FOUND (_("No module found for platform “%s” and MIME types [ “%s” ]."), platform, string.joinv (_("”, “"), mime_types)); if (core_descriptor.has_firmwares (platform)) - foreach (var firmware in core_descriptor.get_firmwares (platform)) + foreach (var firmware in core_descriptor_get_firmwares (core_descriptor, platform)) check_firmware_is_valid (firmware); } @@ -54,6 +54,9 @@ if (!core_descriptor.get_platform_supports_mime_types (platform, mime_types)) continue; + if (core_descriptor.get_module_file () == null) + continue; + this.core_descriptor = core_descriptor; break; @@ -99,4 +102,9 @@ throw new RetroError.FIRMWARE_NOT_FOUND (_("This game requires the %s firmware file with a SHA-512 fingerprint of %s to run."), firmware_file.get_path (), sha512); } } + + // FIXME Workaround a bug in valac or vapigen preventing from using the + // version from the retro-gtk VAPI. + [CCode (cname="retro_core_descriptor_get_firmwares", array_length=true, array_length_cname="length", array_length_type="gsize")] + private static extern string[] core_descriptor_get_firmwares (Retro.CoreDescriptor core_descriptor, string platform) throws Error; } diff -Nru gnome-games-app-3.26.2/src/retro/retro-error.c gnome-games-app-3.28.0/src/retro/retro-error.c --- gnome-games-app-3.26.2/src/retro/retro-error.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/retro/retro-error.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* retro-error.c generated by valac 0.38.2, the Vala compiler +/* retro-error.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from retro-error.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/src/retro/retro-gamepad.c gnome-games-app-3.28.0/src/retro/retro-gamepad.c --- gnome-games-app-3.26.2/src/retro/retro-gamepad.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/retro/retro-gamepad.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* retro-gamepad.c generated by valac 0.38.2, the Vala compiler +/* retro-gamepad.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from retro-gamepad.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -6,9 +6,10 @@ #include #include #include -#include +#include #include -#include +#include +#include #define GAMES_TYPE_RETRO_GAMEPAD (games_retro_gamepad_get_type ()) @@ -21,13 +22,6 @@ typedef struct _GamesRetroGamepad GamesRetroGamepad; typedef struct _GamesRetroGamepadClass GamesRetroGamepadClass; typedef struct _GamesRetroGamepadPrivate GamesRetroGamepadPrivate; -enum { - GAMES_RETRO_GAMEPAD_DUMMY_PROPERTY, - GAMES_RETRO_GAMEPAD_GAMEPAD_PROPERTY, - GAMES_RETRO_GAMEPAD_PRESENT_ANALOG_STICKS_PROPERTY, - GAMES_RETRO_GAMEPAD_LAST_PROPERTY -}; -static GParamSpec* games_retro_gamepad_properties[GAMES_RETRO_GAMEPAD_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) struct _GamesRetroGamepad { @@ -40,7 +34,7 @@ }; struct _GamesRetroGamepadPrivate { - GamesGamepad* _gamepad; + ManetteDevice* _device; gboolean _present_analog_sticks; gboolean* buttons; gint buttons_length1; @@ -48,92 +42,127 @@ gint16* axes; gint axes_length1; gint _axes_size_; + guint16 rumble_effect[2]; }; static gpointer games_retro_gamepad_parent_class = NULL; -static RetroInputDeviceIface * games_retro_gamepad_retro_input_device_parent_iface = NULL; +static RetroControllerInterface * games_retro_gamepad_retro_controller_parent_iface = NULL; GType games_retro_gamepad_get_type (void) G_GNUC_CONST; #define GAMES_RETRO_GAMEPAD_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_RETRO_GAMEPAD, GamesRetroGamepadPrivate)) -GamesRetroGamepad* games_retro_gamepad_new (GamesGamepad* gamepad, gboolean present_analog_sticks); -GamesRetroGamepad* games_retro_gamepad_construct (GType object_type, GamesGamepad* gamepad, gboolean present_analog_sticks); -static void games_retro_gamepad_real_poll (RetroInputDevice* base); -static gint16 games_retro_gamepad_real_get_input_state (RetroInputDevice* base, RetroDeviceType device, guint index, guint id); -gboolean games_retro_gamepad_get_button_pressed (GamesRetroGamepad* self, RetroJoypadId button); -gint16 games_retro_gamepad_get_analog_value (GamesRetroGamepad* self, RetroAnalogIndex index, RetroAnalogId id); -static RetroDeviceType games_retro_gamepad_real_get_device_type (RetroInputDevice* base); +enum { + GAMES_RETRO_GAMEPAD_0_PROPERTY, + GAMES_RETRO_GAMEPAD_DEVICE_PROPERTY, + GAMES_RETRO_GAMEPAD_PRESENT_ANALOG_STICKS_PROPERTY +}; +GamesRetroGamepad* games_retro_gamepad_new (ManetteDevice* device, gboolean present_analog_sticks); +GamesRetroGamepad* games_retro_gamepad_construct (GType object_type, ManetteDevice* device, gboolean present_analog_sticks); +static void games_retro_gamepad_real_poll (RetroController* base); +static gint16 games_retro_gamepad_real_get_input_state (RetroController* base, RetroInput* input); +static gboolean games_retro_gamepad_get_button_pressed (GamesRetroGamepad* self, RetroJoypadId button); +static gint16 games_retro_gamepad_get_analog_value (GamesRetroGamepad* self, RetroAnalogIndex index, RetroAnalogId id); +static RetroControllerType games_retro_gamepad_real_get_controller_type (RetroController* base); gboolean games_retro_gamepad_get_present_analog_sticks (GamesRetroGamepad* self); -static guint64 games_retro_gamepad_real_get_device_capabilities (RetroInputDevice* base); -GamesGamepad* games_retro_gamepad_get_gamepad (GamesRetroGamepad* self); -static void games_retro_gamepad_set_gamepad (GamesRetroGamepad* self, GamesGamepad* value); +static guint64 games_retro_gamepad_real_get_capabilities (RetroController* base); +static gboolean games_retro_gamepad_real_set_rumble_state (RetroController* base, RetroRumbleEffect effect, guint16 strength); +ManetteDevice* games_retro_gamepad_get_device (GamesRetroGamepad* self); +static void games_retro_gamepad_on_button_press_event (GamesRetroGamepad* self, ManetteEvent* event); +static void games_retro_gamepad_on_button_release_event (GamesRetroGamepad* self, ManetteEvent* event); +static void games_retro_gamepad_on_absolute_axis_event (GamesRetroGamepad* self, ManetteEvent* event); +static void games_retro_gamepad_set_device (GamesRetroGamepad* self, ManetteDevice* value); static void games_retro_gamepad_set_present_analog_sticks (GamesRetroGamepad* self, gboolean value); static GObject * games_retro_gamepad_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties); -static void _games_retro_gamepad___lambda19_ (GamesRetroGamepad* self, GamesEvent* event); -static void __games_retro_gamepad___lambda19__games_gamepad_button_press_event (GamesGamepad* _sender, GamesEvent* event, gpointer self); -static void _games_retro_gamepad___lambda20_ (GamesRetroGamepad* self, GamesEvent* event); -static void __games_retro_gamepad___lambda20__games_gamepad_button_release_event (GamesGamepad* _sender, GamesEvent* event, gpointer self); -static void _games_retro_gamepad___lambda21_ (GamesRetroGamepad* self, GamesEvent* event); -static void __games_retro_gamepad___lambda21__games_gamepad_axis_event (GamesGamepad* _sender, GamesEvent* event, gpointer self); +static void _games_retro_gamepad_on_button_press_event_manette_device_button_press_event (ManetteDevice* _sender, ManetteEvent* event, gpointer self); +static void _games_retro_gamepad_on_button_release_event_manette_device_button_release_event (ManetteDevice* _sender, ManetteEvent* event, gpointer self); +static void _games_retro_gamepad_on_absolute_axis_event_manette_device_absolute_axis_event (ManetteDevice* _sender, ManetteEvent* event, gpointer self); static void games_retro_gamepad_finalize (GObject * obj); static void _vala_games_retro_gamepad_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); static void _vala_games_retro_gamepad_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); -GamesRetroGamepad* games_retro_gamepad_construct (GType object_type, GamesGamepad* gamepad, gboolean present_analog_sticks) { +GamesRetroGamepad* games_retro_gamepad_construct (GType object_type, ManetteDevice* device, gboolean present_analog_sticks) { GamesRetroGamepad * self = NULL; - GamesGamepad* _tmp0_; + ManetteDevice* _tmp0_; gboolean _tmp1_; - g_return_val_if_fail (gamepad != NULL, NULL); - _tmp0_ = gamepad; + g_return_val_if_fail (device != NULL, NULL); + _tmp0_ = device; _tmp1_ = present_analog_sticks; - self = (GamesRetroGamepad*) g_object_new (object_type, "gamepad", _tmp0_, "present-analog-sticks", _tmp1_, NULL); + self = (GamesRetroGamepad*) g_object_new (object_type, "device", _tmp0_, "present-analog-sticks", _tmp1_, NULL); return self; } -GamesRetroGamepad* games_retro_gamepad_new (GamesGamepad* gamepad, gboolean present_analog_sticks) { - return games_retro_gamepad_construct (GAMES_TYPE_RETRO_GAMEPAD, gamepad, present_analog_sticks); +GamesRetroGamepad* games_retro_gamepad_new (ManetteDevice* device, gboolean present_analog_sticks) { + return games_retro_gamepad_construct (GAMES_TYPE_RETRO_GAMEPAD, device, present_analog_sticks); } -static void games_retro_gamepad_real_poll (RetroInputDevice* base) { +static void games_retro_gamepad_real_poll (RetroController* base) { GamesRetroGamepad * self; self = (GamesRetroGamepad*) base; } -static gint16 games_retro_gamepad_real_get_input_state (RetroInputDevice* base, RetroDeviceType device, guint index, guint id) { +static gint16 games_retro_gamepad_real_get_input_state (RetroController* base, RetroInput* input) { GamesRetroGamepad * self; gint16 result = 0; - RetroDeviceType _tmp0_; + RetroInput* _tmp0_; + RetroControllerType _tmp1_; self = (GamesRetroGamepad*) base; - _tmp0_ = device; - switch (_tmp0_) { - case RETRO_DEVICE_TYPE_JOYPAD: - { - gint16 _tmp1_ = 0; - guint _tmp2_; - gboolean _tmp3_; - _tmp2_ = id; - _tmp3_ = games_retro_gamepad_get_button_pressed (self, (RetroJoypadId) _tmp2_); - if (_tmp3_) { - _tmp1_ = G_MAXINT16; + g_return_val_if_fail (input != NULL, 0); + _tmp0_ = input; + _tmp1_ = retro_input_get_controller_type (_tmp0_); + switch (_tmp1_) { + case RETRO_CONTROLLER_TYPE_JOYPAD: + { + RetroJoypadId id = 0; + RetroInput* _tmp2_; + RetroJoypadId _tmp3_ = 0; + gboolean _tmp4_; + gint16 _tmp5_ = 0; + RetroJoypadId _tmp6_; + gboolean _tmp7_; + _tmp2_ = input; + _tmp4_ = retro_input_get_joypad (_tmp2_, &_tmp3_); + id = _tmp3_; + if (!_tmp4_) { + result = (gint16) 0; + return result; + } + _tmp6_ = id; + _tmp7_ = games_retro_gamepad_get_button_pressed (self, _tmp6_); + if (_tmp7_) { + _tmp5_ = G_MAXINT16; } else { - _tmp1_ = (gint16) 0; + _tmp5_ = (gint16) 0; } - result = _tmp1_; + result = _tmp5_; return result; } - case RETRO_DEVICE_TYPE_ANALOG: + case RETRO_CONTROLLER_TYPE_ANALOG: { - guint _tmp4_; - guint _tmp5_; - gint16 _tmp6_; - _tmp4_ = index; - _tmp5_ = id; - _tmp6_ = games_retro_gamepad_get_analog_value (self, (RetroAnalogIndex) _tmp4_, (RetroAnalogId) _tmp5_); - result = _tmp6_; + RetroAnalogId id = 0; + RetroAnalogIndex index = 0; + RetroInput* _tmp8_; + RetroAnalogId _tmp9_ = 0; + RetroAnalogIndex _tmp10_ = 0; + gboolean _tmp11_; + RetroAnalogIndex _tmp12_; + RetroAnalogId _tmp13_; + gint16 _tmp14_; + _tmp8_ = input; + _tmp11_ = retro_input_get_analog (_tmp8_, &_tmp9_, &_tmp10_); + id = _tmp9_; + index = _tmp10_; + if (!_tmp11_) { + result = (gint16) 0; + return result; + } + _tmp12_ = index; + _tmp13_ = id; + _tmp14_ = games_retro_gamepad_get_analog_value (self, _tmp12_, _tmp13_); + result = _tmp14_; return result; } default: @@ -145,31 +174,62 @@ } -static RetroDeviceType games_retro_gamepad_real_get_device_type (RetroInputDevice* base) { +static RetroControllerType games_retro_gamepad_real_get_controller_type (RetroController* base) { GamesRetroGamepad * self; - RetroDeviceType result = 0; + RetroControllerType result = 0; gboolean _tmp0_; self = (GamesRetroGamepad*) base; _tmp0_ = self->priv->_present_analog_sticks; if (_tmp0_) { - result = RETRO_DEVICE_TYPE_ANALOG; + result = RETRO_CONTROLLER_TYPE_ANALOG; return result; } - result = RETRO_DEVICE_TYPE_JOYPAD; + result = RETRO_CONTROLLER_TYPE_JOYPAD; return result; } -static guint64 games_retro_gamepad_real_get_device_capabilities (RetroInputDevice* base) { +static guint64 games_retro_gamepad_real_get_capabilities (RetroController* base) { GamesRetroGamepad * self; guint64 result = 0ULL; self = (GamesRetroGamepad*) base; - result = (guint64) ((1 << RETRO_DEVICE_TYPE_JOYPAD) | (1 << RETRO_DEVICE_TYPE_ANALOG)); + result = (guint64) ((1 << RETRO_CONTROLLER_TYPE_JOYPAD) | (1 << RETRO_CONTROLLER_TYPE_ANALOG)); return result; } -gboolean games_retro_gamepad_get_button_pressed (GamesRetroGamepad* self, RetroJoypadId button) { +static gboolean games_retro_gamepad_real_set_rumble_state (RetroController* base, RetroRumbleEffect effect, guint16 strength) { + GamesRetroGamepad * self; + gboolean result = FALSE; + RetroRumbleEffect _tmp0_; + guint16 _tmp1_; + guint16 _tmp2_; + ManetteDevice* _tmp3_; + gboolean _tmp4_; + ManetteDevice* _tmp5_; + guint16 _tmp6_; + guint16 _tmp7_; + self = (GamesRetroGamepad*) base; + _tmp0_ = effect; + _tmp1_ = strength; + self->priv->rumble_effect[_tmp0_] = _tmp1_; + _tmp2_ = self->priv->rumble_effect[_tmp0_]; + _tmp3_ = self->priv->_device; + _tmp4_ = manette_device_has_rumble (_tmp3_); + if (!_tmp4_) { + result = FALSE; + return result; + } + _tmp5_ = self->priv->_device; + _tmp6_ = self->priv->rumble_effect[RETRO_RUMBLE_EFFECT_STRONG]; + _tmp7_ = self->priv->rumble_effect[RETRO_RUMBLE_EFFECT_WEAK]; + manette_device_rumble (_tmp5_, _tmp6_, _tmp7_, G_MAXUINT16); + result = TRUE; + return result; +} + + +static gboolean games_retro_gamepad_get_button_pressed (GamesRetroGamepad* self, RetroJoypadId button) { gboolean result = FALSE; RetroJoypadId _tmp0_; g_return_val_if_fail (self != NULL, FALSE); @@ -360,7 +420,7 @@ } -gint16 games_retro_gamepad_get_analog_value (GamesRetroGamepad* self, RetroAnalogIndex index, RetroAnalogId id) { +static gint16 games_retro_gamepad_get_analog_value (GamesRetroGamepad* self, RetroAnalogIndex index, RetroAnalogId id) { gint16 result = 0; RetroAnalogIndex _tmp0_; g_return_val_if_fail (self != NULL, 0); @@ -443,11 +503,88 @@ } -GamesGamepad* games_retro_gamepad_get_gamepad (GamesRetroGamepad* self) { - GamesGamepad* result; - GamesGamepad* _tmp0_; +static void games_retro_gamepad_on_button_press_event (GamesRetroGamepad* self, ManetteEvent* event) { + guint16 button = 0U; + ManetteEvent* _tmp0_; + guint16 _tmp1_ = 0U; + gboolean _tmp2_; + g_return_if_fail (self != NULL); + g_return_if_fail (event != NULL); + _tmp0_ = event; + _tmp2_ = manette_event_get_button (_tmp0_, &_tmp1_); + button = _tmp1_; + if (_tmp2_) { + gboolean* _tmp3_; + gint _tmp3__length1; + guint16 _tmp4_; + gboolean _tmp5_; + _tmp3_ = self->priv->buttons; + _tmp3__length1 = self->priv->buttons_length1; + _tmp4_ = button; + _tmp3_[_tmp4_] = TRUE; + _tmp5_ = _tmp3_[_tmp4_]; + } +} + + +static void games_retro_gamepad_on_button_release_event (GamesRetroGamepad* self, ManetteEvent* event) { + guint16 button = 0U; + ManetteEvent* _tmp0_; + guint16 _tmp1_ = 0U; + gboolean _tmp2_; + g_return_if_fail (self != NULL); + g_return_if_fail (event != NULL); + _tmp0_ = event; + _tmp2_ = manette_event_get_button (_tmp0_, &_tmp1_); + button = _tmp1_; + if (_tmp2_) { + gboolean* _tmp3_; + gint _tmp3__length1; + guint16 _tmp4_; + gboolean _tmp5_; + _tmp3_ = self->priv->buttons; + _tmp3__length1 = self->priv->buttons_length1; + _tmp4_ = button; + _tmp3_[_tmp4_] = FALSE; + _tmp5_ = _tmp3_[_tmp4_]; + } +} + + +static void games_retro_gamepad_on_absolute_axis_event (GamesRetroGamepad* self, ManetteEvent* event) { + guint16 axis = 0U; + gdouble value = 0.0; + ManetteEvent* _tmp0_; + guint16 _tmp1_ = 0U; + gdouble _tmp2_ = 0.0; + gboolean _tmp3_; + g_return_if_fail (self != NULL); + g_return_if_fail (event != NULL); + _tmp0_ = event; + _tmp3_ = manette_event_get_absolute (_tmp0_, &_tmp1_, &_tmp2_); + axis = _tmp1_; + value = _tmp2_; + if (_tmp3_) { + gint16* _tmp4_; + gint _tmp4__length1; + guint16 _tmp5_; + gdouble _tmp6_; + gint16 _tmp7_; + _tmp4_ = self->priv->axes; + _tmp4__length1 = self->priv->axes_length1; + _tmp5_ = axis; + _tmp6_ = value; + _tmp4_[_tmp5_] = (gint16) (_tmp6_ * G_MAXINT16); + _tmp7_ = _tmp4_[_tmp5_]; + } +} + + +ManetteDevice* games_retro_gamepad_get_device (GamesRetroGamepad* self) { + ManetteDevice* result; + ManetteDevice* _tmp0_; g_return_val_if_fail (self != NULL, NULL); - _tmp0_ = self->priv->_gamepad; + _tmp0_ = self->priv->_device; result = _tmp0_; return result; } @@ -458,16 +595,16 @@ } -static void games_retro_gamepad_set_gamepad (GamesRetroGamepad* self, GamesGamepad* value) { +static void games_retro_gamepad_set_device (GamesRetroGamepad* self, ManetteDevice* value) { g_return_if_fail (self != NULL); - if (games_retro_gamepad_get_gamepad (self) != value) { - GamesGamepad* _tmp0_; - GamesGamepad* _tmp1_; + if (games_retro_gamepad_get_device (self) != value) { + ManetteDevice* _tmp0_; + ManetteDevice* _tmp1_; _tmp0_ = value; _tmp1_ = _g_object_ref0 (_tmp0_); - _g_object_unref0 (self->priv->_gamepad); - self->priv->_gamepad = _tmp1_; - g_object_notify_by_pspec ((GObject *) self, games_retro_gamepad_properties[GAMES_RETRO_GAMEPAD_GAMEPAD_PROPERTY]); + _g_object_unref0 (self->priv->_device); + self->priv->_device = _tmp1_; + g_object_notify ((GObject *) self, "device"); } } @@ -488,91 +625,23 @@ gboolean _tmp0_; _tmp0_ = value; self->priv->_present_analog_sticks = _tmp0_; - g_object_notify_by_pspec ((GObject *) self, games_retro_gamepad_properties[GAMES_RETRO_GAMEPAD_PRESENT_ANALOG_STICKS_PROPERTY]); + g_object_notify ((GObject *) self, "present-analog-sticks"); } } -static void _games_retro_gamepad___lambda19_ (GamesRetroGamepad* self, GamesEvent* event) { - gboolean* _tmp0_; - gint _tmp0__length1; - GamesEvent* _tmp1_; - GamesEventGamepadButton* _tmp2_; - GamesEventGamepadButton* _tmp3_; - guint16 _tmp4_; - gboolean _tmp5_; - g_return_if_fail (event != NULL); - _tmp0_ = self->priv->buttons; - _tmp0__length1 = self->priv->buttons_length1; - _tmp1_ = event; - _tmp2_ = (GamesEventGamepadButton *) (_tmp1_); - _tmp3_ = _tmp2_; - _tmp4_ = _tmp3_->button; - _tmp0_[_tmp4_] = TRUE; - _tmp5_ = _tmp0_[_tmp4_]; -} - - -static void __games_retro_gamepad___lambda19__games_gamepad_button_press_event (GamesGamepad* _sender, GamesEvent* event, gpointer self) { - _games_retro_gamepad___lambda19_ ((GamesRetroGamepad*) self, event); +static void _games_retro_gamepad_on_button_press_event_manette_device_button_press_event (ManetteDevice* _sender, ManetteEvent* event, gpointer self) { + games_retro_gamepad_on_button_press_event ((GamesRetroGamepad*) self, event); } -static void _games_retro_gamepad___lambda20_ (GamesRetroGamepad* self, GamesEvent* event) { - gboolean* _tmp0_; - gint _tmp0__length1; - GamesEvent* _tmp1_; - GamesEventGamepadButton* _tmp2_; - GamesEventGamepadButton* _tmp3_; - guint16 _tmp4_; - gboolean _tmp5_; - g_return_if_fail (event != NULL); - _tmp0_ = self->priv->buttons; - _tmp0__length1 = self->priv->buttons_length1; - _tmp1_ = event; - _tmp2_ = (GamesEventGamepadButton *) (_tmp1_); - _tmp3_ = _tmp2_; - _tmp4_ = _tmp3_->button; - _tmp0_[_tmp4_] = FALSE; - _tmp5_ = _tmp0_[_tmp4_]; -} - - -static void __games_retro_gamepad___lambda20__games_gamepad_button_release_event (GamesGamepad* _sender, GamesEvent* event, gpointer self) { - _games_retro_gamepad___lambda20_ ((GamesRetroGamepad*) self, event); -} - - -static void _games_retro_gamepad___lambda21_ (GamesRetroGamepad* self, GamesEvent* event) { - gint16* _tmp0_; - gint _tmp0__length1; - GamesEvent* _tmp1_; - GamesEventGamepadAxis* _tmp2_; - GamesEventGamepadAxis* _tmp3_; - guint16 _tmp4_; - GamesEvent* _tmp5_; - GamesEventGamepadAxis* _tmp6_; - GamesEventGamepadAxis* _tmp7_; - gdouble _tmp8_; - gint16 _tmp9_; - g_return_if_fail (event != NULL); - _tmp0_ = self->priv->axes; - _tmp0__length1 = self->priv->axes_length1; - _tmp1_ = event; - _tmp2_ = (GamesEventGamepadAxis *) (_tmp1_); - _tmp3_ = _tmp2_; - _tmp4_ = _tmp3_->axis; - _tmp5_ = event; - _tmp6_ = (GamesEventGamepadAxis *) (_tmp5_); - _tmp7_ = _tmp6_; - _tmp8_ = _tmp7_->value; - _tmp0_[_tmp4_] = (gint16) (_tmp8_ * G_MAXINT16); - _tmp9_ = _tmp0_[_tmp4_]; +static void _games_retro_gamepad_on_button_release_event_manette_device_button_release_event (ManetteDevice* _sender, ManetteEvent* event, gpointer self) { + games_retro_gamepad_on_button_release_event ((GamesRetroGamepad*) self, event); } -static void __games_retro_gamepad___lambda21__games_gamepad_axis_event (GamesGamepad* _sender, GamesEvent* event, gpointer self) { - _games_retro_gamepad___lambda21_ ((GamesRetroGamepad*) self, event); +static void _games_retro_gamepad_on_absolute_axis_event_manette_device_absolute_axis_event (ManetteDevice* _sender, ManetteEvent* event, gpointer self) { + games_retro_gamepad_on_absolute_axis_event ((GamesRetroGamepad*) self, event); } @@ -582,9 +651,9 @@ GamesRetroGamepad * self; gboolean* _tmp0_; gint16* _tmp1_; - GamesGamepad* _tmp2_; - GamesGamepad* _tmp3_; - GamesGamepad* _tmp4_; + ManetteDevice* _tmp2_; + ManetteDevice* _tmp3_; + ManetteDevice* _tmp4_; parent_class = G_OBJECT_CLASS (games_retro_gamepad_parent_class); obj = parent_class->constructor (type, n_construct_properties, construct_properties); self = G_TYPE_CHECK_INSTANCE_CAST (obj, GAMES_TYPE_RETRO_GAMEPAD, GamesRetroGamepad); @@ -598,12 +667,12 @@ self->priv->axes = _tmp1_; self->priv->axes_length1 = ABS_MAX + 1; self->priv->_axes_size_ = self->priv->axes_length1; - _tmp2_ = self->priv->_gamepad; - g_signal_connect_object (_tmp2_, "button-press-event", (GCallback) __games_retro_gamepad___lambda19__games_gamepad_button_press_event, self, 0); - _tmp3_ = self->priv->_gamepad; - g_signal_connect_object (_tmp3_, "button-release-event", (GCallback) __games_retro_gamepad___lambda20__games_gamepad_button_release_event, self, 0); - _tmp4_ = self->priv->_gamepad; - g_signal_connect_object (_tmp4_, "axis-event", (GCallback) __games_retro_gamepad___lambda21__games_gamepad_axis_event, self, 0); + _tmp2_ = self->priv->_device; + g_signal_connect_object (_tmp2_, "button-press-event", (GCallback) _games_retro_gamepad_on_button_press_event_manette_device_button_press_event, self, 0); + _tmp3_ = self->priv->_device; + g_signal_connect_object (_tmp3_, "button-release-event", (GCallback) _games_retro_gamepad_on_button_release_event_manette_device_button_release_event, self, 0); + _tmp4_ = self->priv->_device; + g_signal_connect_object (_tmp4_, "absolute-axis-event", (GCallback) _games_retro_gamepad_on_absolute_axis_event_manette_device_absolute_axis_event, self, 0); return obj; } @@ -615,17 +684,18 @@ G_OBJECT_CLASS (klass)->set_property = _vala_games_retro_gamepad_set_property; G_OBJECT_CLASS (klass)->constructor = games_retro_gamepad_constructor; G_OBJECT_CLASS (klass)->finalize = games_retro_gamepad_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_RETRO_GAMEPAD_GAMEPAD_PROPERTY, games_retro_gamepad_properties[GAMES_RETRO_GAMEPAD_GAMEPAD_PROPERTY] = g_param_spec_object ("gamepad", "gamepad", "gamepad", GAMES_TYPE_GAMEPAD, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_RETRO_GAMEPAD_PRESENT_ANALOG_STICKS_PROPERTY, games_retro_gamepad_properties[GAMES_RETRO_GAMEPAD_PRESENT_ANALOG_STICKS_PROPERTY] = g_param_spec_boolean ("present-analog-sticks", "present-analog-sticks", "present-analog-sticks", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_RETRO_GAMEPAD_DEVICE_PROPERTY, g_param_spec_object ("device", "device", "device", manette_device_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_RETRO_GAMEPAD_PRESENT_ANALOG_STICKS_PROPERTY, g_param_spec_boolean ("present-analog-sticks", "present-analog-sticks", "present-analog-sticks", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); } -static void games_retro_gamepad_retro_input_device_interface_init (RetroInputDeviceIface * iface) { - games_retro_gamepad_retro_input_device_parent_iface = g_type_interface_peek_parent (iface); - iface->poll = (void (*) (RetroInputDevice *)) games_retro_gamepad_real_poll; - iface->get_input_state = (gint16 (*) (RetroInputDevice *, RetroDeviceType, guint, guint)) games_retro_gamepad_real_get_input_state; - iface->get_device_type = (RetroDeviceType (*) (RetroInputDevice *)) games_retro_gamepad_real_get_device_type; - iface->get_device_capabilities = (guint64 (*) (RetroInputDevice *)) games_retro_gamepad_real_get_device_capabilities; +static void games_retro_gamepad_retro_controller_interface_init (RetroControllerInterface * iface) { + games_retro_gamepad_retro_controller_parent_iface = g_type_interface_peek_parent (iface); + iface->poll = (void (*) (RetroController *)) games_retro_gamepad_real_poll; + iface->get_input_state = (gint16 (*) (RetroController *, RetroInput*)) games_retro_gamepad_real_get_input_state; + iface->get_controller_type = (RetroControllerType (*) (RetroController *)) games_retro_gamepad_real_get_controller_type; + iface->get_capabilities = (guint64 (*) (RetroController *)) games_retro_gamepad_real_get_capabilities; + iface->set_rumble_state = (gboolean (*) (RetroController *, RetroRumbleEffect, guint16)) games_retro_gamepad_real_set_rumble_state; } @@ -637,7 +707,7 @@ static void games_retro_gamepad_finalize (GObject * obj) { GamesRetroGamepad * self; self = G_TYPE_CHECK_INSTANCE_CAST (obj, GAMES_TYPE_RETRO_GAMEPAD, GamesRetroGamepad); - _g_object_unref0 (self->priv->_gamepad); + _g_object_unref0 (self->priv->_device); self->priv->buttons = (g_free (self->priv->buttons), NULL); self->priv->axes = (g_free (self->priv->axes), NULL); G_OBJECT_CLASS (games_retro_gamepad_parent_class)->finalize (obj); @@ -648,10 +718,10 @@ static volatile gsize games_retro_gamepad_type_id__volatile = 0; if (g_once_init_enter (&games_retro_gamepad_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (GamesRetroGamepadClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) games_retro_gamepad_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GamesRetroGamepad), 0, (GInstanceInitFunc) games_retro_gamepad_instance_init, NULL }; - static const GInterfaceInfo retro_input_device_info = { (GInterfaceInitFunc) games_retro_gamepad_retro_input_device_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; + static const GInterfaceInfo retro_controller_info = { (GInterfaceInitFunc) games_retro_gamepad_retro_controller_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; GType games_retro_gamepad_type_id; games_retro_gamepad_type_id = g_type_register_static (G_TYPE_OBJECT, "GamesRetroGamepad", &g_define_type_info, 0); - g_type_add_interface_static (games_retro_gamepad_type_id, RETRO_TYPE_INPUT_DEVICE, &retro_input_device_info); + g_type_add_interface_static (games_retro_gamepad_type_id, retro_controller_get_type (), &retro_controller_info); g_once_init_leave (&games_retro_gamepad_type_id__volatile, games_retro_gamepad_type_id); } return games_retro_gamepad_type_id__volatile; @@ -662,8 +732,8 @@ GamesRetroGamepad * self; self = G_TYPE_CHECK_INSTANCE_CAST (object, GAMES_TYPE_RETRO_GAMEPAD, GamesRetroGamepad); switch (property_id) { - case GAMES_RETRO_GAMEPAD_GAMEPAD_PROPERTY: - g_value_set_object (value, games_retro_gamepad_get_gamepad (self)); + case GAMES_RETRO_GAMEPAD_DEVICE_PROPERTY: + g_value_set_object (value, games_retro_gamepad_get_device (self)); break; case GAMES_RETRO_GAMEPAD_PRESENT_ANALOG_STICKS_PROPERTY: g_value_set_boolean (value, games_retro_gamepad_get_present_analog_sticks (self)); @@ -679,8 +749,8 @@ GamesRetroGamepad * self; self = G_TYPE_CHECK_INSTANCE_CAST (object, GAMES_TYPE_RETRO_GAMEPAD, GamesRetroGamepad); switch (property_id) { - case GAMES_RETRO_GAMEPAD_GAMEPAD_PROPERTY: - games_retro_gamepad_set_gamepad (self, g_value_get_object (value)); + case GAMES_RETRO_GAMEPAD_DEVICE_PROPERTY: + games_retro_gamepad_set_device (self, g_value_get_object (value)); break; case GAMES_RETRO_GAMEPAD_PRESENT_ANALOG_STICKS_PROPERTY: games_retro_gamepad_set_present_analog_sticks (self, g_value_get_boolean (value)); diff -Nru gnome-games-app-3.26.2/src/retro/retro-gamepad.vala gnome-games-app-3.28.0/src/retro/retro-gamepad.vala --- gnome-games-app-3.26.2/src/retro/retro-gamepad.vala 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/src/retro/retro-gamepad.vala 2018-01-30 09:48:30.000000000 +0000 @@ -1,50 +1,73 @@ // This file is part of GNOME Games. License: GPL-3.0+. -private class Games.RetroGamepad: Object, Retro.InputDevice { - public Gamepad gamepad { get; construct; } +private class Games.RetroGamepad: Object, Retro.Controller { + public Manette.Device device { get; construct; } public bool present_analog_sticks { get; construct; } private bool[] buttons; private int16[] axes; + private uint16 rumble_effect[2]; - public RetroGamepad (Gamepad gamepad, bool present_analog_sticks) { - Object (gamepad: gamepad, present_analog_sticks: present_analog_sticks); + public RetroGamepad (Manette.Device device, bool present_analog_sticks) { + Object (device: device, present_analog_sticks: present_analog_sticks); } construct { buttons = new bool[EventCode.KEY_MAX + 1]; axes = new int16[EventCode.ABS_MAX + 1]; - gamepad.button_press_event.connect ((event) => buttons[event.gamepad_button.button] = true); - gamepad.button_release_event.connect ((event) => buttons[event.gamepad_button.button] = false); - gamepad.axis_event.connect ((event) => axes[event.gamepad_axis.axis] = (int16) (event.gamepad_axis.value * int16.MAX)); + device.button_press_event.connect (on_button_press_event); + device.button_release_event.connect (on_button_release_event); + device.absolute_axis_event.connect (on_absolute_axis_event); } public void poll () {} - public int16 get_input_state (Retro.DeviceType device, uint index, uint id) { - switch (device) { - case Retro.DeviceType.JOYPAD: - return get_button_pressed ((Retro.JoypadId) id) ? int16.MAX : 0; - case Retro.DeviceType.ANALOG: - return get_analog_value ((Retro.AnalogIndex) index, (Retro.AnalogId) id); + public int16 get_input_state (Retro.Input input) { + switch (input.get_controller_type ()) { + case Retro.ControllerType.JOYPAD: + Retro.JoypadId id; + if (!input.get_joypad (out id)) + return 0; + + return get_button_pressed (id) ? int16.MAX : 0; + case Retro.ControllerType.ANALOG: + Retro.AnalogId id; + Retro.AnalogIndex index; + if (!input.get_analog (out id, out index)) + return 0; + + return get_analog_value (index, id); default: return 0; } } - public Retro.DeviceType get_device_type () { + public Retro.ControllerType get_controller_type () { if (present_analog_sticks) - return Retro.DeviceType.ANALOG; + return Retro.ControllerType.ANALOG; + + return Retro.ControllerType.JOYPAD; + } - return Retro.DeviceType.JOYPAD; + public uint64 get_capabilities () { + return (1 << Retro.ControllerType.JOYPAD) | (1 << Retro.ControllerType.ANALOG); } - public uint64 get_device_capabilities () { - return (1 << Retro.DeviceType.JOYPAD) | (1 << Retro.DeviceType.ANALOG); + public bool set_rumble_state (Retro.RumbleEffect effect, uint16 strength) { + rumble_effect[effect] = strength; + + if (!device.has_rumble ()) + return false; + + device.rumble (rumble_effect[Retro.RumbleEffect.STRONG], + rumble_effect[Retro.RumbleEffect.WEAK], + uint16.MAX); + + return true; } - public bool get_button_pressed (Retro.JoypadId button) { + private bool get_button_pressed (Retro.JoypadId button) { switch (button) { case Retro.JoypadId.B: return buttons[EventCode.BTN_A]; @@ -83,7 +106,7 @@ } } - public int16 get_analog_value (Retro.AnalogIndex index, Retro.AnalogId id) { + private int16 get_analog_value (Retro.AnalogIndex index, Retro.AnalogId id) { switch (index) { case Retro.AnalogIndex.LEFT: switch (id) { @@ -107,4 +130,26 @@ return 0; } } + + private void on_button_press_event (Manette.Event event) { + uint16 button; + + if (event.get_button (out button)) + buttons[button] = true; + } + + private void on_button_release_event (Manette.Event event) { + uint16 button; + + if (event.get_button (out button)) + buttons[button] = false; + } + + private void on_absolute_axis_event (Manette.Event event) { + uint16 axis; + double value; + + if (event.get_absolute (out axis, out value)) + axes[axis] = (int16) (value * int16.MAX); + } } diff -Nru gnome-games-app-3.26.2/src/retro/retro-input-manager.c gnome-games-app-3.28.0/src/retro/retro-input-manager.c --- gnome-games-app-3.26.2/src/retro/retro-input-manager.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/retro/retro-input-manager.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* retro-input-manager.c generated by valac 0.38.2, the Vala compiler +/* retro-input-manager.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from retro-input-manager.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -6,9 +6,8 @@ #include #include #include -#include +#include #include -#include #define GAMES_TYPE_RETRO_INPUT_MANAGER (games_retro_input_manager_get_type ()) @@ -21,14 +20,8 @@ typedef struct _GamesRetroInputManager GamesRetroInputManager; typedef struct _GamesRetroInputManagerClass GamesRetroInputManagerClass; typedef struct _GamesRetroInputManagerPrivate GamesRetroInputManagerPrivate; -enum { - GAMES_RETRO_INPUT_MANAGER_DUMMY_PROPERTY, - GAMES_RETRO_INPUT_MANAGER_LAST_PROPERTY -}; -static GParamSpec* games_retro_input_manager_properties[GAMES_RETRO_INPUT_MANAGER_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) typedef struct _Block2Data Block2Data; -typedef struct _Block3Data Block3Data; #define GAMES_TYPE_RETRO_GAMEPAD (games_retro_gamepad_get_type ()) #define GAMES_RETRO_GAMEPAD(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_RETRO_GAMEPAD, GamesRetroGamepad)) @@ -39,23 +32,25 @@ typedef struct _GamesRetroGamepad GamesRetroGamepad; typedef struct _GamesRetroGamepadClass GamesRetroGamepadClass; -typedef struct _Block4Data Block4Data; +#define __vala_ManetteMonitorIter_free0(var) ((var == NULL) ? NULL : (var = (_vala_ManetteMonitorIter_free (var), NULL))) +typedef struct _Block3Data Block3Data; struct _GamesRetroInputManager { - RetroInputDeviceManager parent_instance; + GObject parent_instance; GamesRetroInputManagerPrivate * priv; }; struct _GamesRetroInputManagerClass { - RetroInputDeviceManagerClass parent_class; + GObjectClass parent_class; }; struct _GamesRetroInputManagerPrivate { - RetroInputDevice* core_view_joypad; - GamesGamepadMonitor* gamepad_monitor; - RetroInputDevice** input_devices; - gint input_devices_length1; - gint _input_devices_size_; + RetroCore* core; + RetroController* core_view_joypad; + ManetteMonitor* monitor; + RetroController** controllers; + gint controllers_length1; + gint _controllers_size_; gint core_view_joypad_port; gboolean present_analog_sticks; }; @@ -63,16 +58,10 @@ struct _Block2Data { int _ref_count_; GamesRetroInputManager* self; - gboolean present_analog_sticks; -}; - -struct _Block3Data { - int _ref_count_; - Block2Data * _data2_; gint port; }; -struct _Block4Data { +struct _Block3Data { int _ref_count_; GamesRetroInputManager* self; gint port; @@ -80,39 +69,42 @@ static gpointer games_retro_input_manager_parent_class = NULL; -static RetroRumbleIface * games_retro_input_manager_retro_rumble_parent_iface = NULL; GType games_retro_input_manager_get_type (void) G_GNUC_CONST; #define GAMES_RETRO_INPUT_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_RETRO_INPUT_MANAGER, GamesRetroInputManagerPrivate)) -GamesRetroInputManager* games_retro_input_manager_new (RetroCoreView* view, gboolean present_analog_sticks); -GamesRetroInputManager* games_retro_input_manager_construct (GType object_type, RetroCoreView* view, gboolean present_analog_sticks); +enum { + GAMES_RETRO_INPUT_MANAGER_0_PROPERTY +}; +GamesRetroInputManager* games_retro_input_manager_new (RetroCore* core, RetroCoreView* view, gboolean present_analog_sticks); +GamesRetroInputManager* games_retro_input_manager_construct (GType object_type, RetroCore* core, RetroCoreView* view, gboolean present_analog_sticks); static Block2Data* block2_data_ref (Block2Data* _data2_); static void block2_data_unref (void * _userdata_); -static void __lambda18_ (Block2Data* _data2_, GamesGamepad* gamepad); +GType games_retro_gamepad_get_type (void) G_GNUC_CONST; +GamesRetroGamepad* games_retro_gamepad_new (ManetteDevice* device, gboolean present_analog_sticks); +GamesRetroGamepad* games_retro_gamepad_construct (GType object_type, ManetteDevice* device, gboolean present_analog_sticks); +static void _vala_array_add12 (RetroController** * array, int* length, int* size, RetroController* value); +static void ___lambda18_ (Block2Data* _data2_); +static void games_retro_input_manager_on_device_disconnected (GamesRetroInputManager* self, gint port); +static void ____lambda18__manette_device_disconnected (ManetteDevice* _sender, gpointer self); +static void _vala_array_add13 (RetroController** * array, int* length, int* size, RetroController* value); +static void games_retro_input_manager_on_device_connected (GamesRetroInputManager* self, ManetteDevice* device); +static void _games_retro_input_manager_on_device_connected_manette_monitor_device_connected (ManetteMonitor* _sender, ManetteDevice* device, gpointer self); +static void _vala_ManetteMonitorIter_free (ManetteMonitorIter* self); static Block3Data* block3_data_ref (Block3Data* _data3_); static void block3_data_unref (void * _userdata_); -GType games_retro_gamepad_get_type (void) G_GNUC_CONST; -GamesRetroGamepad* games_retro_gamepad_new (GamesGamepad* gamepad, gboolean present_analog_sticks); -GamesRetroGamepad* games_retro_gamepad_construct (GType object_type, GamesGamepad* gamepad, gboolean present_analog_sticks); -static void _vala_array_add12 (RetroInputDevice** * array, int* length, int* size, RetroInputDevice* value); -static void __lambda22_ (Block3Data* _data3_); -static void games_retro_input_manager_handle_gamepad_unplugged (GamesRetroInputManager* self, gint port); -static void ___lambda22__games_gamepad_unplugged (GamesGamepad* _sender, gpointer self); -static void ___lambda18__games_gamepad_callback (GamesGamepad* gamepad, gpointer self); -static void _vala_array_add13 (RetroInputDevice** * array, int* length, int* size, RetroInputDevice* value); -static void games_retro_input_manager_handle_gamepad_plugged (GamesRetroInputManager* self, GamesGamepad* gamepad); -static void _games_retro_input_manager_handle_gamepad_plugged_games_gamepad_monitor_gamepad_plugged (GamesGamepadMonitor* _sender, GamesGamepad* gamepad, gpointer self); -static Block4Data* block4_data_ref (Block4Data* _data4_); -static void block4_data_unref (void * _userdata_); -static void __lambda23_ (Block4Data* _data4_); -static void ___lambda23__games_gamepad_unplugged (GamesGamepad* _sender, gpointer self); -static void _vala_array_add14 (RetroInputDevice** * array, int* length, int* size, RetroInputDevice* value); -static gboolean games_retro_input_manager_real_set_rumble_state (RetroRumble* base, guint port, RetroRumbleEffect effect, guint16 strength); +static void __lambda19_ (Block3Data* _data3_); +static void ___lambda19__manette_device_disconnected (ManetteDevice* _sender, gpointer self); +static void _vala_array_add14 (RetroController** * array, int* length, int* size, RetroController* value); static void games_retro_input_manager_finalize (GObject * obj); static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); static void _vala_array_free (gpointer array, gint array_length, GDestroyNotify destroy_func); +static gpointer _g_object_ref0 (gpointer self) { + return self ? g_object_ref (self) : NULL; +} + + static Block2Data* block2_data_ref (Block2Data* _data2_) { g_atomic_int_inc (&_data2_->_ref_count_); return _data2_; @@ -131,452 +123,419 @@ } -static Block3Data* block3_data_ref (Block3Data* _data3_) { - g_atomic_int_inc (&_data3_->_ref_count_); - return _data3_; -} - - -static void block3_data_unref (void * _userdata_) { - Block3Data* _data3_; - _data3_ = (Block3Data*) _userdata_; - if (g_atomic_int_dec_and_test (&_data3_->_ref_count_)) { - GamesRetroInputManager* self; - self = _data3_->_data2_->self; - block2_data_unref (_data3_->_data2_); - _data3_->_data2_ = NULL; - g_slice_free (Block3Data, _data3_); - } -} - - -static gpointer _g_object_ref0 (gpointer self) { - return self ? g_object_ref (self) : NULL; -} - - -static void _vala_array_add12 (RetroInputDevice** * array, int* length, int* size, RetroInputDevice* value) { +static void _vala_array_add12 (RetroController** * array, int* length, int* size, RetroController* value) { if ((*length) == (*size)) { *size = (*size) ? (2 * (*size)) : 4; - *array = g_renew (RetroInputDevice*, *array, (*size) + 1); + *array = g_renew (RetroController*, *array, (*size) + 1); } (*array)[(*length)++] = value; (*array)[*length] = NULL; } -static void __lambda22_ (Block3Data* _data3_) { - Block2Data* _data2_; +static void ___lambda18_ (Block2Data* _data2_) { GamesRetroInputManager* self; - _data2_ = _data3_->_data2_; - self = _data2_->self; - games_retro_input_manager_handle_gamepad_unplugged (self, _data3_->port); -} - - -static void ___lambda22__games_gamepad_unplugged (GamesGamepad* _sender, gpointer self) { - __lambda22_ (self); -} - - -static void __lambda18_ (Block2Data* _data2_, GamesGamepad* gamepad) { - GamesRetroInputManager* self; - Block3Data* _data3_; - RetroInputDevice** _tmp0_; - gint _tmp0__length1; - GamesRetroGamepad* retro_gamepad = NULL; - GamesGamepad* _tmp1_; - gboolean _tmp2_; - GamesRetroGamepad* _tmp3_; - RetroInputDevice** _tmp4_; - gint _tmp4__length1; - RetroInputDevice* _tmp5_; - GamesGamepad* _tmp6_; + gint _tmp0_; self = _data2_->self; - g_return_if_fail (gamepad != NULL); - _data3_ = g_slice_new0 (Block3Data); - _data3_->_ref_count_ = 1; - _data3_->_data2_ = block2_data_ref (_data2_); - _tmp0_ = self->priv->input_devices; - _tmp0__length1 = self->priv->input_devices_length1; - _data3_->port = _tmp0__length1; - _tmp1_ = gamepad; - _tmp2_ = _data2_->present_analog_sticks; - _tmp3_ = games_retro_gamepad_new (_tmp1_, _tmp2_); - retro_gamepad = _tmp3_; - _tmp4_ = self->priv->input_devices; - _tmp4__length1 = self->priv->input_devices_length1; - _tmp5_ = _g_object_ref0 ((RetroInputDevice*) retro_gamepad); - _vala_array_add12 (&self->priv->input_devices, &self->priv->input_devices_length1, &self->priv->_input_devices_size_, _tmp5_); - retro_input_device_manager_set_controller_device ((RetroInputDeviceManager*) self, (guint) _data3_->port, (RetroInputDevice*) retro_gamepad); - _tmp6_ = gamepad; - g_signal_connect_data (_tmp6_, "unplugged", (GCallback) ___lambda22__games_gamepad_unplugged, block3_data_ref (_data3_), (GClosureNotify) block3_data_unref, 0); - _g_object_unref0 (retro_gamepad); - block3_data_unref (_data3_); - _data3_ = NULL; + _tmp0_ = _data2_->port; + games_retro_input_manager_on_device_disconnected (self, _tmp0_); } -static void ___lambda18__games_gamepad_callback (GamesGamepad* gamepad, gpointer self) { - __lambda18_ (self, gamepad); +static void ____lambda18__manette_device_disconnected (ManetteDevice* _sender, gpointer self) { + ___lambda18_ (self); } -static void _vala_array_add13 (RetroInputDevice** * array, int* length, int* size, RetroInputDevice* value) { +static void _vala_array_add13 (RetroController** * array, int* length, int* size, RetroController* value) { if ((*length) == (*size)) { *size = (*size) ? (2 * (*size)) : 4; - *array = g_renew (RetroInputDevice*, *array, (*size) + 1); + *array = g_renew (RetroController*, *array, (*size) + 1); } (*array)[(*length)++] = value; (*array)[*length] = NULL; } -static void _games_retro_input_manager_handle_gamepad_plugged_games_gamepad_monitor_gamepad_plugged (GamesGamepadMonitor* _sender, GamesGamepad* gamepad, gpointer self) { - games_retro_input_manager_handle_gamepad_plugged ((GamesRetroInputManager*) self, gamepad); +static void _games_retro_input_manager_on_device_connected_manette_monitor_device_connected (ManetteMonitor* _sender, ManetteDevice* device, gpointer self) { + games_retro_input_manager_on_device_connected ((GamesRetroInputManager*) self, device); +} + + +static void _vala_ManetteMonitorIter_free (ManetteMonitorIter* self) { + g_boxed_free (manette_monitor_iter_get_type (), self); } -GamesRetroInputManager* games_retro_input_manager_construct (GType object_type, RetroCoreView* view, gboolean present_analog_sticks) { +GamesRetroInputManager* games_retro_input_manager_construct (GType object_type, RetroCore* core, RetroCoreView* view, gboolean present_analog_sticks) { GamesRetroInputManager * self = NULL; - Block2Data* _data2_; - gboolean _tmp0_; - gboolean _tmp1_; - RetroCoreView* _tmp2_; - RetroInputDevice* _tmp3_; - RetroCoreView* _tmp4_; - GamesGamepadMonitor* _tmp5_; - GamesGamepadMonitor* _tmp6_; - RetroInputDevice** _tmp7_; - gint _tmp7__length1; - RetroInputDevice** _tmp8_; - gint _tmp8__length1; - RetroInputDevice* _tmp9_; - RetroInputDevice* _tmp10_; - gint _tmp11_; - RetroInputDevice* _tmp12_; - GamesGamepadMonitor* _tmp13_; + RetroCore* _tmp0_; + RetroCore* _tmp1_; + gboolean _tmp2_; + RetroCoreView* _tmp3_; + RetroController* _tmp4_; + RetroCore* _tmp5_; + RetroCoreView* _tmp6_; + RetroCoreView* _tmp7_; + RetroCore* _tmp8_; + ManetteMonitor* _tmp9_; + ManetteMonitorIter* iterator = NULL; + ManetteMonitor* _tmp10_; + ManetteMonitorIter* _tmp11_; + ManetteDevice* device = NULL; + RetroController** _tmp27_; + gint _tmp27__length1; + RetroController** _tmp28_; + gint _tmp28__length1; + RetroController* _tmp29_; + RetroController* _tmp30_; + RetroCore* _tmp31_; + gint _tmp32_; + RetroController* _tmp33_; + ManetteMonitor* _tmp34_; + g_return_val_if_fail (core != NULL, NULL); g_return_val_if_fail (view != NULL, NULL); - _data2_ = g_slice_new0 (Block2Data); - _data2_->_ref_count_ = 1; - _tmp0_ = present_analog_sticks; - _data2_->present_analog_sticks = _tmp0_; - self = (GamesRetroInputManager*) retro_input_device_manager_construct (object_type); - _data2_->self = g_object_ref (self); - _tmp1_ = _data2_->present_analog_sticks; - self->priv->present_analog_sticks = _tmp1_; - _tmp2_ = view; - _tmp3_ = retro_core_view_as_input_device (_tmp2_, RETRO_DEVICE_TYPE_JOYPAD); + self = (GamesRetroInputManager*) g_object_new (object_type, NULL); + _tmp0_ = core; + _tmp1_ = _g_object_ref0 (_tmp0_); + _g_object_unref0 (self->priv->core); + self->priv->core = _tmp1_; + _tmp2_ = present_analog_sticks; + self->priv->present_analog_sticks = _tmp2_; + _tmp3_ = view; + _tmp4_ = retro_core_view_as_controller (_tmp3_, RETRO_CONTROLLER_TYPE_JOYPAD); _g_object_unref0 (self->priv->core_view_joypad); - self->priv->core_view_joypad = _tmp3_; - _tmp4_ = view; - retro_input_device_manager_set_keyboard ((RetroInputDeviceManager*) self, (GtkWidget*) _tmp4_); - _tmp5_ = games_gamepad_monitor_get_instance (); - _g_object_unref0 (self->priv->gamepad_monitor); - self->priv->gamepad_monitor = _tmp5_; - _tmp6_ = self->priv->gamepad_monitor; - games_gamepad_monitor_foreach_gamepad (_tmp6_, ___lambda18__games_gamepad_callback, _data2_); - _tmp7_ = self->priv->input_devices; - _tmp7__length1 = self->priv->input_devices_length1; - self->priv->core_view_joypad_port = _tmp7__length1; - _tmp8_ = self->priv->input_devices; - _tmp8__length1 = self->priv->input_devices_length1; - _tmp9_ = self->priv->core_view_joypad; - _tmp10_ = _g_object_ref0 (_tmp9_); - _vala_array_add13 (&self->priv->input_devices, &self->priv->input_devices_length1, &self->priv->_input_devices_size_, _tmp10_); - _tmp11_ = self->priv->core_view_joypad_port; - _tmp12_ = self->priv->core_view_joypad; - retro_input_device_manager_set_controller_device ((RetroInputDeviceManager*) self, (guint) _tmp11_, _tmp12_); - _tmp13_ = self->priv->gamepad_monitor; - g_signal_connect_object (_tmp13_, "gamepad-plugged", (GCallback) _games_retro_input_manager_handle_gamepad_plugged_games_gamepad_monitor_gamepad_plugged, self, 0); - block2_data_unref (_data2_); - _data2_ = NULL; + self->priv->core_view_joypad = _tmp4_; + _tmp5_ = core; + _tmp6_ = view; + retro_core_set_keyboard (_tmp5_, (GtkWidget*) _tmp6_); + _tmp7_ = view; + _tmp8_ = core; + retro_core_view_set_as_default_controller (_tmp7_, _tmp8_); + _tmp9_ = manette_monitor_new (); + _g_object_unref0 (self->priv->monitor); + self->priv->monitor = _tmp9_; + _tmp10_ = self->priv->monitor; + _tmp11_ = manette_monitor_iterate (_tmp10_); + iterator = _tmp11_; + device = NULL; + while (TRUE) { + Block2Data* _data2_; + ManetteMonitorIter* _tmp12_; + ManetteDevice* _tmp13_ = NULL; + gboolean _tmp14_; + ManetteDevice* _tmp15_; + RetroController** _tmp16_; + gint _tmp16__length1; + GamesRetroGamepad* retro_gamepad = NULL; + ManetteDevice* _tmp17_; + gboolean _tmp18_; + GamesRetroGamepad* _tmp19_; + RetroController** _tmp20_; + gint _tmp20__length1; + GamesRetroGamepad* _tmp21_; + RetroController* _tmp22_; + RetroCore* _tmp23_; + gint _tmp24_; + GamesRetroGamepad* _tmp25_; + ManetteDevice* _tmp26_; + _data2_ = g_slice_new0 (Block2Data); + _data2_->_ref_count_ = 1; + _data2_->self = g_object_ref (self); + _tmp12_ = iterator; + _tmp14_ = manette_monitor_iter_next (_tmp12_, &_tmp13_); + _g_object_unref0 (device); + _tmp15_ = _g_object_ref0 (_tmp13_); + device = _tmp15_; + if (!_tmp14_) { + block2_data_unref (_data2_); + _data2_ = NULL; + break; + } + _tmp16_ = self->priv->controllers; + _tmp16__length1 = self->priv->controllers_length1; + _data2_->port = _tmp16__length1; + _tmp17_ = device; + _tmp18_ = present_analog_sticks; + _tmp19_ = games_retro_gamepad_new (_tmp17_, _tmp18_); + retro_gamepad = _tmp19_; + _tmp20_ = self->priv->controllers; + _tmp20__length1 = self->priv->controllers_length1; + _tmp21_ = retro_gamepad; + _tmp22_ = _g_object_ref0 ((RetroController*) _tmp21_); + _vala_array_add12 (&self->priv->controllers, &self->priv->controllers_length1, &self->priv->_controllers_size_, _tmp22_); + _tmp23_ = core; + _tmp24_ = _data2_->port; + _tmp25_ = retro_gamepad; + retro_core_set_controller (_tmp23_, (guint) _tmp24_, (RetroController*) _tmp25_); + _tmp26_ = device; + g_signal_connect_data (_tmp26_, "disconnected", (GCallback) ____lambda18__manette_device_disconnected, block2_data_ref (_data2_), (GClosureNotify) block2_data_unref, 0); + _g_object_unref0 (retro_gamepad); + block2_data_unref (_data2_); + _data2_ = NULL; + } + _tmp27_ = self->priv->controllers; + _tmp27__length1 = self->priv->controllers_length1; + self->priv->core_view_joypad_port = _tmp27__length1; + _tmp28_ = self->priv->controllers; + _tmp28__length1 = self->priv->controllers_length1; + _tmp29_ = self->priv->core_view_joypad; + _tmp30_ = _g_object_ref0 (_tmp29_); + _vala_array_add13 (&self->priv->controllers, &self->priv->controllers_length1, &self->priv->_controllers_size_, _tmp30_); + _tmp31_ = core; + _tmp32_ = self->priv->core_view_joypad_port; + _tmp33_ = self->priv->core_view_joypad; + retro_core_set_controller (_tmp31_, (guint) _tmp32_, _tmp33_); + _tmp34_ = self->priv->monitor; + g_signal_connect_object (_tmp34_, "device-connected", (GCallback) _games_retro_input_manager_on_device_connected_manette_monitor_device_connected, self, 0); + _g_object_unref0 (device); + __vala_ManetteMonitorIter_free0 (iterator); return self; } -GamesRetroInputManager* games_retro_input_manager_new (RetroCoreView* view, gboolean present_analog_sticks) { - return games_retro_input_manager_construct (GAMES_TYPE_RETRO_INPUT_MANAGER, view, present_analog_sticks); +GamesRetroInputManager* games_retro_input_manager_new (RetroCore* core, RetroCoreView* view, gboolean present_analog_sticks) { + return games_retro_input_manager_construct (GAMES_TYPE_RETRO_INPUT_MANAGER, core, view, present_analog_sticks); } -static Block4Data* block4_data_ref (Block4Data* _data4_) { - g_atomic_int_inc (&_data4_->_ref_count_); - return _data4_; +static Block3Data* block3_data_ref (Block3Data* _data3_) { + g_atomic_int_inc (&_data3_->_ref_count_); + return _data3_; } -static void block4_data_unref (void * _userdata_) { - Block4Data* _data4_; - _data4_ = (Block4Data*) _userdata_; - if (g_atomic_int_dec_and_test (&_data4_->_ref_count_)) { +static void block3_data_unref (void * _userdata_) { + Block3Data* _data3_; + _data3_ = (Block3Data*) _userdata_; + if (g_atomic_int_dec_and_test (&_data3_->_ref_count_)) { GamesRetroInputManager* self; - self = _data4_->self; + self = _data3_->self; _g_object_unref0 (self); - g_slice_free (Block4Data, _data4_); + g_slice_free (Block3Data, _data3_); } } -static void __lambda23_ (Block4Data* _data4_) { +static void __lambda19_ (Block3Data* _data3_) { GamesRetroInputManager* self; gint _tmp0_; - self = _data4_->self; - _tmp0_ = _data4_->port; - games_retro_input_manager_handle_gamepad_unplugged (self, _tmp0_); + self = _data3_->self; + _tmp0_ = _data3_->port; + games_retro_input_manager_on_device_disconnected (self, _tmp0_); } -static void ___lambda23__games_gamepad_unplugged (GamesGamepad* _sender, gpointer self) { - __lambda23_ (self); +static void ___lambda19__manette_device_disconnected (ManetteDevice* _sender, gpointer self) { + __lambda19_ (self); } -static void _vala_array_add14 (RetroInputDevice** * array, int* length, int* size, RetroInputDevice* value) { +static void _vala_array_add14 (RetroController** * array, int* length, int* size, RetroController* value) { if ((*length) == (*size)) { *size = (*size) ? (2 * (*size)) : 4; - *array = g_renew (RetroInputDevice*, *array, (*size) + 1); + *array = g_renew (RetroController*, *array, (*size) + 1); } (*array)[(*length)++] = value; (*array)[*length] = NULL; } -static void games_retro_input_manager_handle_gamepad_plugged (GamesRetroInputManager* self, GamesGamepad* gamepad) { - Block4Data* _data4_; +static void games_retro_input_manager_on_device_connected (GamesRetroInputManager* self, ManetteDevice* device) { + Block3Data* _data3_; gint _tmp0_; GamesRetroGamepad* retro_gamepad = NULL; - GamesGamepad* _tmp1_; + ManetteDevice* _tmp1_; gboolean _tmp2_; GamesRetroGamepad* _tmp3_; - RetroInputDevice** _tmp4_; + RetroController** _tmp4_; gint _tmp4__length1; gint _tmp5_; GamesRetroGamepad* _tmp6_; - RetroInputDevice* _tmp7_; - RetroInputDevice* _tmp8_; - gint _tmp9_; - GamesRetroGamepad* _tmp10_; - GamesGamepad* _tmp11_; - RetroInputDevice** _tmp28_; - gint _tmp28__length1; - RetroInputDevice** _tmp29_; - gint _tmp29__length1; - RetroInputDevice* _tmp30_; - RetroInputDevice* _tmp31_; - gint _tmp32_; - RetroInputDevice* _tmp33_; + RetroController* _tmp7_; + RetroController* _tmp8_; + RetroCore* _tmp9_; + gint _tmp10_; + GamesRetroGamepad* _tmp11_; + ManetteDevice* _tmp12_; + RetroController** _tmp30_; + gint _tmp30__length1; + RetroController** _tmp31_; + gint _tmp31__length1; + RetroController* _tmp32_; + RetroController* _tmp33_; + RetroCore* _tmp34_; + gint _tmp35_; + RetroController* _tmp36_; g_return_if_fail (self != NULL); - g_return_if_fail (gamepad != NULL); - _data4_ = g_slice_new0 (Block4Data); - _data4_->_ref_count_ = 1; - _data4_->self = g_object_ref (self); + g_return_if_fail (device != NULL); + _data3_ = g_slice_new0 (Block3Data); + _data3_->_ref_count_ = 1; + _data3_->self = g_object_ref (self); _tmp0_ = self->priv->core_view_joypad_port; - _data4_->port = _tmp0_; - _tmp1_ = gamepad; + _data3_->port = _tmp0_; + _tmp1_ = device; _tmp2_ = self->priv->present_analog_sticks; _tmp3_ = games_retro_gamepad_new (_tmp1_, _tmp2_); retro_gamepad = _tmp3_; - _tmp4_ = self->priv->input_devices; - _tmp4__length1 = self->priv->input_devices_length1; - _tmp5_ = _data4_->port; + _tmp4_ = self->priv->controllers; + _tmp4__length1 = self->priv->controllers_length1; + _tmp5_ = _data3_->port; _tmp6_ = retro_gamepad; - _tmp7_ = _g_object_ref0 ((RetroInputDevice*) _tmp6_); + _tmp7_ = _g_object_ref0 ((RetroController*) _tmp6_); _g_object_unref0 (_tmp4_[_tmp5_]); _tmp4_[_tmp5_] = _tmp7_; _tmp8_ = _tmp4_[_tmp5_]; - _tmp9_ = _data4_->port; - _tmp10_ = retro_gamepad; - retro_input_device_manager_set_controller_device ((RetroInputDeviceManager*) self, (guint) _tmp9_, (RetroInputDevice*) _tmp10_); - _tmp11_ = gamepad; - g_signal_connect_data (_tmp11_, "unplugged", (GCallback) ___lambda23__games_gamepad_unplugged, block4_data_ref (_data4_), (GClosureNotify) block4_data_unref, 0); + _tmp9_ = self->priv->core; + _tmp10_ = _data3_->port; + _tmp11_ = retro_gamepad; + retro_core_set_controller (_tmp9_, (guint) _tmp10_, (RetroController*) _tmp11_); + _tmp12_ = device; + g_signal_connect_data (_tmp12_, "disconnected", (GCallback) ___lambda19__manette_device_disconnected, block3_data_ref (_data3_), (GClosureNotify) block3_data_unref, 0); { gint i = 0; - gint _tmp12_; - _tmp12_ = self->priv->core_view_joypad_port; - i = _tmp12_; + gint _tmp13_; + _tmp13_ = self->priv->core_view_joypad_port; + i = _tmp13_; { - gboolean _tmp13_ = FALSE; - _tmp13_ = TRUE; + gboolean _tmp14_ = FALSE; + _tmp14_ = TRUE; while (TRUE) { - gint _tmp15_; - RetroInputDevice** _tmp16_; - gint _tmp16__length1; - RetroInputDevice** _tmp17_; + gint _tmp16_; + RetroController** _tmp17_; gint _tmp17__length1; - gint _tmp18_; - RetroInputDevice* _tmp19_; - if (!_tmp13_) { - gint _tmp14_; - _tmp14_ = i; - i = _tmp14_ + 1; + RetroController** _tmp18_; + gint _tmp18__length1; + gint _tmp19_; + RetroController* _tmp20_; + if (!_tmp14_) { + gint _tmp15_; + _tmp15_ = i; + i = _tmp15_ + 1; } - _tmp13_ = FALSE; - _tmp15_ = i; - _tmp16_ = self->priv->input_devices; - _tmp16__length1 = self->priv->input_devices_length1; - if (!(_tmp15_ < _tmp16__length1)) { + _tmp14_ = FALSE; + _tmp16_ = i; + _tmp17_ = self->priv->controllers; + _tmp17__length1 = self->priv->controllers_length1; + if (!(_tmp16_ < _tmp17__length1)) { break; } - _tmp17_ = self->priv->input_devices; - _tmp17__length1 = self->priv->input_devices_length1; - _tmp18_ = i; - _tmp19_ = _tmp17_[_tmp18_]; - if (_tmp19_ == NULL) { - gint _tmp20_; - RetroInputDevice** _tmp21_; - gint _tmp21__length1; - gint _tmp22_; - RetroInputDevice* _tmp23_; - RetroInputDevice* _tmp24_; - RetroInputDevice* _tmp25_; - gint _tmp26_; - RetroInputDevice* _tmp27_; - _tmp20_ = i; - self->priv->core_view_joypad_port = _tmp20_; - _tmp21_ = self->priv->input_devices; - _tmp21__length1 = self->priv->input_devices_length1; - _tmp22_ = self->priv->core_view_joypad_port; - _tmp23_ = self->priv->core_view_joypad; - _tmp24_ = _g_object_ref0 (_tmp23_); - _g_object_unref0 (_tmp21_[_tmp22_]); - _tmp21_[_tmp22_] = _tmp24_; - _tmp25_ = _tmp21_[_tmp22_]; - _tmp26_ = self->priv->core_view_joypad_port; - _tmp27_ = self->priv->core_view_joypad; - retro_input_device_manager_set_controller_device ((RetroInputDeviceManager*) self, (guint) _tmp26_, _tmp27_); + _tmp18_ = self->priv->controllers; + _tmp18__length1 = self->priv->controllers_length1; + _tmp19_ = i; + _tmp20_ = _tmp18_[_tmp19_]; + if (_tmp20_ == NULL) { + gint _tmp21_; + RetroController** _tmp22_; + gint _tmp22__length1; + gint _tmp23_; + RetroController* _tmp24_; + RetroController* _tmp25_; + RetroController* _tmp26_; + RetroCore* _tmp27_; + gint _tmp28_; + RetroController* _tmp29_; + _tmp21_ = i; + self->priv->core_view_joypad_port = _tmp21_; + _tmp22_ = self->priv->controllers; + _tmp22__length1 = self->priv->controllers_length1; + _tmp23_ = self->priv->core_view_joypad_port; + _tmp24_ = self->priv->core_view_joypad; + _tmp25_ = _g_object_ref0 (_tmp24_); + _g_object_unref0 (_tmp22_[_tmp23_]); + _tmp22_[_tmp23_] = _tmp25_; + _tmp26_ = _tmp22_[_tmp23_]; + _tmp27_ = self->priv->core; + _tmp28_ = self->priv->core_view_joypad_port; + _tmp29_ = self->priv->core_view_joypad; + retro_core_set_controller (_tmp27_, (guint) _tmp28_, _tmp29_); _g_object_unref0 (retro_gamepad); - block4_data_unref (_data4_); - _data4_ = NULL; + block3_data_unref (_data3_); + _data3_ = NULL; return; } } } } - _tmp28_ = self->priv->input_devices; - _tmp28__length1 = self->priv->input_devices_length1; - self->priv->core_view_joypad_port = _tmp28__length1; - _tmp29_ = self->priv->input_devices; - _tmp29__length1 = self->priv->input_devices_length1; - _tmp30_ = self->priv->core_view_joypad; - _tmp31_ = _g_object_ref0 (_tmp30_); - _vala_array_add14 (&self->priv->input_devices, &self->priv->input_devices_length1, &self->priv->_input_devices_size_, _tmp31_); - _tmp32_ = self->priv->core_view_joypad_port; - _tmp33_ = self->priv->core_view_joypad; - retro_input_device_manager_set_controller_device ((RetroInputDeviceManager*) self, (guint) _tmp32_, _tmp33_); + _tmp30_ = self->priv->controllers; + _tmp30__length1 = self->priv->controllers_length1; + self->priv->core_view_joypad_port = _tmp30__length1; + _tmp31_ = self->priv->controllers; + _tmp31__length1 = self->priv->controllers_length1; + _tmp32_ = self->priv->core_view_joypad; + _tmp33_ = _g_object_ref0 (_tmp32_); + _vala_array_add14 (&self->priv->controllers, &self->priv->controllers_length1, &self->priv->_controllers_size_, _tmp33_); + _tmp34_ = self->priv->core; + _tmp35_ = self->priv->core_view_joypad_port; + _tmp36_ = self->priv->core_view_joypad; + retro_core_set_controller (_tmp34_, (guint) _tmp35_, _tmp36_); _g_object_unref0 (retro_gamepad); - block4_data_unref (_data4_); - _data4_ = NULL; + block3_data_unref (_data3_); + _data3_ = NULL; } -static void games_retro_input_manager_handle_gamepad_unplugged (GamesRetroInputManager* self, gint port) { +static void games_retro_input_manager_on_device_disconnected (GamesRetroInputManager* self, gint port) { gint _tmp0_; gint _tmp1_; g_return_if_fail (self != NULL); _tmp0_ = self->priv->core_view_joypad_port; _tmp1_ = port; if (_tmp0_ > _tmp1_) { - RetroInputDevice** _tmp2_; + RetroController** _tmp2_; gint _tmp2__length1; gint _tmp3_; - RetroInputDevice* _tmp4_; + RetroController* _tmp4_; gint _tmp5_; - gint _tmp6_; - RetroInputDevice** _tmp7_; - gint _tmp7__length1; - gint _tmp8_; - RetroInputDevice* _tmp9_; - RetroInputDevice* _tmp10_; - RetroInputDevice* _tmp11_; + RetroController** _tmp6_; + gint _tmp6__length1; + gint _tmp7_; + RetroController* _tmp8_; + RetroController* _tmp9_; + RetroController* _tmp10_; + RetroCore* _tmp11_; gint _tmp12_; - RetroInputDevice* _tmp13_; - _tmp2_ = self->priv->input_devices; - _tmp2__length1 = self->priv->input_devices_length1; + RetroController* _tmp13_; + _tmp2_ = self->priv->controllers; + _tmp2__length1 = self->priv->controllers_length1; _tmp3_ = self->priv->core_view_joypad_port; _g_object_unref0 (_tmp2_[_tmp3_]); _tmp2_[_tmp3_] = NULL; _tmp4_ = _tmp2_[_tmp3_]; - _tmp5_ = self->priv->core_view_joypad_port; - retro_input_device_manager_remove_controller_device ((RetroInputDeviceManager*) self, (guint) _tmp5_); - _tmp6_ = port; - self->priv->core_view_joypad_port = _tmp6_; - _tmp7_ = self->priv->input_devices; - _tmp7__length1 = self->priv->input_devices_length1; - _tmp8_ = self->priv->core_view_joypad_port; - _tmp9_ = self->priv->core_view_joypad; - _tmp10_ = _g_object_ref0 (_tmp9_); - _g_object_unref0 (_tmp7_[_tmp8_]); - _tmp7_[_tmp8_] = _tmp10_; - _tmp11_ = _tmp7_[_tmp8_]; + _tmp5_ = port; + self->priv->core_view_joypad_port = _tmp5_; + _tmp6_ = self->priv->controllers; + _tmp6__length1 = self->priv->controllers_length1; + _tmp7_ = self->priv->core_view_joypad_port; + _tmp8_ = self->priv->core_view_joypad; + _tmp9_ = _g_object_ref0 (_tmp8_); + _g_object_unref0 (_tmp6_[_tmp7_]); + _tmp6_[_tmp7_] = _tmp9_; + _tmp10_ = _tmp6_[_tmp7_]; + _tmp11_ = self->priv->core; _tmp12_ = self->priv->core_view_joypad_port; _tmp13_ = self->priv->core_view_joypad; - retro_input_device_manager_set_controller_device ((RetroInputDeviceManager*) self, (guint) _tmp12_, _tmp13_); + retro_core_set_controller (_tmp11_, (guint) _tmp12_, _tmp13_); } else { - RetroInputDevice** _tmp14_; + RetroController** _tmp14_; gint _tmp14__length1; gint _tmp15_; - RetroInputDevice* _tmp16_; - gint _tmp17_; - _tmp14_ = self->priv->input_devices; - _tmp14__length1 = self->priv->input_devices_length1; + RetroController* _tmp16_; + RetroCore* _tmp17_; + gint _tmp18_; + _tmp14_ = self->priv->controllers; + _tmp14__length1 = self->priv->controllers_length1; _tmp15_ = port; _g_object_unref0 (_tmp14_[_tmp15_]); _tmp14_[_tmp15_] = NULL; _tmp16_ = _tmp14_[_tmp15_]; - _tmp17_ = port; - retro_input_device_manager_remove_controller_device ((RetroInputDeviceManager*) self, (guint) _tmp17_); + _tmp17_ = self->priv->core; + _tmp18_ = port; + retro_core_set_controller (_tmp17_, (guint) _tmp18_, NULL); } } -static gboolean games_retro_input_manager_real_set_rumble_state (RetroRumble* base, guint port, RetroRumbleEffect effect, guint16 strength) { - GamesRetroInputManager * self; - gboolean result = FALSE; - guint _tmp0_; - RetroInputDevice** _tmp1_; - gint _tmp1__length1; - gboolean _tmp2_ = FALSE; - RetroInputDevice** _tmp3_; - gint _tmp3__length1; - guint _tmp4_; - RetroInputDevice* _tmp5_; - self = (GamesRetroInputManager*) base; - _tmp0_ = port; - _tmp1_ = self->priv->input_devices; - _tmp1__length1 = self->priv->input_devices_length1; - if (_tmp0_ > ((guint) _tmp1__length1)) { - result = FALSE; - return result; - } - _tmp3_ = self->priv->input_devices; - _tmp3__length1 = self->priv->input_devices_length1; - _tmp4_ = port; - _tmp5_ = _tmp3_[_tmp4_]; - if (_tmp5_ == NULL) { - _tmp2_ = TRUE; - } else { - RetroInputDevice** _tmp6_; - gint _tmp6__length1; - guint _tmp7_; - RetroInputDevice* _tmp8_; - RetroInputDevice* _tmp9_; - _tmp6_ = self->priv->input_devices; - _tmp6__length1 = self->priv->input_devices_length1; - _tmp7_ = port; - _tmp8_ = _tmp6_[_tmp7_]; - _tmp9_ = self->priv->core_view_joypad; - _tmp2_ = _tmp8_ == _tmp9_; - } - if (_tmp2_) { - result = FALSE; - return result; - } - result = FALSE; - return result; -} - - static void games_retro_input_manager_class_init (GamesRetroInputManagerClass * klass) { games_retro_input_manager_parent_class = g_type_class_peek_parent (klass); g_type_class_add_private (klass, sizeof (GamesRetroInputManagerPrivate)); @@ -584,12 +543,6 @@ } -static void games_retro_input_manager_retro_rumble_interface_init (RetroRumbleIface * iface) { - games_retro_input_manager_retro_rumble_parent_iface = g_type_interface_peek_parent (iface); - iface->set_rumble_state = (gboolean (*) (RetroRumble *, guint, RetroRumbleEffect, guint16)) games_retro_input_manager_real_set_rumble_state; -} - - static void games_retro_input_manager_instance_init (GamesRetroInputManager * self) { self->priv = GAMES_RETRO_INPUT_MANAGER_GET_PRIVATE (self); } @@ -598,9 +551,10 @@ static void games_retro_input_manager_finalize (GObject * obj) { GamesRetroInputManager * self; self = G_TYPE_CHECK_INSTANCE_CAST (obj, GAMES_TYPE_RETRO_INPUT_MANAGER, GamesRetroInputManager); + _g_object_unref0 (self->priv->core); _g_object_unref0 (self->priv->core_view_joypad); - _g_object_unref0 (self->priv->gamepad_monitor); - self->priv->input_devices = (_vala_array_free (self->priv->input_devices, self->priv->input_devices_length1, (GDestroyNotify) g_object_unref), NULL); + _g_object_unref0 (self->priv->monitor); + self->priv->controllers = (_vala_array_free (self->priv->controllers, self->priv->controllers_length1, (GDestroyNotify) g_object_unref), NULL); G_OBJECT_CLASS (games_retro_input_manager_parent_class)->finalize (obj); } @@ -609,10 +563,8 @@ static volatile gsize games_retro_input_manager_type_id__volatile = 0; if (g_once_init_enter (&games_retro_input_manager_type_id__volatile)) { static const GTypeInfo g_define_type_info = { sizeof (GamesRetroInputManagerClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) games_retro_input_manager_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (GamesRetroInputManager), 0, (GInstanceInitFunc) games_retro_input_manager_instance_init, NULL }; - static const GInterfaceInfo retro_rumble_info = { (GInterfaceInitFunc) games_retro_input_manager_retro_rumble_interface_init, (GInterfaceFinalizeFunc) NULL, NULL}; GType games_retro_input_manager_type_id; - games_retro_input_manager_type_id = g_type_register_static (RETRO_TYPE_INPUT_DEVICE_MANAGER, "GamesRetroInputManager", &g_define_type_info, 0); - g_type_add_interface_static (games_retro_input_manager_type_id, RETRO_TYPE_RUMBLE, &retro_rumble_info); + games_retro_input_manager_type_id = g_type_register_static (G_TYPE_OBJECT, "GamesRetroInputManager", &g_define_type_info, 0); g_once_init_leave (&games_retro_input_manager_type_id__volatile, games_retro_input_manager_type_id); } return games_retro_input_manager_type_id__volatile; diff -Nru gnome-games-app-3.26.2/src/retro/retro-input-manager.vala gnome-games-app-3.28.0/src/retro/retro-input-manager.vala --- gnome-games-app-3.26.2/src/retro/retro-input-manager.vala 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/src/retro/retro-input-manager.vala 2018-01-30 09:48:30.000000000 +0000 @@ -1,89 +1,81 @@ // This file is part of GNOME Games. License: GPL-3.0+. -private class Games.RetroInputManager : Retro.InputDeviceManager, Retro.Rumble { - private Retro.InputDevice core_view_joypad; - private GamepadMonitor gamepad_monitor; - private Retro.InputDevice?[] input_devices; +private class Games.RetroInputManager : Object { + private Retro.Core core; + private Retro.Controller core_view_joypad; + private Manette.Monitor monitor; + private Retro.Controller?[] controllers; private int core_view_joypad_port; private bool present_analog_sticks; - public RetroInputManager (Retro.CoreView view, bool present_analog_sticks) { + public RetroInputManager (Retro.Core core, Retro.CoreView view, bool present_analog_sticks) { + this.core = core; this.present_analog_sticks = present_analog_sticks; - core_view_joypad = view.as_input_device (Retro.DeviceType.JOYPAD); - set_keyboard (view); - - gamepad_monitor = GamepadMonitor.get_instance (); - gamepad_monitor.foreach_gamepad ((gamepad) => { - var port = input_devices.length; - var retro_gamepad = new RetroGamepad (gamepad, present_analog_sticks); - input_devices += retro_gamepad; - set_controller_device (port, retro_gamepad); - gamepad.unplugged.connect (() => handle_gamepad_unplugged (port)); - }); - - core_view_joypad_port = input_devices.length; - input_devices += core_view_joypad; - set_controller_device (core_view_joypad_port, core_view_joypad); - gamepad_monitor.gamepad_plugged.connect (handle_gamepad_plugged); + core_view_joypad = view.as_controller (Retro.ControllerType.JOYPAD); + core.set_keyboard (view); + view.set_as_default_controller (core); + + monitor = new Manette.Monitor (); + var iterator = monitor.iterate (); + Manette.Device device = null; + while (iterator.next (out device)) { + var port = controllers.length; + var retro_gamepad = new RetroGamepad (device, present_analog_sticks); + controllers += retro_gamepad; + core.set_controller (port, retro_gamepad); + device.disconnected.connect (() => on_device_disconnected (port)); + }; + + core_view_joypad_port = controllers.length; + controllers += core_view_joypad; + core.set_controller (core_view_joypad_port, core_view_joypad); + monitor.device_connected.connect (on_device_connected); } - private void handle_gamepad_plugged (Gamepad gamepad) { - // Plug this gamepad to the port where the CoreView's joypad was - // plugged as a last resort. + private void on_device_connected (Manette.Device device) { + // Plug this device to the port where the CoreView's joypad was + // connected as a last resort. var port = core_view_joypad_port; - var retro_gamepad = new RetroGamepad (gamepad, present_analog_sticks); - input_devices[port] = retro_gamepad; - set_controller_device (port, retro_gamepad); - gamepad.unplugged.connect (() => handle_gamepad_unplugged (port)); + var retro_gamepad = new RetroGamepad (device, present_analog_sticks); + controllers[port] = retro_gamepad; + core.set_controller (port, retro_gamepad); + device.disconnected.connect (() => on_device_disconnected (port)); - // Assign the CoreView's joypad to another unplugged port if it + // Assign the CoreView's joypad to another disconnected port if it // exists and return. - for (var i = core_view_joypad_port; i < input_devices.length; i++) { - if (input_devices[i] == null) { - // Found an unplugged port and so assigning core_view_joypad to it + for (var i = core_view_joypad_port; i < controllers.length; i++) { + if (controllers[i] == null) { + // Found an disconnected port and so assigning core_view_joypad to it core_view_joypad_port = i; - input_devices[core_view_joypad_port] = core_view_joypad; - set_controller_device (core_view_joypad_port, core_view_joypad); + controllers[core_view_joypad_port] = core_view_joypad; + core.set_controller (core_view_joypad_port, core_view_joypad); return; } } - // Now it means that there is no unplugged port so append the + // Now it means that there is no disconnected port so append the // CoreView's joypad to ports. - core_view_joypad_port = input_devices.length; - input_devices += core_view_joypad; - set_controller_device (core_view_joypad_port, core_view_joypad); + core_view_joypad_port = controllers.length; + controllers += core_view_joypad; + core.set_controller (core_view_joypad_port, core_view_joypad); } - private void handle_gamepad_unplugged (int port) { + private void on_device_disconnected (int port) { if (core_view_joypad_port > port) { // Remove the controller and shift the CoreView's joypad to // "lesser" port. - input_devices[core_view_joypad_port] = null; - remove_controller_device (core_view_joypad_port); + controllers[core_view_joypad_port] = null; core_view_joypad_port = port; - input_devices[core_view_joypad_port] = core_view_joypad; - set_controller_device (core_view_joypad_port, core_view_joypad); + controllers[core_view_joypad_port] = core_view_joypad; + core.set_controller (core_view_joypad_port, core_view_joypad); } else { // Just remove the controller as no need to shift the // CoreView's joypad. - input_devices[port] = null; - remove_controller_device (port); + controllers[port] = null; + core.set_controller (port, null); } } - - private bool set_rumble_state (uint port, Retro.RumbleEffect effect, uint16 strength) { - if (port > input_devices.length) - return false; - - if (input_devices[port] == null || input_devices[port] == core_view_joypad) - return false; - - // TODO Transmit the rumble signal to the gamepad. - - return false; - } } diff -Nru gnome-games-app-3.26.2/src/retro/retro-platform.c gnome-games-app-3.28.0/src/retro/retro-platform.c --- gnome-games-app-3.26.2/src/retro/retro-platform.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/retro/retro-platform.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* retro-platform.c generated by valac 0.38.2, the Vala compiler +/* retro-platform.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from retro-platform.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/src/retro/retro-runner.c gnome-games-app-3.28.0/src/retro/retro-runner.c --- gnome-games-app-3.26.2/src/retro/retro-runner.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/retro/retro-runner.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* retro-runner.c generated by valac 0.38.2, the Vala compiler +/* retro-runner.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from retro-runner.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -87,15 +87,6 @@ typedef struct _GamesTitle GamesTitle; typedef struct _GamesTitleIface GamesTitleIface; -enum { - GAMES_RETRO_RUNNER_DUMMY_PROPERTY, - GAMES_RETRO_RUNNER_CAN_FULLSCREEN_PROPERTY, - GAMES_RETRO_RUNNER_CAN_QUIT_SAFELY_PROPERTY, - GAMES_RETRO_RUNNER_CAN_RESUME_PROPERTY, - GAMES_RETRO_RUNNER_MEDIA_SET_PROPERTY, - GAMES_RETRO_RUNNER_LAST_PROPERTY -}; -static GParamSpec* games_retro_runner_properties[GAMES_RETRO_RUNNER_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) @@ -119,7 +110,8 @@ typedef struct _GamesMedia GamesMedia; typedef struct _GamesMediaClass GamesMediaClass; #define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) -typedef struct _Block5Data Block5Data; +typedef struct _Block4Data Block4Data; +#define _g_bytes_unref0(var) ((var == NULL) ? NULL : (var = (g_bytes_unref (var), NULL))) #define _g_date_time_unref0(var) ((var == NULL) ? NULL : (var = (g_date_time_unref (var), NULL))) struct _GamesRunnerIface { @@ -165,8 +157,6 @@ GamesMediaSet* _media_set; RetroCore* core; RetroCoreView* view; - RetroCairoDisplay* video; - RetroPaPlayer* audio; GamesRetroInputManager* input_manager; RetroMainLoop* loop; gchar* save_directory_path; @@ -193,7 +183,7 @@ GAMES_RETRO_ERROR_FIRMWARE_NOT_FOUND } GamesRetroError; #define GAMES_RETRO_ERROR games_retro_error_quark () -struct _Block5Data { +struct _Block4Data { int _ref_count_; GamesRetroRunner* self; gchar** medias_uris; @@ -215,6 +205,13 @@ GType games_input_capabilities_get_type (void) G_GNUC_CONST; GType games_title_get_type (void) G_GNUC_CONST; #define GAMES_RETRO_RUNNER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_RETRO_RUNNER, GamesRetroRunnerPrivate)) +enum { + GAMES_RETRO_RUNNER_0_PROPERTY, + GAMES_RETRO_RUNNER_CAN_FULLSCREEN_PROPERTY, + GAMES_RETRO_RUNNER_CAN_QUIT_SAFELY_PROPERTY, + GAMES_RETRO_RUNNER_CAN_RESUME_PROPERTY, + GAMES_RETRO_RUNNER_MEDIA_SET_PROPERTY +}; void games_runner_pause (GamesRunner* self); static void games_retro_runner_deinit (GamesRetroRunner* self); gpointer games_uri_ref (gpointer instance); @@ -252,15 +249,15 @@ static void games_retro_runner_load_snapshot (GamesRetroRunner* self, GError** error); static void games_retro_runner_on_video_filter_changed (GamesRetroRunner* self); static void _games_retro_runner_on_video_filter_changed_g_settings_changed (GSettings* _sender, const gchar* key, gpointer self); -gboolean games_input_capabilities_get_allow_analog_gamepads (GamesInputCapabilities* self, GError** error); -GamesRetroInputManager* games_retro_input_manager_new (RetroCoreView* view, gboolean present_analog_sticks); -GamesRetroInputManager* games_retro_input_manager_construct (GType object_type, RetroCoreView* view, gboolean present_analog_sticks); static void games_retro_runner_prepare_core (GamesRetroRunner* self, GError** error); +gboolean games_input_capabilities_get_allow_analog_gamepads (GamesInputCapabilities* self, GError** error); +GamesRetroInputManager* games_retro_input_manager_new (RetroCore* core, RetroCoreView* view, gboolean present_analog_sticks); +GamesRetroInputManager* games_retro_input_manager_construct (GType object_type, RetroCore* core, RetroCoreView* view, gboolean present_analog_sticks); static gboolean games_retro_runner_on_shutdown (GamesRetroRunner* self); static gboolean _games_retro_runner_on_shutdown_retro_core_shutdown (RetroCore* _sender, gpointer self); static void games_retro_runner_load_screenshot (GamesRetroRunner* self, GError** error); -static Block5Data* block5_data_ref (Block5Data* _data5_); -static void block5_data_unref (void * _userdata_); +static Block4Data* block4_data_ref (Block4Data* _data4_); +static void block4_data_unref (void * _userdata_); gchar* games_retro_core_source_get_module_path (GamesRetroCoreSource* self, GError** error); gchar* games_application_get_platforms_dir (void); gchar* games_retro_core_source_get_platform (GamesRetroCoreSource* self); @@ -269,11 +266,11 @@ static void _retro_g_log_retro_core_log (RetroCore* _sender, const gchar* log_domain, GLogLevelFlags log_level, const gchar* message, gpointer self); GamesMediaSet* games_runner_get_media_set (GamesRunner* self); void games_media_set_foreach_media (GamesMediaSet* self, GamesMediaSetMediaCallback media_callback, void* media_callback_target); -static void __lambda24_ (Block5Data* _data5_, GamesMedia* media); +static void __lambda20_ (Block4Data* _data4_, GamesMedia* media); GamesUri** games_media_get_uris (GamesMedia* self, int* result_length1); gchar* games_uri_to_string (GamesUri* self); static void _vala_array_add15 (gchar** * array, int* length, int* size, gchar* value); -static void ___lambda24__games_media_set_media_callback (GamesMedia* media, gpointer self); +static void ___lambda20__games_media_set_media_callback (GamesMedia* media, gpointer self); gint games_media_set_get_selected_media_number (GamesMediaSet* self); static void games_retro_runner_real_pause (GamesRunner* base); static void games_retro_runner_save (GamesRetroRunner* self, GError** error); @@ -287,8 +284,12 @@ gchar* games_application_get_saves_dir (void); gchar* games_uid_get_uid (GamesUid* self, GError** error); static gchar* games_retro_runner_get_save_path (GamesRetroRunner* self, GError** error); +static guint8* _vala_array_dup8 (guint8* self, int length); +static guint8* _vala_array_dup9 (guint8* self, int length); static gchar* games_retro_runner_get_snapshot_path (GamesRetroRunner* self, GError** error); gchar* games_application_get_snapshots_dir (void); +static guint8* _vala_array_dup10 (guint8* self, int length); +static guint8* _vala_array_dup11 (guint8* self, int length); gchar* games_application_get_medias_dir (void); static gchar* games_retro_runner_get_medias_path (GamesRetroRunner* self, GError** error); void games_media_set_set_selected_media_number (GamesMediaSet* self, gint value); @@ -512,7 +513,7 @@ _inner_error_ = NULL; _tmp0_ = e; _tmp1_ = _tmp0_->message; - g_debug ("retro-runner.vala:133: %s", _tmp1_); + g_debug ("retro-runner.vala:131: %s", _tmp1_); _tmp2_ = games_retro_runner_get_unsupported_system_message (self); _g_free0 (_vala_error_message); _vala_error_message = _tmp2_; @@ -536,7 +537,7 @@ _inner_error_ = NULL; _tmp3_ = e; _tmp4_ = _tmp3_->message; - g_debug ("retro-runner.vala:139: %s", _tmp4_); + g_debug ("retro-runner.vala:137: %s", _tmp4_); _tmp5_ = games_retro_runner_get_unsupported_system_message (self); _g_free0 (_vala_error_message); _vala_error_message = _tmp5_; @@ -675,20 +676,18 @@ static void games_retro_runner_init (GamesRetroRunner* self, GError** error) { gboolean _tmp0_; RetroCoreView* _tmp1_; - RetroCoreView* _tmp2_; - RetroCairoDisplay* _tmp3_; - GSettings* _tmp4_; - RetroCairoDisplay* _tmp5_; - gboolean _tmp6_ = FALSE; - GamesInputCapabilities* _tmp7_; + GSettings* _tmp2_; + gboolean _tmp3_ = FALSE; + GamesInputCapabilities* _tmp4_; gboolean present_analog_sticks = FALSE; - RetroCoreView* _tmp11_; - gboolean _tmp12_; - GamesRetroInputManager* _tmp13_; + RetroCore* _tmp8_; + RetroCoreView* _tmp9_; + gboolean _tmp10_; + GamesRetroInputManager* _tmp11_; + RetroCore* _tmp12_; + RetroCore* _tmp13_; RetroCore* _tmp14_; - RetroCore* _tmp15_; - RetroCore* _tmp16_; - RetroMainLoop* _tmp17_; + RetroMainLoop* _tmp15_; GError * _inner_error_ = NULL; g_return_if_fail (self != NULL); _tmp0_ = self->priv->is_initialized; @@ -699,50 +698,45 @@ g_object_ref_sink (_tmp1_); _g_object_unref0 (self->priv->view); self->priv->view = _tmp1_; - _tmp2_ = self->priv->view; - _tmp3_ = retro_core_view_get_display (_tmp2_); - _g_object_unref0 (self->priv->video); - self->priv->video = _tmp3_; - _tmp4_ = self->priv->settings; - g_signal_connect_object (_tmp4_, "changed::video-filter", (GCallback) _games_retro_runner_on_video_filter_changed_g_settings_changed, self, 0); + _tmp2_ = self->priv->settings; + g_signal_connect_object (_tmp2_, "changed::video-filter", (GCallback) _games_retro_runner_on_video_filter_changed_g_settings_changed, self, 0); games_retro_runner_on_video_filter_changed (self); - _tmp5_ = self->priv->video; - gtk_widget_set_visible ((GtkWidget*) _tmp5_, TRUE); - _tmp7_ = self->priv->input_capabilities; - if (_tmp7_ == NULL) { - _tmp6_ = TRUE; + games_retro_runner_prepare_core (self, &_inner_error_); + if (G_UNLIKELY (_inner_error_ != NULL)) { + g_propagate_error (error, _inner_error_); + return; + } + _tmp4_ = self->priv->input_capabilities; + if (_tmp4_ == NULL) { + _tmp3_ = TRUE; } else { - gboolean _tmp8_ = FALSE; - GamesInputCapabilities* _tmp9_; - gboolean _tmp10_; - _tmp9_ = self->priv->input_capabilities; - _tmp10_ = games_input_capabilities_get_allow_analog_gamepads (_tmp9_, &_inner_error_); - _tmp8_ = _tmp10_; + gboolean _tmp5_ = FALSE; + GamesInputCapabilities* _tmp6_; + gboolean _tmp7_; + _tmp6_ = self->priv->input_capabilities; + _tmp7_ = games_input_capabilities_get_allow_analog_gamepads (_tmp6_, &_inner_error_); + _tmp5_ = _tmp7_; if (G_UNLIKELY (_inner_error_ != NULL)) { g_propagate_error (error, _inner_error_); return; } - _tmp6_ = _tmp8_; + _tmp3_ = _tmp5_; } - present_analog_sticks = _tmp6_; - _tmp11_ = self->priv->view; - _tmp12_ = present_analog_sticks; - _tmp13_ = games_retro_input_manager_new (_tmp11_, _tmp12_); + present_analog_sticks = _tmp3_; + _tmp8_ = self->priv->core; + _tmp9_ = self->priv->view; + _tmp10_ = present_analog_sticks; + _tmp11_ = games_retro_input_manager_new (_tmp8_, _tmp9_, _tmp10_); _g_object_unref0 (self->priv->input_manager); - self->priv->input_manager = _tmp13_; - games_retro_runner_prepare_core (self, &_inner_error_); - if (G_UNLIKELY (_inner_error_ != NULL)) { - g_propagate_error (error, _inner_error_); - return; - } + self->priv->input_manager = _tmp11_; + _tmp12_ = self->priv->core; + g_signal_connect_object (_tmp12_, "shutdown", (GCallback) _games_retro_runner_on_shutdown_retro_core_shutdown, self, 0); + _tmp13_ = self->priv->core; + retro_core_run (_tmp13_); _tmp14_ = self->priv->core; - g_signal_connect_object (_tmp14_, "shutdown", (GCallback) _games_retro_runner_on_shutdown_retro_core_shutdown, self, 0); - _tmp15_ = self->priv->core; - retro_core_run (_tmp15_); - _tmp16_ = self->priv->core; - _tmp17_ = retro_main_loop_new (_tmp16_); + _tmp15_ = retro_main_loop_new (_tmp14_); _g_object_unref0 (self->priv->loop); - self->priv->loop = _tmp17_; + self->priv->loop = _tmp15_; games_retro_runner_set_running (self, FALSE); games_retro_runner_load_screenshot (self, &_inner_error_); if (G_UNLIKELY (_inner_error_ != NULL)) { @@ -759,7 +753,6 @@ guint _tmp2_; GQuark _tmp3_; RetroCoreView* _tmp4_; - RetroPaPlayer* _tmp5_; g_return_if_fail (self != NULL); _tmp0_ = self->priv->is_initialized; if (!_tmp0_) { @@ -774,12 +767,6 @@ retro_core_view_set_core (_tmp4_, NULL); _g_object_unref0 (self->priv->view); self->priv->view = NULL; - _g_object_unref0 (self->priv->video); - self->priv->video = NULL; - _tmp5_ = self->priv->audio; - retro_pa_player_set_core (_tmp5_, NULL); - _g_object_unref0 (self->priv->audio); - self->priv->audio = NULL; _g_object_unref0 (self->priv->input_manager); self->priv->input_manager = NULL; _g_object_unref0 (self->priv->loop); @@ -797,34 +784,34 @@ gchar* _tmp1_; RetroVideoFilter filter = 0; RetroVideoFilter _tmp2_; - RetroCairoDisplay* _tmp3_; + RetroCoreView* _tmp3_; g_return_if_fail (self != NULL); _tmp0_ = self->priv->settings; _tmp1_ = g_settings_get_string (_tmp0_, "video-filter"); filter_name = _tmp1_; _tmp2_ = retro_video_filter_from_string (filter_name); filter = _tmp2_; - _tmp3_ = self->priv->video; - retro_cairo_display_set_filter (_tmp3_, filter); + _tmp3_ = self->priv->view; + retro_core_view_set_filter (_tmp3_, filter); _g_free0 (filter_name); } -static Block5Data* block5_data_ref (Block5Data* _data5_) { - g_atomic_int_inc (&_data5_->_ref_count_); - return _data5_; +static Block4Data* block4_data_ref (Block4Data* _data4_) { + g_atomic_int_inc (&_data4_->_ref_count_); + return _data4_; } -static void block5_data_unref (void * _userdata_) { - Block5Data* _data5_; - _data5_ = (Block5Data*) _userdata_; - if (g_atomic_int_dec_and_test (&_data5_->_ref_count_)) { +static void block4_data_unref (void * _userdata_) { + Block4Data* _data4_; + _data4_ = (Block4Data*) _userdata_; + if (g_atomic_int_dec_and_test (&_data4_->_ref_count_)) { GamesRetroRunner* self; - self = _data5_->self; - _data5_->medias_uris = (_vala_array_free (_data5_->medias_uris, _data5_->medias_uris_length1, (GDestroyNotify) g_free), NULL); + self = _data4_->self; + _data4_->medias_uris = (_vala_array_free (_data4_->medias_uris, _data4_->medias_uris_length1, (GDestroyNotify) g_free), NULL); _g_object_unref0 (self); - g_slice_free (Block5Data, _data5_); + g_slice_free (Block4Data, _data4_); } } @@ -852,7 +839,7 @@ } -static void __lambda24_ (Block5Data* _data5_, GamesMedia* media) { +static void __lambda20_ (Block4Data* _data4_, GamesMedia* media) { GamesRetroRunner* self; GamesUri** uris = NULL; GamesMedia* _tmp0_; @@ -866,7 +853,7 @@ gchar** _tmp9_; gint _tmp9__length1; gchar* _tmp10_; - self = _data5_->self; + self = _data4_->self; g_return_if_fail (media != NULL); _tmp0_ = media; _tmp2_ = games_media_get_uris (_tmp0_, &_tmp1_); @@ -892,54 +879,47 @@ _g_free0 (_tmp3_); _tmp3_ = _tmp8_; } - _tmp9_ = _data5_->medias_uris; - _tmp9__length1 = _data5_->medias_uris_length1; + _tmp9_ = _data4_->medias_uris; + _tmp9__length1 = _data4_->medias_uris_length1; _tmp10_ = g_strdup (_tmp3_); - _vala_array_add15 (&_data5_->medias_uris, &_data5_->medias_uris_length1, &_data5_->_medias_uris_size_, _tmp10_); + _vala_array_add15 (&_data4_->medias_uris, &_data4_->medias_uris_length1, &_data4_->_medias_uris_size_, _tmp10_); _g_free0 (_tmp3_); uris = (_vala_array_free (uris, uris_length1, (GDestroyNotify) games_uri_unref), NULL); } -static void ___lambda24__games_media_set_media_callback (GamesMedia* media, gpointer self) { - __lambda24_ (self, media); +static void ___lambda20__games_media_set_media_callback (GamesMedia* media, gpointer self) { + __lambda20_ (self, media); } static void games_retro_runner_prepare_core (GamesRetroRunner* self, GError** error) { - Block5Data* _data5_; + Block4Data* _data4_; gchar* module_path = NULL; RetroCoreDescriptor* _tmp0_; const gchar* _tmp14_; RetroCore* _tmp15_; - RetroPaPlayer* _tmp16_; - GamesRetroCoreSource* _tmp17_; - RetroCore* _tmp32_; - RetroCoreView* _tmp33_; - RetroCore* _tmp34_; - RetroPaPlayer* _tmp35_; - RetroCore* _tmp36_; + GamesRetroCoreSource* _tmp16_; + RetroCore* _tmp31_; + RetroCoreView* _tmp32_; + RetroCore* _tmp33_; + gchar** _tmp34_; + GamesMediaSet* _tmp35_; + GamesMediaSet* _tmp36_; RetroCore* _tmp37_; - GamesRetroInputManager* _tmp38_; + gchar** _tmp38_; + gint _tmp38__length1; RetroCore* _tmp39_; - GamesRetroInputManager* _tmp40_; - gchar** _tmp41_; + RetroCore* _tmp40_; + GamesMediaSet* _tmp41_; GamesMediaSet* _tmp42_; - GamesMediaSet* _tmp43_; - RetroCore* _tmp44_; - gchar** _tmp45_; - gint _tmp45__length1; - RetroCore* _tmp46_; - RetroCore* _tmp47_; - GamesMediaSet* _tmp48_; - GamesMediaSet* _tmp49_; - gint _tmp50_; - gint _tmp51_; + gint _tmp43_; + gint _tmp44_; GError * _inner_error_ = NULL; g_return_if_fail (self != NULL); - _data5_ = g_slice_new0 (Block5Data); - _data5_->_ref_count_ = 1; - _data5_->self = g_object_ref (self); + _data4_ = g_slice_new0 (Block4Data); + _data4_->_ref_count_ = 1; + _data4_->self = g_object_ref (self); _tmp0_ = self->priv->core_descriptor; if (_tmp0_ != NULL) { GFile* module_file = NULL; @@ -954,8 +934,8 @@ if (G_UNLIKELY (_inner_error_ != NULL)) { g_propagate_error (error, _inner_error_); _g_free0 (module_path); - block5_data_unref (_data5_); - _data5_ = NULL; + block4_data_unref (_data4_); + _data4_ = NULL; return; } _tmp3_ = module_file; @@ -971,8 +951,8 @@ g_propagate_error (error, _inner_error_); _g_object_unref0 (module_file); _g_free0 (module_path); - block5_data_unref (_data5_); - _data5_ = NULL; + block4_data_unref (_data4_); + _data4_ = NULL; return; } _tmp7_ = g_error_new (GAMES_RETRO_ERROR, GAMES_RETRO_ERROR_MODULE_NOT_FOUND, _ ("No module found for “%s”."), _tmp4_); @@ -981,8 +961,8 @@ _g_free0 (_tmp4_); _g_object_unref0 (module_file); _g_free0 (module_path); - block5_data_unref (_data5_); - _data5_ = NULL; + block4_data_unref (_data4_); + _data4_ = NULL; return; } _tmp8_ = module_file; @@ -1001,8 +981,8 @@ if (G_UNLIKELY (_inner_error_ != NULL)) { g_propagate_error (error, _inner_error_); _g_free0 (module_path); - block5_data_unref (_data5_); - _data5_ = NULL; + block4_data_unref (_data4_); + _data4_ = NULL; return; } _tmp13_ = _tmp10_; @@ -1015,112 +995,100 @@ _tmp15_ = retro_core_new (_tmp14_); _g_object_unref0 (self->priv->core); self->priv->core = _tmp15_; - _tmp16_ = retro_pa_player_new (); - _g_object_unref0 (self->priv->audio); - self->priv->audio = _tmp16_; - _tmp17_ = self->priv->core_source; - if (_tmp17_ != NULL) { + _tmp16_ = self->priv->core_source; + if (_tmp16_ != NULL) { gchar* platforms_dir = NULL; - gchar* _tmp18_; + gchar* _tmp17_; gchar* platform = NULL; - GamesRetroCoreSource* _tmp19_; - gchar* _tmp20_; - RetroCore* _tmp21_; + GamesRetroCoreSource* _tmp18_; + gchar* _tmp19_; + RetroCore* _tmp20_; + const gchar* _tmp21_; const gchar* _tmp22_; const gchar* _tmp23_; const gchar* _tmp24_; - const gchar* _tmp25_; + gchar* _tmp25_; gchar* _tmp26_; - gchar* _tmp27_; gchar* save_directory = NULL; - gchar* _tmp28_; - const gchar* _tmp29_; - RetroCore* _tmp30_; - const gchar* _tmp31_; - _tmp18_ = games_application_get_platforms_dir (); - platforms_dir = _tmp18_; - _tmp19_ = self->priv->core_source; - _tmp20_ = games_retro_core_source_get_platform (_tmp19_); - platform = _tmp20_; - _tmp21_ = self->priv->core; - _tmp22_ = platforms_dir; - _tmp23_ = string_to_string (_tmp22_); - _tmp24_ = platform; - _tmp25_ = string_to_string (_tmp24_); - _tmp26_ = g_strconcat (_tmp23_, "/", _tmp25_, "/system", NULL); - _tmp27_ = _tmp26_; - retro_core_set_system_directory (_tmp21_, _tmp27_); - _g_free0 (_tmp27_); - _tmp28_ = games_retro_runner_get_save_directory_path (self, &_inner_error_); - save_directory = _tmp28_; + gchar* _tmp27_; + const gchar* _tmp28_; + RetroCore* _tmp29_; + const gchar* _tmp30_; + _tmp17_ = games_application_get_platforms_dir (); + platforms_dir = _tmp17_; + _tmp18_ = self->priv->core_source; + _tmp19_ = games_retro_core_source_get_platform (_tmp18_); + platform = _tmp19_; + _tmp20_ = self->priv->core; + _tmp21_ = platforms_dir; + _tmp22_ = string_to_string (_tmp21_); + _tmp23_ = platform; + _tmp24_ = string_to_string (_tmp23_); + _tmp25_ = g_strconcat (_tmp22_, "/", _tmp24_, "/system", NULL); + _tmp26_ = _tmp25_; + retro_core_set_system_directory (_tmp20_, _tmp26_); + _g_free0 (_tmp26_); + _tmp27_ = games_retro_runner_get_save_directory_path (self, &_inner_error_); + save_directory = _tmp27_; if (G_UNLIKELY (_inner_error_ != NULL)) { g_propagate_error (error, _inner_error_); _g_free0 (platform); _g_free0 (platforms_dir); _g_free0 (module_path); - block5_data_unref (_data5_); - _data5_ = NULL; + block4_data_unref (_data4_); + _data4_ = NULL; return; } - _tmp29_ = save_directory; - games_retro_runner_try_make_dir (_tmp29_); - _tmp30_ = self->priv->core; - _tmp31_ = save_directory; - retro_core_set_save_directory (_tmp30_, _tmp31_); + _tmp28_ = save_directory; + games_retro_runner_try_make_dir (_tmp28_); + _tmp29_ = self->priv->core; + _tmp30_ = save_directory; + retro_core_set_save_directory (_tmp29_, _tmp30_); _g_free0 (save_directory); _g_free0 (platform); _g_free0 (platforms_dir); } - _tmp32_ = self->priv->core; - g_signal_connect (_tmp32_, "log", (GCallback) _retro_g_log_retro_core_log, NULL); - _tmp33_ = self->priv->view; - _tmp34_ = self->priv->core; - retro_core_view_set_core (_tmp33_, _tmp34_); - _tmp35_ = self->priv->audio; - _tmp36_ = self->priv->core; - retro_pa_player_set_core (_tmp35_, _tmp36_); + _tmp31_ = self->priv->core; + g_signal_connect (_tmp31_, "log", (GCallback) _retro_g_log_retro_core_log, NULL); + _tmp32_ = self->priv->view; + _tmp33_ = self->priv->core; + retro_core_view_set_core (_tmp32_, _tmp33_); + _tmp34_ = g_new0 (gchar*, 0 + 1); + _data4_->medias_uris = _tmp34_; + _data4_->medias_uris_length1 = 0; + _data4_->_medias_uris_size_ = _data4_->medias_uris_length1; + _tmp35_ = games_runner_get_media_set ((GamesRunner*) self); + _tmp36_ = _tmp35_; + games_media_set_foreach_media (_tmp36_, ___lambda20__games_media_set_media_callback, _data4_); _tmp37_ = self->priv->core; - _tmp38_ = self->priv->input_manager; - retro_core_set_input_interface (_tmp37_, (RetroInput*) _tmp38_); + _tmp38_ = _data4_->medias_uris; + _tmp38__length1 = _data4_->medias_uris_length1; + retro_core_set_medias (_tmp37_, _tmp38_); _tmp39_ = self->priv->core; - _tmp40_ = self->priv->input_manager; - retro_core_set_rumble_interface (_tmp39_, (RetroRumble*) _tmp40_); - _tmp41_ = g_new0 (gchar*, 0 + 1); - _data5_->medias_uris = _tmp41_; - _data5_->medias_uris_length1 = 0; - _data5_->_medias_uris_size_ = _data5_->medias_uris_length1; - _tmp42_ = games_runner_get_media_set ((GamesRunner*) self); - _tmp43_ = _tmp42_; - games_media_set_foreach_media (_tmp43_, ___lambda24__games_media_set_media_callback, _data5_); - _tmp44_ = self->priv->core; - _tmp45_ = _data5_->medias_uris; - _tmp45__length1 = _data5_->medias_uris_length1; - retro_core_set_medias (_tmp44_, _tmp45_); - _tmp46_ = self->priv->core; - retro_core_init (_tmp46_, &_inner_error_); + retro_core_boot (_tmp39_, &_inner_error_); if (G_UNLIKELY (_inner_error_ != NULL)) { g_propagate_error (error, _inner_error_); _g_free0 (module_path); - block5_data_unref (_data5_); - _data5_ = NULL; + block4_data_unref (_data4_); + _data4_ = NULL; return; } - _tmp47_ = self->priv->core; - _tmp48_ = games_runner_get_media_set ((GamesRunner*) self); - _tmp49_ = _tmp48_; - _tmp50_ = games_media_set_get_selected_media_number (_tmp49_); - _tmp51_ = _tmp50_; - retro_core_set_current_media (_tmp47_, (guint) _tmp51_, &_inner_error_); + _tmp40_ = self->priv->core; + _tmp41_ = games_runner_get_media_set ((GamesRunner*) self); + _tmp42_ = _tmp41_; + _tmp43_ = games_media_set_get_selected_media_number (_tmp42_); + _tmp44_ = _tmp43_; + retro_core_set_current_media (_tmp40_, (guint) _tmp44_, &_inner_error_); if (G_UNLIKELY (_inner_error_ != NULL)) { g_propagate_error (error, _inner_error_); _g_free0 (module_path); - block5_data_unref (_data5_); - _data5_ = NULL; + block4_data_unref (_data4_); + _data4_ = NULL; return; } _g_free0 (module_path); - block5_data_unref (_data5_); - _data5_ = NULL; + block4_data_unref (_data4_); + _data4_ = NULL; } @@ -1153,7 +1121,7 @@ _inner_error_ = NULL; _tmp2_ = e; _tmp3_ = _tmp2_->message; - g_warning ("retro-runner.vala:296: %s", _tmp3_); + g_warning ("retro-runner.vala:283: %s", _tmp3_); _g_error_free0 (e); } __finally15: @@ -1227,7 +1195,7 @@ _inner_error_ = NULL; _tmp6_ = e; _tmp7_ = _tmp6_->message; - g_debug ("retro-runner.vala:318: %s", _tmp7_); + g_debug ("retro-runner.vala:305: %s", _tmp7_); _g_error_free0 (e); return; } @@ -1274,7 +1242,7 @@ _inner_error_ = NULL; _tmp18_ = e; _tmp19_ = _tmp18_->message; - g_warning ("retro-runner.vala:330: %s", _tmp19_); + g_warning ("retro-runner.vala:317: %s", _tmp19_); _g_error_free0 (e); _g_object_unref0 (media); return; @@ -1324,7 +1292,7 @@ _inner_error_ = NULL; _tmp29_ = e; _tmp30_ = _tmp29_->message; - g_debug ("retro-runner.vala:343: %s", _tmp30_); + g_debug ("retro-runner.vala:330: %s", _tmp30_); _g_error_free0 (e); uris = (_vala_array_free (uris, uris_length1, (GDestroyNotify) games_uri_unref), NULL); _g_object_unref0 (media); @@ -1354,7 +1322,7 @@ _inner_error_ = NULL; _tmp31_ = e; _tmp32_ = _tmp31_->message; - g_warning ("retro-runner.vala:352: %s", _tmp32_); + g_warning ("retro-runner.vala:339: %s", _tmp32_); _g_error_free0 (e); } __finally19: @@ -1399,7 +1367,7 @@ } } _tmp4_ = self->priv->core; - _tmp5_ = retro_core_supports_serialization (_tmp4_); + _tmp5_ = retro_core_get_can_access_state (_tmp4_); if (!_tmp5_) { return; } @@ -1521,62 +1489,86 @@ } +static guint8* _vala_array_dup8 (guint8* self, int length) { + return g_memdup (self, length * sizeof (guint8)); +} + + static void games_retro_runner_save_ram (GamesRetroRunner* self, GError** error) { - guint8* save = NULL; + GBytes* bytes = NULL; RetroCore* _tmp0_; - gint _tmp1_; - guint8* _tmp2_; + GBytes* _tmp1_; + guint8* save = NULL; + GBytes* _tmp2_; + gsize _tmp3_; + guint8* _tmp4_; + guint8* _tmp5_; + gint _tmp5__length1; gint save_length1; gint _save_size_; - guint8* _tmp3_; - gint _tmp3__length1; + guint8* _tmp6_; + gint _tmp6__length1; gchar* dir = NULL; - gchar* _tmp4_; - const gchar* _tmp5_; + gchar* _tmp7_; + const gchar* _tmp8_; gchar* save_path = NULL; - gchar* _tmp6_; - const gchar* _tmp7_; - guint8* _tmp8_; - gint _tmp8__length1; + gchar* _tmp9_; + const gchar* _tmp10_; + guint8* _tmp11_; + gint _tmp11__length1; GError * _inner_error_ = NULL; g_return_if_fail (self != NULL); _tmp0_ = self->priv->core; - _tmp2_ = retro_core_get_memory (_tmp0_, RETRO_MEMORY_TYPE_SAVE_RAM, &_tmp1_); - save = _tmp2_; - save_length1 = _tmp1_; + _tmp1_ = retro_core_get_memory (_tmp0_, RETRO_MEMORY_TYPE_SAVE_RAM); + bytes = _tmp1_; + _tmp2_ = bytes; + _tmp4_ = g_bytes_get_data (_tmp2_, &_tmp3_); + _tmp5_ = (_tmp4_ != NULL) ? _vala_array_dup8 (_tmp4_, _tmp3_) : ((gpointer) _tmp4_); + _tmp5__length1 = _tmp3_; + save = _tmp5_; + save_length1 = _tmp5__length1; _save_size_ = save_length1; - _tmp3_ = save; - _tmp3__length1 = save_length1; - if (_tmp3__length1 == 0) { + _tmp6_ = save; + _tmp6__length1 = save_length1; + if (_tmp6__length1 == 0) { save = (g_free (save), NULL); + _g_bytes_unref0 (bytes); return; } - _tmp4_ = games_application_get_saves_dir (); - dir = _tmp4_; - _tmp5_ = dir; - games_retro_runner_try_make_dir (_tmp5_); - _tmp6_ = games_retro_runner_get_save_path (self, &_inner_error_); - save_path = _tmp6_; + _tmp7_ = games_application_get_saves_dir (); + dir = _tmp7_; + _tmp8_ = dir; + games_retro_runner_try_make_dir (_tmp8_); + _tmp9_ = games_retro_runner_get_save_path (self, &_inner_error_); + save_path = _tmp9_; if (G_UNLIKELY (_inner_error_ != NULL)) { g_propagate_error (error, _inner_error_); _g_free0 (dir); save = (g_free (save), NULL); + _g_bytes_unref0 (bytes); return; } - _tmp7_ = save_path; - _tmp8_ = save; - _tmp8__length1 = save_length1; - g_file_set_contents (_tmp7_, (const char*) _tmp8_, (size_t) _tmp8__length1, &_inner_error_); + _tmp10_ = save_path; + _tmp11_ = save; + _tmp11__length1 = save_length1; + g_file_set_contents (_tmp10_, (const char*) _tmp11_, (size_t) _tmp11__length1, &_inner_error_); if (G_UNLIKELY (_inner_error_ != NULL)) { g_propagate_error (error, _inner_error_); _g_free0 (save_path); _g_free0 (dir); save = (g_free (save), NULL); + _g_bytes_unref0 (bytes); return; } _g_free0 (save_path); _g_free0 (dir); save = (g_free (save), NULL); + _g_bytes_unref0 (bytes); +} + + +static guint8* _vala_array_dup9 (guint8* self, int length) { + return g_memdup (self, length * sizeof (guint8)); } @@ -1597,9 +1589,14 @@ guint8* _tmp8_; gint _tmp8__length1; gsize _tmp9_; - RetroCore* _tmp12_; + GBytes* bytes = NULL; + guint8* _tmp12_; + gint _tmp12__length1; guint8* _tmp13_; gint _tmp13__length1; + GBytes* _tmp14_; + RetroCore* _tmp15_; + GBytes* _tmp16_; GError * _inner_error_ = NULL; g_return_if_fail (self != NULL); _tmp0_ = games_retro_runner_get_save_path (self, &_inner_error_); @@ -1642,13 +1639,19 @@ _tmp10_ = data; _tmp10__length1 = data_length1; _tmp11_ = expected_size; - g_warning ("retro-runner.vala:420: Unexpected RAM data size: got %lu, expected %lu" \ + g_warning ("retro-runner.vala:408: Unexpected RAM data size: got %lu, expected %lu" \ "\n", (gulong) _tmp10__length1, (gulong) _tmp11_); } - _tmp12_ = self->priv->core; - _tmp13_ = data; - _tmp13__length1 = data_length1; - retro_core_set_memory (_tmp12_, RETRO_MEMORY_TYPE_SAVE_RAM, _tmp13_, _tmp13__length1); + _tmp12_ = data; + _tmp12__length1 = data_length1; + _tmp13_ = (_tmp12_ != NULL) ? _vala_array_dup9 (_tmp12_, _tmp12__length1) : ((gpointer) _tmp12_); + _tmp13__length1 = _tmp12__length1; + _tmp14_ = g_bytes_new_take (_tmp13_, _tmp13__length1); + bytes = _tmp14_; + _tmp15_ = self->priv->core; + _tmp16_ = bytes; + retro_core_set_memory (_tmp15_, RETRO_MEMORY_TYPE_SAVE_RAM, _tmp16_); + _g_bytes_unref0 (bytes); data = (g_free (data), NULL); _g_free0 (save_path); } @@ -1706,65 +1709,88 @@ } +static guint8* _vala_array_dup10 (guint8* self, int length) { + return g_memdup (self, length * sizeof (guint8)); +} + + static void games_retro_runner_save_snapshot (GamesRetroRunner* self, GError** error) { RetroCore* _tmp0_; gboolean _tmp1_; - guint8* buffer = NULL; + GBytes* bytes = NULL; RetroCore* _tmp2_; - gsize _tmp3_; - guint8* _tmp4_; + GBytes* _tmp3_; + guint8* buffer = NULL; + GBytes* _tmp4_; + gsize _tmp5_; + guint8* _tmp6_; + guint8* _tmp7_; + gint _tmp7__length1; gint buffer_length1; gint _buffer_size_; gchar* dir = NULL; - gchar* _tmp5_; - const gchar* _tmp6_; + gchar* _tmp8_; + const gchar* _tmp9_; gchar* snapshot_path = NULL; - gchar* _tmp7_; - const gchar* _tmp8_; - guint8* _tmp9_; - gint _tmp9__length1; + gchar* _tmp10_; + const gchar* _tmp11_; + guint8* _tmp12_; + gint _tmp12__length1; GError * _inner_error_ = NULL; g_return_if_fail (self != NULL); _tmp0_ = self->priv->core; - _tmp1_ = retro_core_supports_serialization (_tmp0_); + _tmp1_ = retro_core_get_can_access_state (_tmp0_); if (!_tmp1_) { return; } _tmp2_ = self->priv->core; - _tmp4_ = retro_core_serialize_state (_tmp2_, &_tmp3_, &_inner_error_); - buffer = _tmp4_; - buffer_length1 = _tmp3_; - _buffer_size_ = buffer_length1; + _tmp3_ = retro_core_get_state (_tmp2_, &_inner_error_); + bytes = _tmp3_; if (G_UNLIKELY (_inner_error_ != NULL)) { g_propagate_error (error, _inner_error_); return; } - _tmp5_ = games_application_get_snapshots_dir (); - dir = _tmp5_; - _tmp6_ = dir; - games_retro_runner_try_make_dir (_tmp6_); - _tmp7_ = games_retro_runner_get_snapshot_path (self, &_inner_error_); - snapshot_path = _tmp7_; + _tmp4_ = bytes; + _tmp6_ = g_bytes_get_data (_tmp4_, &_tmp5_); + _tmp7_ = (_tmp6_ != NULL) ? _vala_array_dup10 (_tmp6_, _tmp5_) : ((gpointer) _tmp6_); + _tmp7__length1 = _tmp5_; + buffer = _tmp7_; + buffer_length1 = _tmp7__length1; + _buffer_size_ = buffer_length1; + _tmp8_ = games_application_get_snapshots_dir (); + dir = _tmp8_; + _tmp9_ = dir; + games_retro_runner_try_make_dir (_tmp9_); + _tmp10_ = games_retro_runner_get_snapshot_path (self, &_inner_error_); + snapshot_path = _tmp10_; if (G_UNLIKELY (_inner_error_ != NULL)) { g_propagate_error (error, _inner_error_); _g_free0 (dir); buffer = (g_free (buffer), NULL); + _g_bytes_unref0 (bytes); return; } - _tmp8_ = snapshot_path; - _tmp9_ = buffer; - _tmp9__length1 = buffer_length1; - g_file_set_contents (_tmp8_, (const char*) _tmp9_, (size_t) _tmp9__length1, &_inner_error_); + _tmp11_ = snapshot_path; + _tmp12_ = buffer; + _tmp12__length1 = buffer_length1; + g_file_set_contents (_tmp11_, (const char*) _tmp12_, (size_t) _tmp12__length1, &_inner_error_); if (G_UNLIKELY (_inner_error_ != NULL)) { g_propagate_error (error, _inner_error_); _g_free0 (snapshot_path); _g_free0 (dir); buffer = (g_free (buffer), NULL); + _g_bytes_unref0 (bytes); return; } _g_free0 (snapshot_path); _g_free0 (dir); buffer = (g_free (buffer), NULL); + _g_bytes_unref0 (bytes); +} + + +static guint8* _vala_array_dup11 (guint8* self, int length) { + return g_memdup (self, length * sizeof (guint8)); } @@ -1781,13 +1807,18 @@ const gchar* _tmp5_; guint8* _tmp6_ = NULL; size_t _tmp7_; - RetroCore* _tmp8_; + GBytes* bytes = NULL; + guint8* _tmp8_; + gint _tmp8__length1; guint8* _tmp9_; gint _tmp9__length1; + GBytes* _tmp10_; + RetroCore* _tmp11_; + GBytes* _tmp12_; GError * _inner_error_ = NULL; g_return_if_fail (self != NULL); _tmp0_ = self->priv->core; - _tmp1_ = retro_core_supports_serialization (_tmp0_); + _tmp1_ = retro_core_get_can_access_state (_tmp0_); if (!_tmp1_) { return; } @@ -1818,16 +1849,23 @@ _g_free0 (snapshot_path); return; } - _tmp8_ = self->priv->core; - _tmp9_ = data; - _tmp9__length1 = data_length1; - retro_core_deserialize_state (_tmp8_, _tmp9_, (gsize) _tmp9__length1, &_inner_error_); + _tmp8_ = data; + _tmp8__length1 = data_length1; + _tmp9_ = (_tmp8_ != NULL) ? _vala_array_dup11 (_tmp8_, _tmp8__length1) : ((gpointer) _tmp8_); + _tmp9__length1 = _tmp8__length1; + _tmp10_ = g_bytes_new_take (_tmp9_, _tmp9__length1); + bytes = _tmp10_; + _tmp11_ = self->priv->core; + _tmp12_ = bytes; + retro_core_set_state (_tmp11_, _tmp12_, &_inner_error_); if (G_UNLIKELY (_inner_error_ != NULL)) { g_propagate_error (error, _inner_error_); + _g_bytes_unref0 (bytes); data = (g_free (data), NULL); _g_free0 (snapshot_path); return; } + _g_bytes_unref0 (bytes); data = (g_free (data), NULL); _g_free0 (snapshot_path); } @@ -2036,89 +2074,87 @@ RetroCore* _tmp0_; gboolean _tmp1_; GdkPixbuf* pixbuf = NULL; - RetroCairoDisplay* _tmp2_; + RetroCoreView* _tmp2_; GdkPixbuf* _tmp3_; GdkPixbuf* _tmp4_; GdkPixbuf* _tmp5_; - GdkPixbuf* _tmp6_; gchar* screenshot_path = NULL; - gchar* _tmp7_; + gchar* _tmp6_; GDateTime* now = NULL; - GDateTime* _tmp8_; + GDateTime* _tmp7_; gchar* creation_time = NULL; - GDateTime* _tmp9_; - gchar* _tmp10_; + GDateTime* _tmp8_; + gchar* _tmp9_; gchar* platform = NULL; - GamesRetroCoreSource* _tmp11_; - gchar* _tmp12_; + GamesRetroCoreSource* _tmp10_; + gchar* _tmp11_; gchar* platform_name = NULL; - const gchar* _tmp13_; - gchar* _tmp14_; + const gchar* _tmp12_; + gchar* _tmp13_; gchar* title = NULL; - GamesTitle* _tmp15_; - gchar* _tmp16_; - const gchar* _tmp17_ = NULL; - GdkPixbuf* _tmp18_; - const gchar* _tmp19_; + GamesTitle* _tmp14_; + gchar* _tmp15_; + const gchar* _tmp16_ = NULL; + GdkPixbuf* _tmp17_; + const gchar* _tmp18_; gchar* x_dpi = NULL; - gchar* _tmp20_; - const gchar* _tmp21_ = NULL; - GdkPixbuf* _tmp22_; - const gchar* _tmp23_; + gchar* _tmp19_; + const gchar* _tmp20_ = NULL; + GdkPixbuf* _tmp21_; + const gchar* _tmp22_; gchar* y_dpi = NULL; - gchar* _tmp24_; - GdkPixbuf* _tmp25_; + gchar* _tmp23_; + GdkPixbuf* _tmp24_; + const gchar* _tmp25_; const gchar* _tmp26_; const gchar* _tmp27_; const gchar* _tmp28_; const gchar* _tmp29_; - const gchar* _tmp30_; + gchar* _tmp30_; gchar* _tmp31_; - gchar* _tmp32_; + const gchar* _tmp32_; const gchar* _tmp33_; const gchar* _tmp34_; const gchar* _tmp35_; const gchar* _tmp36_; const gchar* _tmp37_; - const gchar* _tmp38_; GError * _inner_error_ = NULL; g_return_if_fail (self != NULL); _tmp0_ = self->priv->core; - _tmp1_ = retro_core_supports_serialization (_tmp0_); + _tmp1_ = retro_core_get_can_access_state (_tmp0_); if (!_tmp1_) { return; } - _tmp2_ = self->priv->video; - _tmp3_ = retro_cairo_display_get_pixbuf (_tmp2_); - _tmp4_ = _tmp3_; - _tmp5_ = _g_object_ref0 (_tmp4_); - pixbuf = _tmp5_; - _tmp6_ = pixbuf; - if (_tmp6_ == NULL) { + _tmp2_ = self->priv->view; + _tmp3_ = retro_core_view_get_pixbuf (_tmp2_); + _tmp4_ = _g_object_ref0 (_tmp3_); + pixbuf = _tmp4_; + _tmp5_ = pixbuf; + if (_tmp5_ == NULL) { _g_object_unref0 (pixbuf); return; } - _tmp7_ = games_retro_runner_get_screenshot_path (self, &_inner_error_); - screenshot_path = _tmp7_; + _tmp6_ = games_retro_runner_get_screenshot_path (self, &_inner_error_); + screenshot_path = _tmp6_; if (G_UNLIKELY (_inner_error_ != NULL)) { g_propagate_error (error, _inner_error_); _g_object_unref0 (pixbuf); return; } - _tmp8_ = g_date_time_new_now_local (); - now = _tmp8_; - _tmp9_ = now; - _tmp10_ = g_date_time_to_string (_tmp9_); - creation_time = _tmp10_; - _tmp11_ = self->priv->core_source; - _tmp12_ = games_retro_core_source_get_platform (_tmp11_); - platform = _tmp12_; - _tmp13_ = platform; - _tmp14_ = games_retro_platform_get_platform_name (_tmp13_); - platform_name = _tmp14_; - _tmp15_ = self->priv->game_title; - _tmp16_ = games_title_get_title (_tmp15_, &_inner_error_); - title = _tmp16_; + _tmp7_ = g_date_time_new_now_local (); + now = _tmp7_; + _tmp8_ = now; + _tmp9_ = g_date_time_to_string (_tmp8_); + creation_time = _tmp9_; + _tmp10_ = self->priv->core_source; + _tmp11_ = games_retro_core_source_get_platform (_tmp10_); + platform = _tmp11_; + _tmp12_ = platform; + _tmp13_ = games_retro_platform_get_platform_name (_tmp12_); + platform_name = _tmp13_; + _tmp14_ = self->priv->game_title; + _tmp15_ = games_title_get_title (_tmp14_, &_inner_error_); + title = _tmp15_; if (G_UNLIKELY (_inner_error_ != NULL)) { g_propagate_error (error, _inner_error_); _g_free0 (platform_name); @@ -2129,38 +2165,38 @@ _g_object_unref0 (pixbuf); return; } - _tmp18_ = pixbuf; - _tmp19_ = gdk_pixbuf_get_option (_tmp18_, "x-dpi"); - _tmp17_ = _tmp19_; - if (_tmp17_ == NULL) { - _tmp17_ = ""; - } - _tmp20_ = g_strdup (_tmp17_); - x_dpi = _tmp20_; - _tmp22_ = pixbuf; - _tmp23_ = gdk_pixbuf_get_option (_tmp22_, "y-dpi"); - _tmp21_ = _tmp23_; - if (_tmp21_ == NULL) { - _tmp21_ = ""; - } - _tmp24_ = g_strdup (_tmp21_); - y_dpi = _tmp24_; - _tmp25_ = pixbuf; - _tmp26_ = screenshot_path; - _tmp27_ = title; - _tmp28_ = string_to_string (_tmp27_); - _tmp29_ = platform_name; - _tmp30_ = string_to_string (_tmp29_); - _tmp31_ = g_strconcat ("Screenshot of ", _tmp28_, " on ", _tmp30_, NULL); - _tmp32_ = _tmp31_; - _tmp33_ = creation_time; - _tmp34_ = string_to_string (_tmp33_); - _tmp35_ = title; - _tmp36_ = platform_name; - _tmp37_ = x_dpi; - _tmp38_ = y_dpi; - gdk_pixbuf_save (_tmp25_, _tmp26_, "png", &_inner_error_, "tEXt::Software", "GNOME Games", "tEXt::Title", _tmp32_, "tEXt::Creation Time", _tmp34_, "tEXt::Game Title", _tmp35_, "tEXt::Platform", _tmp36_, "x-dpi", _tmp37_, "y-dpi", _tmp38_, NULL, NULL); - _g_free0 (_tmp32_); + _tmp17_ = pixbuf; + _tmp18_ = gdk_pixbuf_get_option (_tmp17_, "x-dpi"); + _tmp16_ = _tmp18_; + if (_tmp16_ == NULL) { + _tmp16_ = ""; + } + _tmp19_ = g_strdup (_tmp16_); + x_dpi = _tmp19_; + _tmp21_ = pixbuf; + _tmp22_ = gdk_pixbuf_get_option (_tmp21_, "y-dpi"); + _tmp20_ = _tmp22_; + if (_tmp20_ == NULL) { + _tmp20_ = ""; + } + _tmp23_ = g_strdup (_tmp20_); + y_dpi = _tmp23_; + _tmp24_ = pixbuf; + _tmp25_ = screenshot_path; + _tmp26_ = title; + _tmp27_ = string_to_string (_tmp26_); + _tmp28_ = platform_name; + _tmp29_ = string_to_string (_tmp28_); + _tmp30_ = g_strconcat ("Screenshot of ", _tmp27_, " on ", _tmp29_, NULL); + _tmp31_ = _tmp30_; + _tmp32_ = creation_time; + _tmp33_ = string_to_string (_tmp32_); + _tmp34_ = title; + _tmp35_ = platform_name; + _tmp36_ = x_dpi; + _tmp37_ = y_dpi; + gdk_pixbuf_save (_tmp24_, _tmp25_, "png", &_inner_error_, "tEXt::Software", "GNOME Games", "tEXt::Title", _tmp31_, "tEXt::Creation Time", _tmp33_, "tEXt::Game Title", _tmp34_, "tEXt::Platform", _tmp35_, "x-dpi", _tmp36_, "y-dpi", _tmp37_, NULL, NULL); + _g_free0 (_tmp31_); if (G_UNLIKELY (_inner_error_ != NULL)) { g_propagate_error (error, _inner_error_); _g_free0 (y_dpi); @@ -2196,12 +2232,12 @@ GdkPixbuf* pixbuf = NULL; const gchar* _tmp5_; GdkPixbuf* _tmp6_; - RetroCairoDisplay* _tmp7_; + RetroCoreView* _tmp7_; GdkPixbuf* _tmp8_; GError * _inner_error_ = NULL; g_return_if_fail (self != NULL); _tmp0_ = self->priv->core; - _tmp1_ = retro_core_supports_serialization (_tmp0_); + _tmp1_ = retro_core_get_can_access_state (_tmp0_); if (!_tmp1_) { return; } @@ -2225,9 +2261,9 @@ _g_free0 (screenshot_path); return; } - _tmp7_ = self->priv->video; + _tmp7_ = self->priv->view; _tmp8_ = pixbuf; - retro_cairo_display_set_pixbuf (_tmp7_, _tmp8_); + retro_core_view_set_pixbuf (_tmp7_, _tmp8_); _g_object_unref0 (pixbuf); _g_free0 (screenshot_path); } @@ -2281,7 +2317,7 @@ _tmp7_ = string_to_string (_tmp6_); _tmp8_ = g_strconcat (_tmp7_, "\n", NULL); _tmp9_ = _tmp8_; - g_warning ("retro-runner.vala:566: %s", _tmp9_); + g_warning ("retro-runner.vala:557: %s", _tmp9_); _g_free0 (_tmp9_); _g_error_free0 (e); _g_object_unref0 (file); @@ -2378,7 +2414,7 @@ goto __catch21_g_error; } _tmp0_ = self->priv->core; - _tmp1_ = retro_core_supports_serialization (_tmp0_); + _tmp1_ = retro_core_get_can_access_state (_tmp0_); if (!_tmp1_) { result = FALSE; return result; @@ -2448,7 +2484,7 @@ gboolean _tmp0_; gboolean _tmp1_; gboolean _tmp2_; - RetroCairoDisplay* _tmp3_; + RetroCoreView* _tmp3_; gboolean _tmp4_; gboolean _tmp5_; g_return_if_fail (self != NULL); @@ -2459,7 +2495,7 @@ if (_tmp2_) { self->priv->should_save = TRUE; } - _tmp3_ = self->priv->video; + _tmp3_ = self->priv->view; _tmp4_ = games_retro_runner_get_running (self); _tmp5_ = _tmp4_; gtk_widget_set_sensitive ((GtkWidget*) _tmp3_, _tmp5_); @@ -2488,10 +2524,10 @@ G_OBJECT_CLASS (klass)->set_property = _vala_games_retro_runner_set_property; G_OBJECT_CLASS (klass)->constructor = games_retro_runner_constructor; G_OBJECT_CLASS (klass)->finalize = games_retro_runner_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_RETRO_RUNNER_CAN_FULLSCREEN_PROPERTY, games_retro_runner_properties[GAMES_RETRO_RUNNER_CAN_FULLSCREEN_PROPERTY] = g_param_spec_boolean ("can-fullscreen", "can-fullscreen", "can-fullscreen", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_RETRO_RUNNER_CAN_QUIT_SAFELY_PROPERTY, games_retro_runner_properties[GAMES_RETRO_RUNNER_CAN_QUIT_SAFELY_PROPERTY] = g_param_spec_boolean ("can-quit-safely", "can-quit-safely", "can-quit-safely", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_RETRO_RUNNER_CAN_RESUME_PROPERTY, games_retro_runner_properties[GAMES_RETRO_RUNNER_CAN_RESUME_PROPERTY] = g_param_spec_boolean ("can-resume", "can-resume", "can-resume", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_RETRO_RUNNER_MEDIA_SET_PROPERTY, games_retro_runner_properties[GAMES_RETRO_RUNNER_MEDIA_SET_PROPERTY] = g_param_spec_object ("media-set", "media-set", "media-set", GAMES_TYPE_MEDIA_SET, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_RETRO_RUNNER_CAN_FULLSCREEN_PROPERTY, g_param_spec_boolean ("can-fullscreen", "can-fullscreen", "can-fullscreen", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_RETRO_RUNNER_CAN_QUIT_SAFELY_PROPERTY, g_param_spec_boolean ("can-quit-safely", "can-quit-safely", "can-quit-safely", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_RETRO_RUNNER_CAN_RESUME_PROPERTY, g_param_spec_boolean ("can-resume", "can-resume", "can-resume", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_RETRO_RUNNER_MEDIA_SET_PROPERTY, g_param_spec_object ("media-set", "media-set", "media-set", GAMES_TYPE_MEDIA_SET, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); } @@ -2523,8 +2559,6 @@ _g_object_unref0 (self->priv->_media_set); _g_object_unref0 (self->priv->core); _g_object_unref0 (self->priv->view); - _g_object_unref0 (self->priv->video); - _g_object_unref0 (self->priv->audio); _g_object_unref0 (self->priv->input_manager); _g_object_unref0 (self->priv->loop); _g_free0 (self->priv->save_directory_path); diff -Nru gnome-games-app-3.26.2/src/retro/retro-runner.vala gnome-games-app-3.28.0/src/retro/retro-runner.vala --- gnome-games-app-3.26.2/src/retro/retro-runner.vala 2017-11-01 17:05:34.000000000 +0000 +++ gnome-games-app-3.28.0/src/retro/retro-runner.vala 2018-01-30 09:48:30.000000000 +0000 @@ -13,7 +13,7 @@ get { try { init (); - if (!core.supports_serialization ()) + if (!core.get_can_access_state ()) return false; var snapshot_path = get_snapshot_path (); @@ -36,8 +36,6 @@ private Retro.Core core; private Retro.CoreView view; - private Retro.CairoDisplay video; - private Retro.PaPlayer audio; private RetroInputManager input_manager; private Retro.MainLoop loop; @@ -61,7 +59,7 @@ if (running) should_save = true; - video.sensitive = running; + view.sensitive = running; } get { return _running; } } @@ -189,16 +187,14 @@ return; view = new Retro.CoreView (); - video = view.get_display (); settings.changed["video-filter"].connect (on_video_filter_changed); on_video_filter_changed (); - video.visible = true; - var present_analog_sticks = input_capabilities == null || input_capabilities.get_allow_analog_gamepads (); - input_manager = new RetroInputManager (view, present_analog_sticks); - prepare_core (); + var present_analog_sticks = input_capabilities == null || input_capabilities.get_allow_analog_gamepads (); + input_manager = new RetroInputManager (core, view, present_analog_sticks); + core.shutdown.connect (on_shutdown); core.run (); // Needed to finish preparing some cores. @@ -220,9 +216,6 @@ core = null; view.set_core (null); view = null; - video = null; - audio.set_core (null); - audio = null; input_manager = null; loop = null; @@ -235,7 +228,7 @@ private void on_video_filter_changed () { var filter_name = settings.get_string ("video-filter"); var filter = Retro.VideoFilter.from_string (filter_name); - video.set_filter (filter); + view.set_filter (filter); } private void prepare_core () throws Error { @@ -250,7 +243,6 @@ else module_path = core_source.get_module_path (); core = new Retro.Core (module_path); - audio = new Retro.PaPlayer (); if (core_source != null) { var platforms_dir = Application.get_platforms_dir (); @@ -264,9 +256,6 @@ core.log.connect (Retro.g_log); view.set_core (core); - audio.set_core (core); - core.input_interface = input_manager; - core.rumble_interface = input_manager; string[] medias_uris = {}; media_set.foreach_media ((media) => { @@ -275,9 +264,7 @@ }); core.set_medias (medias_uris); - - core.init (); - + core.boot (); core.set_current_media (media_set.selected_media_number); } @@ -362,7 +349,7 @@ if (media_set.get_size () > 1) save_media_data (); - if (!core.supports_serialization ()) + if (!core.get_can_access_state ()) return; save_snapshot (); @@ -394,7 +381,8 @@ } private void save_ram () throws Error{ - var save = core.get_memory (Retro.MemoryType.SAVE_RAM); + var bytes = core.get_memory (Retro.MemoryType.SAVE_RAM); + var save = bytes.get_data (); if (save.length == 0) return; @@ -419,7 +407,8 @@ if (data.length != expected_size) warning ("Unexpected RAM data size: got %lu, expected %lu\n", data.length, expected_size); - core.set_memory (Retro.MemoryType.SAVE_RAM, data); + var bytes = new Bytes.take (data); + core.set_memory (Retro.MemoryType.SAVE_RAM, bytes); } private string get_snapshot_path () throws Error { @@ -434,10 +423,11 @@ } private void save_snapshot () throws Error { - if (!core.supports_serialization ()) + if (!core.get_can_access_state ()) return; - var buffer = core.serialize_state (); + var bytes = core.get_state (); + var buffer = bytes.get_data (); var dir = Application.get_snapshots_dir (); try_make_dir (dir); @@ -448,7 +438,7 @@ } private void load_snapshot () throws Error { - if (!core.supports_serialization ()) + if (!core.get_can_access_state ()) return; var snapshot_path = get_snapshot_path (); @@ -459,7 +449,8 @@ uint8[] data = null; FileUtils.get_data (snapshot_path, out data); - core.deserialize_state (data); + var bytes = new Bytes.take (data); + core.set_state (bytes); } private void save_media_data () throws Error { @@ -505,10 +496,10 @@ } private void save_screenshot () throws Error { - if (!core.supports_serialization ()) + if (!core.get_can_access_state ()) return; - var pixbuf = video.pixbuf; + var pixbuf = view.get_pixbuf (); if (pixbuf == null) return; @@ -538,7 +529,7 @@ } private void load_screenshot () throws Error { - if (!core.supports_serialization ()) + if (!core.get_can_access_state ()) return; var screenshot_path = get_screenshot_path (); @@ -547,7 +538,7 @@ return; var pixbuf = new Gdk.Pixbuf.from_file (screenshot_path); - video.pixbuf = pixbuf; + view.set_pixbuf (pixbuf); } private bool on_shutdown () { diff -Nru gnome-games-app-3.26.2/src/retro/retro-simple-game-uri-adapter.c gnome-games-app-3.28.0/src/retro/retro-simple-game-uri-adapter.c --- gnome-games-app-3.26.2/src/retro/retro-simple-game-uri-adapter.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/retro/retro-simple-game-uri-adapter.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* retro-simple-game-uri-adapter.c generated by valac 0.38.2, the Vala compiler +/* retro-simple-game-uri-adapter.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from retro-simple-game-uri-adapter.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -84,11 +84,6 @@ #define GAMES_TYPE_RETRO_SIMPLE_TYPE (games_retro_simple_type_get_type ()) typedef struct _GamesRetroSimpleType GamesRetroSimpleType; -enum { - GAMES_RETRO_SIMPLE_GAME_URI_ADAPTER_DUMMY_PROPERTY, - GAMES_RETRO_SIMPLE_GAME_URI_ADAPTER_LAST_PROPERTY -}; -static GParamSpec* games_retro_simple_game_uri_adapter_properties[GAMES_RETRO_SIMPLE_GAME_URI_ADAPTER_LAST_PROPERTY]; #define _games_uri_unref0(var) ((var == NULL) ? NULL : (var = (games_uri_unref (var), NULL))) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) @@ -351,6 +346,9 @@ void games_retro_simple_type_copy (const GamesRetroSimpleType* self, GamesRetroSimpleType* dest); void games_retro_simple_type_destroy (GamesRetroSimpleType* self); #define GAMES_RETRO_SIMPLE_GAME_URI_ADAPTER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_RETRO_SIMPLE_GAME_URI_ADAPTER, GamesRetroSimpleGameUriAdapterPrivate)) +enum { + GAMES_RETRO_SIMPLE_GAME_URI_ADAPTER_0_PROPERTY +}; GamesRetroSimpleGameUriAdapter* games_retro_simple_game_uri_adapter_new (GamesRetroSimpleType* simple_type); GamesRetroSimpleGameUriAdapter* games_retro_simple_game_uri_adapter_construct (GType object_type, GamesRetroSimpleType* simple_type); static void games_retro_simple_game_uri_adapter_real_game_for_uri_data_free (gpointer _data); diff -Nru gnome-games-app-3.26.2/src/retro/retro-simple-type.c gnome-games-app-3.28.0/src/retro/retro-simple-type.c --- gnome-games-app-3.26.2/src/retro/retro-simple-type.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/retro/retro-simple-type.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* retro-simple-type.c generated by valac 0.38.2, the Vala compiler +/* retro-simple-type.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from retro-simple-type.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/src/retro/retro-simple-types.c gnome-games-app-3.28.0/src/retro/retro-simple-types.c --- gnome-games-app-3.26.2/src/retro/retro-simple-types.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/retro/retro-simple-types.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* retro-simple-types.c generated by valac 0.38.2, the Vala compiler +/* retro-simple-types.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from retro-simple-types.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/src/tracker/mime-type-tracker-uri-query.c gnome-games-app-3.28.0/src/tracker/mime-type-tracker-uri-query.c --- gnome-games-app-3.26.2/src/tracker/mime-type-tracker-uri-query.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/tracker/mime-type-tracker-uri-query.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* mime-type-tracker-uri-query.c generated by valac 0.38.2, the Vala compiler +/* mime-type-tracker-uri-query.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from mime-type-tracker-uri-query.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -27,11 +27,6 @@ typedef struct _GamesMimeTypeTrackerUriQuery GamesMimeTypeTrackerUriQuery; typedef struct _GamesMimeTypeTrackerUriQueryClass GamesMimeTypeTrackerUriQueryClass; typedef struct _GamesMimeTypeTrackerUriQueryPrivate GamesMimeTypeTrackerUriQueryPrivate; -enum { - GAMES_MIME_TYPE_TRACKER_URI_QUERY_DUMMY_PROPERTY, - GAMES_MIME_TYPE_TRACKER_URI_QUERY_LAST_PROPERTY -}; -static GParamSpec* games_mime_type_tracker_uri_query_properties[GAMES_MIME_TYPE_TRACKER_URI_QUERY_LAST_PROPERTY]; #define _g_free0(var) (var = (g_free (var), NULL)) struct _GamesTrackerUriQueryIface { @@ -59,6 +54,9 @@ GType games_tracker_uri_query_get_type (void) G_GNUC_CONST; GType games_mime_type_tracker_uri_query_get_type (void) G_GNUC_CONST; #define GAMES_MIME_TYPE_TRACKER_URI_QUERY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_MIME_TYPE_TRACKER_URI_QUERY, GamesMimeTypeTrackerUriQueryPrivate)) +enum { + GAMES_MIME_TYPE_TRACKER_URI_QUERY_0_PROPERTY +}; GamesMimeTypeTrackerUriQuery* games_mime_type_tracker_uri_query_new (const gchar* mime_type); GamesMimeTypeTrackerUriQuery* games_mime_type_tracker_uri_query_construct (GType object_type, const gchar* mime_type); static gchar* games_mime_type_tracker_uri_query_real_get_query (GamesTrackerUriQuery* base); diff -Nru gnome-games-app-3.26.2/src/tracker/tracker-error.c gnome-games-app-3.28.0/src/tracker/tracker-error.c --- gnome-games-app-3.26.2/src/tracker/tracker-error.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/tracker/tracker-error.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* tracker-error.c generated by valac 0.38.2, the Vala compiler +/* tracker-error.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from tracker-error.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/src/tracker/tracker-uri-iterator.c gnome-games-app-3.28.0/src/tracker/tracker-uri-iterator.c --- gnome-games-app-3.26.2/src/tracker/tracker-uri-iterator.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/tracker/tracker-uri-iterator.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* tracker-uri-iterator.c generated by valac 0.38.2, the Vala compiler +/* tracker-uri-iterator.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from tracker-uri-iterator.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -46,11 +46,6 @@ typedef struct _GamesTrackerUriQuery GamesTrackerUriQuery; typedef struct _GamesTrackerUriQueryIface GamesTrackerUriQueryIface; -enum { - GAMES_TRACKER_URI_ITERATOR_DUMMY_PROPERTY, - GAMES_TRACKER_URI_ITERATOR_LAST_PROPERTY -}; -static GParamSpec* games_tracker_uri_iterator_properties[GAMES_TRACKER_URI_ITERATOR_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _games_uri_unref0(var) ((var == NULL) ? NULL : (var = (games_uri_unref (var), NULL))) #define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) @@ -101,9 +96,12 @@ GType games_tracker_uri_iterator_get_type (void) G_GNUC_CONST; GType games_tracker_uri_query_get_type (void) G_GNUC_CONST; #define GAMES_TRACKER_URI_ITERATOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_TRACKER_URI_ITERATOR, GamesTrackerUriIteratorPrivate)) +enum { + GAMES_TRACKER_URI_ITERATOR_0_PROPERTY +}; GamesTrackerUriIterator* games_tracker_uri_iterator_new (TrackerSparqlConnection* connection, GamesTrackerUriQuery** queries, int queries_length1); GamesTrackerUriIterator* games_tracker_uri_iterator_construct (GType object_type, TrackerSparqlConnection* connection, GamesTrackerUriQuery** queries, int queries_length1); -static GamesTrackerUriQuery** _vala_array_dup8 (GamesTrackerUriQuery** self, int length); +static GamesTrackerUriQuery** _vala_array_dup12 (GamesTrackerUriQuery** self, int length); static GamesUri* games_tracker_uri_iterator_real_get (GamesUriIterator* base); static gboolean games_tracker_uri_iterator_real_next (GamesUriIterator* base); static gboolean games_tracker_uri_iterator_try_next_for_query (GamesTrackerUriIterator* self, GamesTrackerUriQuery* query); @@ -121,7 +119,7 @@ } -static GamesTrackerUriQuery** _vala_array_dup8 (GamesTrackerUriQuery** self, int length) { +static GamesTrackerUriQuery** _vala_array_dup12 (GamesTrackerUriQuery** self, int length) { GamesTrackerUriQuery** result; int i; result = g_new0 (GamesTrackerUriQuery*, length + 1); @@ -150,7 +148,7 @@ self->priv->connection = _tmp1_; _tmp2_ = queries; _tmp2__length1 = queries_length1; - _tmp3_ = (_tmp2_ != NULL) ? _vala_array_dup8 (_tmp2_, _tmp2__length1) : ((gpointer) _tmp2_); + _tmp3_ = (_tmp2_ != NULL) ? _vala_array_dup12 (_tmp2_, _tmp2__length1) : ((gpointer) _tmp2_); _tmp3__length1 = _tmp2__length1; self->priv->queries = (_vala_array_free (self->priv->queries, self->priv->queries_length1, (GDestroyNotify) g_object_unref), NULL); self->priv->queries = _tmp3_; diff -Nru gnome-games-app-3.26.2/src/tracker/tracker-uri-query.c gnome-games-app-3.28.0/src/tracker/tracker-uri-query.c --- gnome-games-app-3.26.2/src/tracker/tracker-uri-query.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/tracker/tracker-uri-query.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* tracker-uri-query.c generated by valac 0.38.2, the Vala compiler +/* tracker-uri-query.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from tracker-uri-query.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/src/tracker/tracker-uri-source.c gnome-games-app-3.28.0/src/tracker/tracker-uri-source.c --- gnome-games-app-3.26.2/src/tracker/tracker-uri-source.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/tracker/tracker-uri-source.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* tracker-uri-source.c generated by valac 0.38.2, the Vala compiler +/* tracker-uri-source.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from tracker-uri-source.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -54,11 +54,6 @@ typedef struct _GamesTrackerUriQuery GamesTrackerUriQuery; typedef struct _GamesTrackerUriQueryIface GamesTrackerUriQueryIface; -enum { - GAMES_TRACKER_URI_SOURCE_DUMMY_PROPERTY, - GAMES_TRACKER_URI_SOURCE_LAST_PROPERTY -}; -static GParamSpec* games_tracker_uri_source_properties[GAMES_TRACKER_URI_SOURCE_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define GAMES_TYPE_TRACKER_URI_ITERATOR (games_tracker_uri_iterator_get_type ()) @@ -119,6 +114,9 @@ GType games_tracker_uri_source_get_type (void) G_GNUC_CONST; GType games_tracker_uri_query_get_type (void) G_GNUC_CONST; #define GAMES_TRACKER_URI_SOURCE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_TRACKER_URI_SOURCE, GamesTrackerUriSourcePrivate)) +enum { + GAMES_TRACKER_URI_SOURCE_0_PROPERTY +}; GamesTrackerUriSource* games_tracker_uri_source_new (TrackerSparqlConnection* connection); GamesTrackerUriSource* games_tracker_uri_source_construct (GType object_type, TrackerSparqlConnection* connection); static void games_tracker_uri_source_set_connection (GamesTrackerUriSource* self, TrackerSparqlConnection* value); diff -Nru gnome-games-app-3.26.2/src/ui/application.c gnome-games-app-3.28.0/src/ui/application.c --- gnome-games-app-3.26.2/src/ui/application.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/application.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* application.c generated by valac 0.38.2, the Vala compiler +/* application.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from application.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -56,11 +56,6 @@ typedef struct _GamesGameCollection GamesGameCollection; typedef struct _GamesGameCollectionClass GamesGameCollectionClass; -enum { - GAMES_APPLICATION_DUMMY_PROPERTY, - GAMES_APPLICATION_LAST_PROPERTY -}; -static GParamSpec* games_application_properties[GAMES_APPLICATION_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_source_unref0(var) ((var == NULL) ? NULL : (var = (g_source_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) @@ -267,7 +262,7 @@ typedef struct _GamesPreferencesWindow GamesPreferencesWindow; typedef struct _GamesPreferencesWindowClass GamesPreferencesWindowClass; -typedef struct _Block6Data Block6Data; +typedef struct _Block5Data Block5Data; #define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); #define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; } #define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; } @@ -297,13 +292,13 @@ GAsyncReadyCallback _callback_; gboolean _task_complete_; GamesApplication* self; - GtkFileChooserDialog* chooser; + GtkFileChooserNative* chooser; GamesApplicationWindow* _tmp0_; - GtkFileChooserDialog* _tmp1_; - GtkFileChooserDialog* _tmp2_; + GtkFileChooserNative* _tmp1_; + GtkFileChooserNative* _tmp2_; GtkFileFilter* filter; GtkFileFilter* _tmp3_; - GtkFileChooserDialog* _tmp4_; + GtkFileChooserNative* _tmp4_; GtkFileFilter* _tmp5_; GamesGameCollection* _tmp6_; gint _tmp7_; @@ -316,9 +311,9 @@ gchar* mime_type; GtkFileFilter* _tmp10_; const gchar* _tmp11_; - GtkFileChooserDialog* _tmp12_; + GtkFileChooserNative* _tmp12_; gint _tmp13_; - GtkFileChooserDialog* _tmp14_; + GtkFileChooserNative* _tmp14_; GSList* _tmp15_; GSList* uri_string_collection; GSList* uri_string_it; @@ -327,7 +322,6 @@ const gchar* _tmp16_; GamesUri* _tmp17_; GamesUri* _tmp18_; - GtkFileChooserDialog* _tmp19_; }; struct _GamesIconIface { @@ -515,7 +509,7 @@ GamesApplicationWindow* _tmp2_; }; -struct _Block6Data { +struct _Block5Data { int _ref_count_; GamesApplication* self; GtkAboutDialog* dialog; @@ -529,6 +523,9 @@ GType games_application_window_get_type (void) G_GNUC_CONST; GType games_game_collection_get_type (void) G_GNUC_CONST; #define GAMES_APPLICATION_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_APPLICATION, GamesApplicationPrivate)) +enum { + GAMES_APPLICATION_0_PROPERTY +}; GamesApplication* games_application_new (void); GamesApplication* games_application_construct (GType object_type); static void games_application_add_actions (GamesApplication* self); @@ -572,7 +569,7 @@ static void games_application_add_cached_uri_finish (GamesApplication* self, GAsyncResult* _res_); static void games_application_add_game_files_async_ready (GObject* source_object, GAsyncResult* _res_, gpointer _user_data_); static void _g_free0_ (gpointer var); -static inline void _g_slist_free__g_free0_ (GSList* self); +static void _g_slist_free__g_free0_ (GSList* self); static void games_application_real_open (GApplication* base, GFile** files, int files_length1, const gchar* hint); static void games_application_open_async (GamesApplication* self, GFile** files, int files_length1, const gchar* hint, GAsyncReadyCallback _callback_, gpointer _user_data_); static void games_application_open_finish (GamesApplication* self, GAsyncResult* _res_); @@ -598,8 +595,8 @@ GListStore* games_game_collection_get_list_store (GamesGameCollection* self); GamesApplicationWindow* games_application_window_new (GListModel* collection); GamesApplicationWindow* games_application_window_construct (GType object_type, GListModel* collection); -static void __lambda25_ (GamesApplication* self); -static void ___lambda25__gtk_widget_destroy (GtkWidget* _sender, gpointer self); +static void __lambda21_ (GamesApplication* self); +static void ___lambda21__gtk_widget_destroy (GtkWidget* _sender, gpointer self); static gboolean games_application_show_loading_notification (GamesApplication* self); static gboolean _games_application_show_loading_notification_gsource_func (gpointer self); void games_application_window_set_loading_notification (GamesApplicationWindow* self, gboolean value); @@ -675,10 +672,10 @@ GamesPreferencesWindow* games_preferences_window_new (void); GamesPreferencesWindow* games_preferences_window_construct (GType object_type); GType games_preferences_window_get_type (void) G_GNUC_CONST; -static Block6Data* block6_data_ref (Block6Data* _data6_); -static void block6_data_unref (void * _userdata_); +static Block5Data* block5_data_ref (Block5Data* _data5_); +static void block5_data_unref (void * _userdata_); #define GAMES_CREDITS_DOCUMENTERS NULL -static void __lambda14_ (Block6Data* _data6_, gint response_id); +static void __lambda14_ (Block5Data* _data5_, gint response_id); static void ___lambda14__gtk_dialog_response (GtkDialog* _sender, gint response_id, gpointer self); gboolean games_application_window_quit_game (GamesApplicationWindow* self); static GObject * games_application_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties); @@ -1064,8 +1061,9 @@ } -static inline void _g_slist_free__g_free0_ (GSList* self) { - g_slist_free_full (self, (GDestroyNotify) _g_free0_); +static void _g_slist_free__g_free0_ (GSList* self) { + g_slist_foreach (self, (GFunc) _g_free0_, NULL); + g_slist_free (self); } @@ -1080,8 +1078,7 @@ } _state_0: _data_->_tmp0_ = _data_->self->priv->window; - _data_->_tmp1_ = (GtkFileChooserDialog*) gtk_file_chooser_dialog_new (_ ("Select game files"), (GtkWindow*) _data_->_tmp0_, GTK_FILE_CHOOSER_ACTION_OPEN, _ ("_Cancel"), GTK_RESPONSE_CANCEL, _ ("_Add"), GTK_RESPONSE_ACCEPT, NULL); - g_object_ref_sink (_data_->_tmp1_); + _data_->_tmp1_ = gtk_file_chooser_native_new (_ ("Select game files"), (GtkWindow*) _data_->_tmp0_, GTK_FILE_CHOOSER_ACTION_OPEN, _ ("_Add"), _ ("_Cancel")); _data_->chooser = _data_->_tmp1_; _data_->_tmp2_ = _data_->chooser; gtk_file_chooser_set_select_multiple ((GtkFileChooser*) _data_->_tmp2_, TRUE); @@ -1111,7 +1108,7 @@ _data_->mime_type_collection = (_vala_array_free (_data_->mime_type_collection, _data_->mime_type_collection_length1, (GDestroyNotify) g_free), NULL); } _data_->_tmp12_ = _data_->chooser; - _data_->_tmp13_ = gtk_dialog_run ((GtkDialog*) _data_->_tmp12_); + _data_->_tmp13_ = gtk_native_dialog_run ((GtkNativeDialog*) _data_->_tmp12_); if (_data_->_tmp13_ == ((gint) GTK_RESPONSE_ACCEPT)) { _data_->_tmp14_ = _data_->chooser; _data_->_tmp15_ = gtk_file_chooser_get_uris ((GtkFileChooser*) _data_->_tmp14_); @@ -1135,8 +1132,6 @@ __g_slist_free__g_free0_0 (_data_->uri_string_collection); } } - _data_->_tmp19_ = _data_->chooser; - g_signal_emit_by_name ((GtkDialog*) _data_->_tmp19_, "close"); _g_object_unref0 (_data_->filter); _g_object_unref0 (_data_->chooser); g_task_return_pointer (_data_->_async_result, _data_, NULL); @@ -1314,13 +1309,13 @@ } -static void __lambda25_ (GamesApplication* self) { +static void __lambda21_ (GamesApplication* self) { games_application_quit_application (self); } -static void ___lambda25__gtk_widget_destroy (GtkWidget* _sender, gpointer self) { - __lambda25_ ((GamesApplication*) self); +static void ___lambda21__gtk_widget_destroy (GtkWidget* _sender, gpointer self) { + __lambda21_ ((GamesApplication*) self); } @@ -1367,7 +1362,7 @@ _tmp8_ = self->priv->window; gtk_application_add_window ((GtkApplication*) self, (GtkWindow*) _tmp8_); _tmp9_ = self->priv->window; - g_signal_connect_object ((GtkWidget*) _tmp9_, "destroy", (GCallback) ___lambda25__gtk_widget_destroy, self, 0); + g_signal_connect_object ((GtkWidget*) _tmp9_, "destroy", (GCallback) ___lambda21__gtk_widget_destroy, self, 0); _tmp10_ = self->priv->window; gtk_widget_show ((GtkWidget*) _tmp10_); g_timeout_add_full (G_PRIORITY_DEFAULT, (guint) 500, _games_application_show_loading_notification_gsource_func, g_object_ref (self), g_object_unref); @@ -1436,7 +1431,7 @@ _inner_error_ = NULL; _tmp4_ = e; _tmp5_ = _tmp4_->message; - g_debug ("application.vala:215: %s", _tmp5_); + g_debug ("application.vala:212: %s", _tmp5_); _g_error_free0 (e); } __finally24: @@ -1717,7 +1712,7 @@ _inner_error_ = NULL; _tmp80_ = e; _tmp81_ = _tmp80_->message; - g_debug ("application.vala:267: Error: %s", _tmp81_); + g_debug ("application.vala:264: Error: %s", _tmp81_); _g_error_free0 (e); } __finally25: @@ -1947,7 +1942,7 @@ _data_->_inner_error_ = NULL; _data_->_tmp3_ = _data_->e; _data_->_tmp4_ = _data_->_tmp3_->message; - g_debug ("application.vala:287: %s", _data_->_tmp4_); + g_debug ("application.vala:284: %s", _data_->_tmp4_); _g_error_free0 (_data_->e); } __finally26: @@ -2070,30 +2065,30 @@ } -static Block6Data* block6_data_ref (Block6Data* _data6_) { - g_atomic_int_inc (&_data6_->_ref_count_); - return _data6_; +static Block5Data* block5_data_ref (Block5Data* _data5_) { + g_atomic_int_inc (&_data5_->_ref_count_); + return _data5_; } -static void block6_data_unref (void * _userdata_) { - Block6Data* _data6_; - _data6_ = (Block6Data*) _userdata_; - if (g_atomic_int_dec_and_test (&_data6_->_ref_count_)) { +static void block5_data_unref (void * _userdata_) { + Block5Data* _data5_; + _data5_ = (Block5Data*) _userdata_; + if (g_atomic_int_dec_and_test (&_data5_->_ref_count_)) { GamesApplication* self; - self = _data6_->self; - _g_object_unref0 (_data6_->dialog); + self = _data5_->self; + _g_object_unref0 (_data5_->dialog); _g_object_unref0 (self); - g_slice_free (Block6Data, _data6_); + g_slice_free (Block5Data, _data5_); } } -static void __lambda14_ (Block6Data* _data6_, gint response_id) { +static void __lambda14_ (Block5Data* _data5_, gint response_id) { GamesApplication* self; gboolean _tmp0_ = FALSE; gint _tmp1_; - self = _data6_->self; + self = _data5_->self; _tmp1_ = response_id; if (_tmp1_ == ((gint) GTK_RESPONSE_CANCEL)) { _tmp0_ = TRUE; @@ -2103,7 +2098,7 @@ _tmp0_ = _tmp2_ == ((gint) GTK_RESPONSE_DELETE_EVENT); } if (_tmp0_) { - gtk_widget_hide_on_delete ((GtkWidget*) _data6_->dialog); + gtk_widget_hide_on_delete ((GtkWidget*) _data5_->dialog); } } @@ -2114,35 +2109,35 @@ static void games_application_about (GamesApplication* self) { - Block6Data* _data6_; + Block5Data* _data5_; GtkAboutDialog* _tmp0_; GamesApplicationWindow* _tmp1_; g_return_if_fail (self != NULL); - _data6_ = g_slice_new0 (Block6Data); - _data6_->_ref_count_ = 1; - _data6_->self = g_object_ref (self); + _data5_ = g_slice_new0 (Block5Data); + _data5_->_ref_count_ = 1; + _data5_->self = g_object_ref (self); _tmp0_ = (GtkAboutDialog*) gtk_about_dialog_new (); g_object_ref_sink (_tmp0_); - _data6_->dialog = _tmp0_; - gtk_window_set_destroy_with_parent ((GtkWindow*) _data6_->dialog, TRUE); + _data5_->dialog = _tmp0_; + gtk_window_set_destroy_with_parent ((GtkWindow*) _data5_->dialog, TRUE); _tmp1_ = self->priv->window; - gtk_window_set_transient_for ((GtkWindow*) _data6_->dialog, (GtkWindow*) _tmp1_); - gtk_window_set_modal ((GtkWindow*) _data6_->dialog, TRUE); - gtk_about_dialog_set_program_name (_data6_->dialog, _ ("GNOME Games")); - gtk_about_dialog_set_logo_icon_name (_data6_->dialog, "org.gnome.Games"); - gtk_about_dialog_set_comments (_data6_->dialog, _ ("A video game player for GNOME")); - gtk_about_dialog_set_version (_data6_->dialog, VERSION); - gtk_about_dialog_set_website (_data6_->dialog, "https://wiki.gnome.org/Apps/Games"); - gtk_about_dialog_set_website_label (_data6_->dialog, _ ("Learn more about GNOME Games")); - gtk_about_dialog_set_license_type (_data6_->dialog, GTK_LICENSE_GPL_3_0); - gtk_about_dialog_set_authors (_data6_->dialog, GAMES_CREDITS_AUTHORS); - gtk_about_dialog_set_artists (_data6_->dialog, GAMES_CREDITS_ARTISTS); - gtk_about_dialog_set_documenters (_data6_->dialog, GAMES_CREDITS_DOCUMENTERS); - gtk_about_dialog_set_translator_credits (_data6_->dialog, _ ("translator-credits")); - g_signal_connect_data ((GtkDialog*) _data6_->dialog, "response", (GCallback) ___lambda14__gtk_dialog_response, block6_data_ref (_data6_), (GClosureNotify) block6_data_unref, 0); - gtk_window_present ((GtkWindow*) _data6_->dialog); - block6_data_unref (_data6_); - _data6_ = NULL; + gtk_window_set_transient_for ((GtkWindow*) _data5_->dialog, (GtkWindow*) _tmp1_); + gtk_window_set_modal ((GtkWindow*) _data5_->dialog, TRUE); + gtk_about_dialog_set_program_name (_data5_->dialog, _ ("GNOME Games")); + gtk_about_dialog_set_logo_icon_name (_data5_->dialog, "org.gnome.Games"); + gtk_about_dialog_set_comments (_data5_->dialog, _ ("A video game player for GNOME")); + gtk_about_dialog_set_version (_data5_->dialog, VERSION); + gtk_about_dialog_set_website (_data5_->dialog, "https://wiki.gnome.org/Apps/Games"); + gtk_about_dialog_set_website_label (_data5_->dialog, _ ("Learn more about GNOME Games")); + gtk_about_dialog_set_license_type (_data5_->dialog, GTK_LICENSE_GPL_3_0); + gtk_about_dialog_set_authors (_data5_->dialog, GAMES_CREDITS_AUTHORS); + gtk_about_dialog_set_artists (_data5_->dialog, GAMES_CREDITS_ARTISTS); + gtk_about_dialog_set_documenters (_data5_->dialog, GAMES_CREDITS_DOCUMENTERS); + gtk_about_dialog_set_translator_credits (_data5_->dialog, _ ("translator-credits")); + g_signal_connect_data ((GtkDialog*) _data5_->dialog, "response", (GCallback) ___lambda14__gtk_dialog_response, block5_data_ref (_data5_), (GClosureNotify) block5_data_unref, 0); + gtk_window_present ((GtkWindow*) _data5_->dialog); + block5_data_unref (_data5_); + _data5_ = NULL; } @@ -2208,7 +2203,7 @@ _tmp6_ = css; _tmp7_ = e; _tmp8_ = _tmp7_->message; - g_warning ("application.vala:349: Loading CSS file “%s” failed: %s", _tmp6_, _tmp8_); + g_warning ("application.vala:346: Loading CSS file “%s” failed: %s", _tmp6_, _tmp8_); _g_error_free0 (e); } __finally27: diff -Nru gnome-games-app-3.26.2/src/ui/application.vala gnome-games-app-3.28.0/src/ui/application.vala --- gnome-games-app-3.26.2/src/ui/application.vala 2017-09-21 12:48:06.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/application.vala 2018-01-30 09:48:30.000000000 +0000 @@ -132,10 +132,9 @@ } public async void add_game_files_async () { - var chooser = new Gtk.FileChooserDialog ( + var chooser = new Gtk.FileChooserNative ( _("Select game files"), window, Gtk.FileChooserAction.OPEN, - _("_Cancel"), Gtk.ResponseType.CANCEL, - _("_Add"), Gtk.ResponseType.ACCEPT); + _("_Add"), _("_Cancel")); chooser.select_multiple = true; @@ -149,8 +148,6 @@ var uri = new Uri (uri_string); yield add_cached_uri (uri); } - - chooser.close (); } protected override void open (File[] files, string hint) { diff -Nru gnome-games-app-3.26.2/src/ui/application-window.c gnome-games-app-3.28.0/src/ui/application-window.c --- gnome-games-app-3.26.2/src/ui/application-window.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/application-window.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* application-window.c generated by valac 0.38.2, the Vala compiler +/* application-window.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from application-window.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -65,15 +65,6 @@ typedef struct _GamesDisplayHeaderBar GamesDisplayHeaderBar; typedef struct _GamesDisplayHeaderBarClass GamesDisplayHeaderBarClass; -enum { - GAMES_APPLICATION_WINDOW_DUMMY_PROPERTY, - GAMES_APPLICATION_WINDOW_UI_STATE_PROPERTY, - GAMES_APPLICATION_WINDOW_IS_FULLSCREEN_PROPERTY, - GAMES_APPLICATION_WINDOW_SEARCH_MODE_PROPERTY, - GAMES_APPLICATION_WINDOW_LOADING_NOTIFICATION_PROPERTY, - GAMES_APPLICATION_WINDOW_LAST_PROPERTY -}; -static GParamSpec* games_application_window_properties[GAMES_APPLICATION_WINDOW_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define GAMES_TYPE_GAME (games_game_get_type ()) @@ -129,7 +120,7 @@ typedef struct _GamesResumeDialog GamesResumeDialog; typedef struct _GamesResumeDialogClass GamesResumeDialogClass; -typedef struct _Block7Data Block7Data; +typedef struct _Block6Data Block6Data; #define GAMES_TYPE_RESUME_FAILED_DIALOG (games_resume_failed_dialog_get_type ()) #define GAMES_RESUME_FAILED_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_RESUME_FAILED_DIALOG, GamesResumeFailedDialog)) @@ -140,7 +131,7 @@ typedef struct _GamesResumeFailedDialog GamesResumeFailedDialog; typedef struct _GamesResumeFailedDialogClass GamesResumeFailedDialogClass; -typedef struct _Block8Data Block8Data; +typedef struct _Block7Data Block7Data; #define GAMES_TYPE_QUIT_DIALOG (games_quit_dialog_get_type ()) #define GAMES_QUIT_DIALOG(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_QUIT_DIALOG, GamesQuitDialog)) @@ -151,7 +142,7 @@ typedef struct _GamesQuitDialog GamesQuitDialog; typedef struct _GamesQuitDialogClass GamesQuitDialogClass; -typedef struct _Block9Data Block9Data; +typedef struct _Block8Data Block8Data; struct _GamesApplicationWindow { GtkApplicationWindow parent_instance; @@ -224,19 +215,19 @@ const gchar* (*get_name) (GamesGame* self); }; -struct _Block7Data { +struct _Block6Data { int _ref_count_; GamesApplicationWindow* self; GamesResumeDialog* dialog; }; -struct _Block8Data { +struct _Block7Data { int _ref_count_; GamesApplicationWindow* self; GamesResumeFailedDialog* dialog; }; -struct _Block9Data { +struct _Block8Data { int _ref_count_; GamesApplicationWindow* self; GamesQuitDialog* dialog; @@ -252,6 +243,13 @@ GType games_collection_header_bar_get_type (void) G_GNUC_CONST; GType games_display_header_bar_get_type (void) G_GNUC_CONST; #define GAMES_APPLICATION_WINDOW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_APPLICATION_WINDOW, GamesApplicationWindowPrivate)) +enum { + GAMES_APPLICATION_WINDOW_0_PROPERTY, + GAMES_APPLICATION_WINDOW_UI_STATE_PROPERTY, + GAMES_APPLICATION_WINDOW_IS_FULLSCREEN_PROPERTY, + GAMES_APPLICATION_WINDOW_SEARCH_MODE_PROPERTY, + GAMES_APPLICATION_WINDOW_LOADING_NOTIFICATION_PROPERTY +}; #define GAMES_APPLICATION_WINDOW_WINDOW_SIZE_UPDATE_DELAY_MILLISECONDS ((guint) 500) #define GAMES_APPLICATION_WINDOW_FOCUS_OUT_DELAY_MILLISECONDS ((guint) 500) GamesApplicationWindow* games_application_window_new (GListModel* collection); @@ -276,15 +274,17 @@ static gboolean games_application_window_handle_collection_key_event (GamesApplicationWindow* self, GdkEventKey* event); static gboolean games_application_window_handle_display_key_event (GamesApplicationWindow* self, GdkEventKey* event); static gboolean _games_application_window_on_key_pressed_gtk_widget_key_press_event (GtkWidget* _sender, GdkEventKey* event, gpointer self); +gboolean games_application_window_on_button_pressed (GamesApplicationWindow* self, GdkEventButton* event); +GamesUiState games_application_window_get_ui_state (GamesApplicationWindow* self); +static void games_application_window_on_display_back (GamesApplicationWindow* self); +static gboolean _games_application_window_on_button_pressed_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self); gboolean games_application_window_on_window_state_event (GamesApplicationWindow* self, GdkEventWindowState* event); void games_application_window_set_is_fullscreen (GamesApplicationWindow* self, gboolean value); static void games_application_window_update_pause (GamesApplicationWindow* self, gboolean with_delay); -GamesUiState games_application_window_get_ui_state (GamesApplicationWindow* self); static void games_application_window_uninhibit (GamesApplicationWindow* self, GtkApplicationInhibitFlags flags); static gboolean _games_application_window_on_window_state_event_gtk_widget_window_state_event (GtkWidget* _sender, GdkEventWindowState* event, gpointer self); static void games_application_window_on_game_activated (GamesApplicationWindow* self, GamesGame* game); static void _games_application_window_on_game_activated_games_collection_box_game_activated (GamesCollectionBox* _sender, GamesGame* game, gpointer self); -static void games_application_window_on_display_back (GamesApplicationWindow* self); void games_application_window_set_ui_state (GamesApplicationWindow* self, GamesUiState value); static void _games_application_window_on_display_back_games_display_header_bar_back (GamesDisplayHeaderBar* _sender, gpointer self); const gchar* games_game_get_name (GamesGame* self); @@ -305,30 +305,30 @@ gboolean games_runner_check_is_valid (GamesRunner* self, gchar* * error_message, GError** error); void games_display_box_display_running_game_failed (GamesDisplayBox* self, GamesGame* game, const gchar* error_message); GType games_resume_dialog_get_type (void) G_GNUC_CONST; -static Block7Data* block7_data_ref (Block7Data* _data7_); -static void block7_data_unref (void * _userdata_); +static Block6Data* block6_data_ref (Block6Data* _data6_); +static void block6_data_unref (void * _userdata_); GamesResumeDialog* games_resume_dialog_new (void); GamesResumeDialog* games_resume_dialog_construct (GType object_type); -static void __lambda10_ (Block7Data* _data7_); +static void __lambda10_ (Block6Data* _data6_); static void ___lambda10__g_cancellable_cancelled (GCancellable* _sender, gpointer self); GamesRunner* games_display_box_get_runner (GamesDisplayBox* self); void games_runner_resume (GamesRunner* self, GError** error); void games_runner_start (GamesRunner* self, GError** error); GType games_resume_failed_dialog_get_type (void) G_GNUC_CONST; -static Block8Data* block8_data_ref (Block8Data* _data8_); -static void block8_data_unref (void * _userdata_); +static Block7Data* block7_data_ref (Block7Data* _data7_); +static void block7_data_unref (void * _userdata_); GamesResumeFailedDialog* games_resume_failed_dialog_new (void); GamesResumeFailedDialog* games_resume_failed_dialog_construct (GType object_type); -static void __lambda11_ (Block8Data* _data8_); +static void __lambda11_ (Block7Data* _data7_); static void ___lambda11__g_cancellable_cancelled (GCancellable* _sender, gpointer self); GType games_quit_dialog_get_type (void) G_GNUC_CONST; -static Block9Data* block9_data_ref (Block9Data* _data9_); -static void block9_data_unref (void * _userdata_); +static Block8Data* block8_data_ref (Block8Data* _data8_); +static void block8_data_unref (void * _userdata_); void games_runner_stop (GamesRunner* self); gboolean games_runner_get_can_quit_safely (GamesRunner* self); GamesQuitDialog* games_quit_dialog_new (void); GamesQuitDialog* games_quit_dialog_construct (GType object_type); -static void __lambda12_ (Block9Data* _data9_); +static void __lambda12_ (Block8Data* _data8_); static void ___lambda12__g_cancellable_cancelled (GCancellable* _sender, gpointer self); static gboolean games_application_window_cancel_quitting_game (GamesApplicationWindow* self); static void games_application_window_on_toplevel_focus (GamesApplicationWindow* self); @@ -592,6 +592,39 @@ } +gboolean games_application_window_on_button_pressed (GamesApplicationWindow* self, GdkEventButton* event) { + gboolean result = FALSE; + GdkEventButton* _tmp0_; + guint _tmp1_; + g_return_val_if_fail (self != NULL, FALSE); + g_return_val_if_fail (event != NULL, FALSE); + _tmp0_ = event; + _tmp1_ = _tmp0_->button; + if (_tmp1_ == ((guint) 8)) { + GamesUiState _tmp2_; + GamesUiState _tmp3_; + _tmp2_ = games_application_window_get_ui_state (self); + _tmp3_ = _tmp2_; + if (_tmp3_ != GAMES_UI_STATE_DISPLAY) { + result = FALSE; + return result; + } + games_application_window_on_display_back (self); + result = TRUE; + return result; + } + result = FALSE; + return result; +} + + +static gboolean _games_application_window_on_button_pressed_gtk_widget_button_press_event (GtkWidget* _sender, GdkEventButton* event, gpointer self) { + gboolean result; + result = games_application_window_on_button_pressed ((GamesApplicationWindow*) self, event); + return result; +} + + gboolean games_application_window_on_window_state_event (GamesApplicationWindow* self, GdkEventWindowState* event) { gboolean result = FALSE; gboolean is_maximized = FALSE; @@ -893,7 +926,7 @@ _inner_error_ = NULL; _tmp9_ = e; _tmp10_ = _tmp9_->message; - g_warning ("application-window.vala:281: %s", _tmp10_); + g_warning ("application-window.vala:295: %s", _tmp10_); games_application_window_reset_display_page (self); _tmp11_ = self->priv->display_box; _tmp12_ = game; @@ -909,30 +942,30 @@ } -static Block7Data* block7_data_ref (Block7Data* _data7_) { - g_atomic_int_inc (&_data7_->_ref_count_); - return _data7_; +static Block6Data* block6_data_ref (Block6Data* _data6_) { + g_atomic_int_inc (&_data6_->_ref_count_); + return _data6_; } -static void block7_data_unref (void * _userdata_) { - Block7Data* _data7_; - _data7_ = (Block7Data*) _userdata_; - if (g_atomic_int_dec_and_test (&_data7_->_ref_count_)) { +static void block6_data_unref (void * _userdata_) { + Block6Data* _data6_; + _data6_ = (Block6Data*) _userdata_; + if (g_atomic_int_dec_and_test (&_data6_->_ref_count_)) { GamesApplicationWindow* self; - self = _data7_->self; - _g_object_unref0 (_data7_->dialog); + self = _data6_->self; + _g_object_unref0 (_data6_->dialog); _g_object_unref0 (self); - g_slice_free (Block7Data, _data7_); + g_slice_free (Block6Data, _data6_); } } -static void __lambda10_ (Block7Data* _data7_) { +static void __lambda10_ (Block6Data* _data6_) { GamesApplicationWindow* self; GamesResumeDialog* _tmp0_; - self = _data7_->self; - _tmp0_ = _data7_->dialog; + self = _data6_->self; + _tmp0_ = _data6_->dialog; gtk_widget_destroy ((GtkWidget*) _tmp0_); } @@ -944,7 +977,7 @@ static gboolean games_application_window_prompt_resume_with_cancellable (GamesApplicationWindow* self, GCancellable* cancellable) { gboolean result = FALSE; - Block7Data* _data7_; + Block6Data* _data6_; GamesResumeDialog* _tmp0_; GamesResumeDialog* _tmp1_; GCancellable* _tmp2_; @@ -957,20 +990,20 @@ gint _tmp8_; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (cancellable != NULL, FALSE); - _data7_ = g_slice_new0 (Block7Data); - _data7_->_ref_count_ = 1; - _data7_->self = g_object_ref (self); + _data6_ = g_slice_new0 (Block6Data); + _data6_->_ref_count_ = 1; + _data6_->self = g_object_ref (self); _tmp0_ = games_resume_dialog_new (); g_object_ref_sink (_tmp0_); - _data7_->dialog = _tmp0_; - _tmp1_ = _data7_->dialog; + _data6_->dialog = _tmp0_; + _tmp1_ = _data6_->dialog; gtk_window_set_transient_for ((GtkWindow*) _tmp1_, (GtkWindow*) self); _tmp2_ = cancellable; - g_signal_connect_data (_tmp2_, "cancelled", (GCallback) ___lambda10__g_cancellable_cancelled, block7_data_ref (_data7_), (GClosureNotify) block7_data_unref, 0); - _tmp3_ = _data7_->dialog; + g_signal_connect_data (_tmp2_, "cancelled", (GCallback) ___lambda10__g_cancellable_cancelled, block6_data_ref (_data6_), (GClosureNotify) block6_data_unref, 0); + _tmp3_ = _data6_->dialog; _tmp4_ = gtk_dialog_run ((GtkDialog*) _tmp3_); response = _tmp4_; - _tmp5_ = _data7_->dialog; + _tmp5_ = _data6_->dialog; gtk_widget_destroy ((GtkWidget*) _tmp5_); _tmp6_ = cancellable; _tmp7_ = g_cancellable_is_cancelled (_tmp6_); @@ -980,13 +1013,13 @@ _tmp8_ = response; if (_tmp8_ == ((gint) GTK_RESPONSE_CANCEL)) { result = FALSE; - block7_data_unref (_data7_); - _data7_ = NULL; + block6_data_unref (_data6_); + _data6_ = NULL; return result; } result = TRUE; - block7_data_unref (_data7_); - _data7_ = NULL; + block6_data_unref (_data6_); + _data6_ = NULL; return result; } @@ -1033,7 +1066,7 @@ _inner_error_ = NULL; _tmp5_ = e; _tmp6_ = _tmp5_->message; - g_warning ("application-window.vala:319: %s", _tmp6_); + g_warning ("application-window.vala:333: %s", _tmp6_); result = FALSE; _g_error_free0 (e); return result; @@ -1045,30 +1078,30 @@ } -static Block8Data* block8_data_ref (Block8Data* _data8_) { - g_atomic_int_inc (&_data8_->_ref_count_); - return _data8_; +static Block7Data* block7_data_ref (Block7Data* _data7_) { + g_atomic_int_inc (&_data7_->_ref_count_); + return _data7_; } -static void block8_data_unref (void * _userdata_) { - Block8Data* _data8_; - _data8_ = (Block8Data*) _userdata_; - if (g_atomic_int_dec_and_test (&_data8_->_ref_count_)) { +static void block7_data_unref (void * _userdata_) { + Block7Data* _data7_; + _data7_ = (Block7Data*) _userdata_; + if (g_atomic_int_dec_and_test (&_data7_->_ref_count_)) { GamesApplicationWindow* self; - self = _data8_->self; - _g_object_unref0 (_data8_->dialog); + self = _data7_->self; + _g_object_unref0 (_data7_->dialog); _g_object_unref0 (self); - g_slice_free (Block8Data, _data8_); + g_slice_free (Block7Data, _data7_); } } -static void __lambda11_ (Block8Data* _data8_) { +static void __lambda11_ (Block7Data* _data7_) { GamesApplicationWindow* self; GamesResumeFailedDialog* _tmp0_; - self = _data8_->self; - _tmp0_ = _data8_->dialog; + self = _data7_->self; + _tmp0_ = _data7_->dialog; gtk_widget_destroy ((GtkWidget*) _tmp0_); } @@ -1079,7 +1112,7 @@ static void games_application_window_prompt_resume_fail_with_cancellable (GamesApplicationWindow* self, GamesRunner* runner, GCancellable* cancellable) { - Block8Data* _data8_; + Block7Data* _data7_; GamesResumeFailedDialog* _tmp0_; GamesResumeFailedDialog* _tmp1_; GCancellable* _tmp2_; @@ -1094,20 +1127,20 @@ g_return_if_fail (self != NULL); g_return_if_fail (runner != NULL); g_return_if_fail (cancellable != NULL); - _data8_ = g_slice_new0 (Block8Data); - _data8_->_ref_count_ = 1; - _data8_->self = g_object_ref (self); + _data7_ = g_slice_new0 (Block7Data); + _data7_->_ref_count_ = 1; + _data7_->self = g_object_ref (self); _tmp0_ = games_resume_failed_dialog_new (); g_object_ref_sink (_tmp0_); - _data8_->dialog = _tmp0_; - _tmp1_ = _data8_->dialog; + _data7_->dialog = _tmp0_; + _tmp1_ = _data7_->dialog; gtk_window_set_transient_for ((GtkWindow*) _tmp1_, (GtkWindow*) self); _tmp2_ = cancellable; - g_signal_connect_data (_tmp2_, "cancelled", (GCallback) ___lambda11__g_cancellable_cancelled, block8_data_ref (_data8_), (GClosureNotify) block8_data_unref, 0); - _tmp3_ = _data8_->dialog; + g_signal_connect_data (_tmp2_, "cancelled", (GCallback) ___lambda11__g_cancellable_cancelled, block7_data_ref (_data7_), (GClosureNotify) block7_data_unref, 0); + _tmp3_ = _data7_->dialog; _tmp4_ = gtk_dialog_run ((GtkDialog*) _tmp3_); response = _tmp4_; - _tmp5_ = _data8_->dialog; + _tmp5_ = _data7_->dialog; gtk_widget_destroy ((GtkWidget*) _tmp5_); _tmp6_ = cancellable; _tmp7_ = g_cancellable_is_cancelled (_tmp6_); @@ -1120,8 +1153,8 @@ _tmp9_ = self->priv->display_box; games_display_box_set_runner (_tmp9_, NULL); games_application_window_set_ui_state (self, GAMES_UI_STATE_COLLECTION); - block8_data_unref (_data8_); - _data8_ = NULL; + block7_data_unref (_data7_); + _data7_ = NULL; return; } { @@ -1142,46 +1175,46 @@ _inner_error_ = NULL; _tmp11_ = e; _tmp12_ = _tmp11_->message; - g_warning ("application-window.vala:350: %s", _tmp12_); + g_warning ("application-window.vala:364: %s", _tmp12_); _g_error_free0 (e); } __finally31: if (G_UNLIKELY (_inner_error_ != NULL)) { - block8_data_unref (_data8_); - _data8_ = NULL; + block7_data_unref (_data7_); + _data7_ = NULL; g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); return; } - block8_data_unref (_data8_); - _data8_ = NULL; + block7_data_unref (_data7_); + _data7_ = NULL; } -static Block9Data* block9_data_ref (Block9Data* _data9_) { - g_atomic_int_inc (&_data9_->_ref_count_); - return _data9_; +static Block8Data* block8_data_ref (Block8Data* _data8_) { + g_atomic_int_inc (&_data8_->_ref_count_); + return _data8_; } -static void block9_data_unref (void * _userdata_) { - Block9Data* _data9_; - _data9_ = (Block9Data*) _userdata_; - if (g_atomic_int_dec_and_test (&_data9_->_ref_count_)) { +static void block8_data_unref (void * _userdata_) { + Block8Data* _data8_; + _data8_ = (Block8Data*) _userdata_; + if (g_atomic_int_dec_and_test (&_data8_->_ref_count_)) { GamesApplicationWindow* self; - self = _data9_->self; - _g_object_unref0 (_data9_->dialog); + self = _data8_->self; + _g_object_unref0 (_data8_->dialog); _g_object_unref0 (self); - g_slice_free (Block9Data, _data9_); + g_slice_free (Block8Data, _data8_); } } -static void __lambda12_ (Block9Data* _data9_) { +static void __lambda12_ (Block8Data* _data8_) { GamesApplicationWindow* self; GamesQuitDialog* _tmp0_; - self = _data9_->self; - _tmp0_ = _data9_->dialog; + self = _data8_->self; + _tmp0_ = _data8_->dialog; gtk_widget_destroy ((GtkWidget*) _tmp0_); } @@ -1193,7 +1226,7 @@ gboolean games_application_window_quit_game_with_cancellable (GamesApplicationWindow* self, GCancellable* cancellable) { gboolean result = FALSE; - Block9Data* _data9_; + Block8Data* _data8_; GamesDisplayBox* _tmp0_; GamesRunner* _tmp1_; GamesRunner* _tmp2_; @@ -1218,16 +1251,16 @@ gboolean _tmp21_; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (cancellable != NULL, FALSE); - _data9_ = g_slice_new0 (Block9Data); - _data9_->_ref_count_ = 1; - _data9_->self = g_object_ref (self); + _data8_ = g_slice_new0 (Block8Data); + _data8_->_ref_count_ = 1; + _data8_->self = g_object_ref (self); _tmp0_ = self->priv->display_box; _tmp1_ = games_display_box_get_runner (_tmp0_); _tmp2_ = _tmp1_; if (_tmp2_ == NULL) { result = TRUE; - block9_data_unref (_data9_); - _data9_ = NULL; + block8_data_unref (_data8_); + _data8_ = NULL; return result; } _tmp3_ = self->priv->display_box; @@ -1241,21 +1274,21 @@ _tmp10_ = _tmp9_; if (_tmp10_) { result = TRUE; - block9_data_unref (_data9_); - _data9_ = NULL; + block8_data_unref (_data8_); + _data8_ = NULL; return result; } _tmp11_ = games_quit_dialog_new (); g_object_ref_sink (_tmp11_); - _data9_->dialog = _tmp11_; - _tmp12_ = _data9_->dialog; + _data8_->dialog = _tmp11_; + _tmp12_ = _data8_->dialog; gtk_window_set_transient_for ((GtkWindow*) _tmp12_, (GtkWindow*) self); _tmp13_ = cancellable; - g_signal_connect_data (_tmp13_, "cancelled", (GCallback) ___lambda12__g_cancellable_cancelled, block9_data_ref (_data9_), (GClosureNotify) block9_data_unref, 0); - _tmp14_ = _data9_->dialog; + g_signal_connect_data (_tmp13_, "cancelled", (GCallback) ___lambda12__g_cancellable_cancelled, block8_data_ref (_data8_), (GClosureNotify) block8_data_unref, 0); + _tmp14_ = _data8_->dialog; _tmp15_ = gtk_dialog_run ((GtkDialog*) _tmp14_); response = _tmp15_; - _tmp16_ = _data9_->dialog; + _tmp16_ = _data8_->dialog; gtk_widget_destroy ((GtkWidget*) _tmp16_); _tmp17_ = cancellable; _tmp18_ = g_cancellable_is_cancelled (_tmp17_); @@ -1263,21 +1296,21 @@ gboolean _tmp19_; _tmp19_ = games_application_window_cancel_quitting_game (self); result = _tmp19_; - block9_data_unref (_data9_); - _data9_ = NULL; + block8_data_unref (_data8_); + _data8_ = NULL; return result; } _tmp20_ = response; if (_tmp20_ == ((gint) GTK_RESPONSE_ACCEPT)) { result = TRUE; - block9_data_unref (_data9_); - _data9_ = NULL; + block8_data_unref (_data8_); + _data8_ = NULL; return result; } _tmp21_ = games_application_window_cancel_quitting_game (self); result = _tmp21_; - block9_data_unref (_data9_); - _data9_ = NULL; + block8_data_unref (_data8_); + _data8_ = NULL; return result; } @@ -1315,7 +1348,7 @@ _inner_error_ = NULL; _tmp6_ = e; _tmp7_ = _tmp6_->message; - g_warning ("application-window.vala:388: %s", _tmp7_); + g_warning ("application-window.vala:402: %s", _tmp7_); _g_error_free0 (e); } __finally32: @@ -1452,7 +1485,7 @@ _inner_error_ = NULL; _tmp8_ = e; _tmp9_ = _tmp8_->message; - g_warning ("application-window.vala:434: %s", _tmp9_); + g_warning ("application-window.vala:448: %s", _tmp9_); _g_error_free0 (e); } __finally33: @@ -1628,6 +1661,10 @@ gboolean _tmp32_ = FALSE; GdkEventKey* _tmp33_; guint _tmp34_; + gboolean _tmp39_ = FALSE; + GdkEventKey* _tmp40_; + GdkModifierType _tmp41_; + GdkModifierType _tmp42_; g_return_val_if_fail (self != NULL, FALSE); g_return_val_if_fail (event != NULL, FALSE); _tmp0_ = games_application_window_get_ui_state (self); @@ -1737,6 +1774,49 @@ result = TRUE; return result; } + _tmp40_ = event; + _tmp41_ = _tmp40_->state; + _tmp42_ = default_modifiers; + if ((_tmp41_ & _tmp42_) == GDK_MOD1_MASK) { + gboolean _tmp43_ = FALSE; + gboolean _tmp44_ = FALSE; + GtkTextDirection _tmp45_; + _tmp45_ = gtk_widget_get_direction ((GtkWidget*) self); + if (_tmp45_ == GTK_TEXT_DIR_LTR) { + GdkEventKey* _tmp46_; + guint _tmp47_; + _tmp46_ = event; + _tmp47_ = _tmp46_->keyval; + _tmp44_ = _tmp47_ == ((guint) GDK_KEY_Left); + } else { + _tmp44_ = FALSE; + } + if (_tmp44_) { + _tmp43_ = TRUE; + } else { + gboolean _tmp48_ = FALSE; + GtkTextDirection _tmp49_; + _tmp49_ = gtk_widget_get_direction ((GtkWidget*) self); + if (_tmp49_ == GTK_TEXT_DIR_RTL) { + GdkEventKey* _tmp50_; + guint _tmp51_; + _tmp50_ = event; + _tmp51_ = _tmp50_->keyval; + _tmp48_ = _tmp51_ == ((guint) GDK_KEY_Right); + } else { + _tmp48_ = FALSE; + } + _tmp43_ = _tmp48_; + } + _tmp39_ = _tmp43_; + } else { + _tmp39_ = FALSE; + } + if (_tmp39_) { + games_application_window_on_display_back (self); + result = TRUE; + return result; + } result = FALSE; return result; } @@ -1947,7 +2027,7 @@ default: break; } - g_object_notify_by_pspec ((GObject *) self, games_application_window_properties[GAMES_APPLICATION_WINDOW_UI_STATE_PROPERTY]); + g_object_notify ((GObject *) self, "ui-state"); } @@ -1983,7 +2063,7 @@ } else { gtk_window_unfullscreen ((GtkWindow*) self); } - g_object_notify_by_pspec ((GObject *) self, games_application_window_properties[GAMES_APPLICATION_WINDOW_IS_FULLSCREEN_PROPERTY]); + g_object_notify ((GObject *) self, "is-fullscreen"); } @@ -2012,7 +2092,7 @@ _tmp0_ = FALSE; } self->priv->_search_mode = _tmp0_; - g_object_notify_by_pspec ((GObject *) self, games_application_window_properties[GAMES_APPLICATION_WINDOW_SEARCH_MODE_PROPERTY]); + g_object_notify ((GObject *) self, "search-mode"); } @@ -2032,7 +2112,7 @@ gboolean _tmp0_; _tmp0_ = value; self->priv->_loading_notification = _tmp0_; - g_object_notify_by_pspec ((GObject *) self, games_application_window_properties[GAMES_APPLICATION_WINDOW_LOADING_NOTIFICATION_PROPERTY]); + g_object_notify ((GObject *) self, "loading-notification"); } } @@ -2152,10 +2232,10 @@ G_OBJECT_CLASS (klass)->set_property = _vala_games_application_window_set_property; G_OBJECT_CLASS (klass)->constructor = games_application_window_constructor; G_OBJECT_CLASS (klass)->finalize = games_application_window_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_APPLICATION_WINDOW_UI_STATE_PROPERTY, games_application_window_properties[GAMES_APPLICATION_WINDOW_UI_STATE_PROPERTY] = g_param_spec_enum ("ui-state", "ui-state", "ui-state", GAMES_TYPE_UI_STATE, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_APPLICATION_WINDOW_IS_FULLSCREEN_PROPERTY, games_application_window_properties[GAMES_APPLICATION_WINDOW_IS_FULLSCREEN_PROPERTY] = g_param_spec_boolean ("is-fullscreen", "is-fullscreen", "is-fullscreen", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_APPLICATION_WINDOW_SEARCH_MODE_PROPERTY, games_application_window_properties[GAMES_APPLICATION_WINDOW_SEARCH_MODE_PROPERTY] = g_param_spec_boolean ("search-mode", "search-mode", "search-mode", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_APPLICATION_WINDOW_LOADING_NOTIFICATION_PROPERTY, games_application_window_properties[GAMES_APPLICATION_WINDOW_LOADING_NOTIFICATION_PROPERTY] = g_param_spec_boolean ("loading-notification", "loading-notification", "loading-notification", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_APPLICATION_WINDOW_UI_STATE_PROPERTY, g_param_spec_enum ("ui-state", "ui-state", "ui-state", GAMES_TYPE_UI_STATE, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_APPLICATION_WINDOW_IS_FULLSCREEN_PROPERTY, g_param_spec_boolean ("is-fullscreen", "is-fullscreen", "is-fullscreen", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_APPLICATION_WINDOW_SEARCH_MODE_PROPERTY, g_param_spec_boolean ("search-mode", "search-mode", "search-mode", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_APPLICATION_WINDOW_LOADING_NOTIFICATION_PROPERTY, g_param_spec_boolean ("loading-notification", "loading-notification", "loading-notification", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); GamesApplicationWindow_private_offset = g_type_class_get_instance_private_offset (klass); gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/Games/ui/application-window.ui"); gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "content_box", FALSE, GamesApplicationWindow_private_offset + G_STRUCT_OFFSET (GamesApplicationWindowPrivate, content_box)); @@ -2166,6 +2246,7 @@ gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "display_header_bar", FALSE, GamesApplicationWindow_private_offset + G_STRUCT_OFFSET (GamesApplicationWindowPrivate, display_header_bar)); gtk_widget_class_bind_template_callback_full (GTK_WIDGET_CLASS (klass), "on_delete_event", G_CALLBACK(_games_application_window_on_delete_event_gtk_widget_delete_event)); gtk_widget_class_bind_template_callback_full (GTK_WIDGET_CLASS (klass), "on_key_pressed", G_CALLBACK(_games_application_window_on_key_pressed_gtk_widget_key_press_event)); + gtk_widget_class_bind_template_callback_full (GTK_WIDGET_CLASS (klass), "on_button_pressed", G_CALLBACK(_games_application_window_on_button_pressed_gtk_widget_button_press_event)); gtk_widget_class_bind_template_callback_full (GTK_WIDGET_CLASS (klass), "on_window_state_event", G_CALLBACK(_games_application_window_on_window_state_event_gtk_widget_window_state_event)); gtk_widget_class_bind_template_callback_full (GTK_WIDGET_CLASS (klass), "on_game_activated", G_CALLBACK(_games_application_window_on_game_activated_games_collection_box_game_activated)); gtk_widget_class_bind_template_callback_full (GTK_WIDGET_CLASS (klass), "on_display_back", G_CALLBACK(_games_application_window_on_display_back_games_display_header_bar_back)); diff -Nru gnome-games-app-3.26.2/src/ui/application-window.vala gnome-games-app-3.28.0/src/ui/application-window.vala --- gnome-games-app-3.26.2/src/ui/application-window.vala 2017-09-11 04:59:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/application-window.vala 2018-02-10 08:12:24.000000000 +0000 @@ -201,6 +201,20 @@ } [GtkCallback] + public bool on_button_pressed (Gdk.EventButton event) { + // Mouse button 8 is the navigation previous button + if (event.button == 8) { + if (ui_state != UiState.DISPLAY) + return false; + + on_display_back (); + return true; + } + + return false; + } + + [GtkCallback] public bool on_window_state_event (Gdk.EventWindowState event) { var is_maximized = (bool) (event.new_window_state & Gdk.WindowState.MAXIMIZED); settings.set_boolean ("window-maximized", is_maximized); @@ -512,6 +526,14 @@ return true; } + + if (((event.state & default_modifiers) == Gdk.ModifierType.MOD1_MASK) && + (((get_direction () == Gtk.TextDirection.LTR) && event.keyval == Gdk.Key.Left) || + ((get_direction () == Gtk.TextDirection.RTL) && event.keyval == Gdk.Key.Right))) { + on_display_back (); + + return true; + } return false; } diff -Nru gnome-games-app-3.26.2/src/ui/checkmark-item.c gnome-games-app-3.28.0/src/ui/checkmark-item.c --- gnome-games-app-3.26.2/src/ui/checkmark-item.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/checkmark-item.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* checkmark-item.c generated by valac 0.38.2, the Vala compiler +/* checkmark-item.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from checkmark-item.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -20,12 +20,6 @@ typedef struct _GamesCheckmarkItem GamesCheckmarkItem; typedef struct _GamesCheckmarkItemClass GamesCheckmarkItemClass; typedef struct _GamesCheckmarkItemPrivate GamesCheckmarkItemPrivate; -enum { - GAMES_CHECKMARK_ITEM_DUMMY_PROPERTY, - GAMES_CHECKMARK_ITEM_CHECKMARK_VISIBLE_PROPERTY, - GAMES_CHECKMARK_ITEM_LAST_PROPERTY -}; -static GParamSpec* games_checkmark_item_properties[GAMES_CHECKMARK_ITEM_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) struct _GamesCheckmarkItem { @@ -49,6 +43,10 @@ GType games_checkmark_item_get_type (void) G_GNUC_CONST; #define GAMES_CHECKMARK_ITEM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_CHECKMARK_ITEM, GamesCheckmarkItemPrivate)) +enum { + GAMES_CHECKMARK_ITEM_0_PROPERTY, + GAMES_CHECKMARK_ITEM_CHECKMARK_VISIBLE_PROPERTY +}; GamesCheckmarkItem* games_checkmark_item_new (const gchar* name); GamesCheckmarkItem* games_checkmark_item_construct (GType object_type, const gchar* name); gboolean games_checkmark_item_get_checkmark_visible (GamesCheckmarkItem* self); @@ -93,7 +91,7 @@ gboolean _tmp0_; _tmp0_ = value; self->priv->_checkmark_visible = _tmp0_; - g_object_notify_by_pspec ((GObject *) self, games_checkmark_item_properties[GAMES_CHECKMARK_ITEM_CHECKMARK_VISIBLE_PROPERTY]); + g_object_notify ((GObject *) self, "checkmark-visible"); } } @@ -130,7 +128,7 @@ G_OBJECT_CLASS (klass)->set_property = _vala_games_checkmark_item_set_property; G_OBJECT_CLASS (klass)->constructor = games_checkmark_item_constructor; G_OBJECT_CLASS (klass)->finalize = games_checkmark_item_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_CHECKMARK_ITEM_CHECKMARK_VISIBLE_PROPERTY, games_checkmark_item_properties[GAMES_CHECKMARK_ITEM_CHECKMARK_VISIBLE_PROPERTY] = g_param_spec_boolean ("checkmark-visible", "checkmark-visible", "checkmark-visible", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_CHECKMARK_ITEM_CHECKMARK_VISIBLE_PROPERTY, g_param_spec_boolean ("checkmark-visible", "checkmark-visible", "checkmark-visible", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); GamesCheckmarkItem_private_offset = g_type_class_get_instance_private_offset (klass); gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/Games/ui/checkmark-item.ui"); gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "title_label", FALSE, GamesCheckmarkItem_private_offset + G_STRUCT_OFFSET (GamesCheckmarkItemPrivate, title_label)); diff -Nru gnome-games-app-3.26.2/src/ui/collection-box.c gnome-games-app-3.28.0/src/ui/collection-box.c --- gnome-games-app-3.26.2/src/ui/collection-box.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/collection-box.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* collection-box.c generated by valac 0.38.2, the Vala compiler +/* collection-box.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from collection-box.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -42,14 +42,6 @@ typedef struct _GamesCollectionIconView GamesCollectionIconView; typedef struct _GamesCollectionIconViewClass GamesCollectionIconViewClass; -enum { - GAMES_COLLECTION_BOX_DUMMY_PROPERTY, - GAMES_COLLECTION_BOX_COLLECTION_PROPERTY, - GAMES_COLLECTION_BOX_SEARCH_MODE_PROPERTY, - GAMES_COLLECTION_BOX_LOADING_NOTIFICATION_PROPERTY, - GAMES_COLLECTION_BOX_LAST_PROPERTY -}; -static GParamSpec* games_collection_box_properties[GAMES_COLLECTION_BOX_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define GAMES_TYPE_GAME (games_game_get_type ()) @@ -95,9 +87,9 @@ typedef struct _GamesMediaSetClass GamesMediaSetClass; enum { GAMES_COLLECTION_BOX_GAME_ACTIVATED_SIGNAL, - GAMES_COLLECTION_BOX_LAST_SIGNAL + GAMES_COLLECTION_BOX_NUM_SIGNALS }; -static guint games_collection_box_signals[GAMES_COLLECTION_BOX_LAST_SIGNAL] = {0}; +static guint games_collection_box_signals[GAMES_COLLECTION_BOX_NUM_SIGNALS] = {0}; struct _GamesCollectionBox { GtkBox parent_instance; @@ -159,6 +151,12 @@ GType games_search_bar_get_type (void) G_GNUC_CONST; GType games_collection_icon_view_get_type (void) G_GNUC_CONST; #define GAMES_COLLECTION_BOX_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_COLLECTION_BOX, GamesCollectionBoxPrivate)) +enum { + GAMES_COLLECTION_BOX_0_PROPERTY, + GAMES_COLLECTION_BOX_COLLECTION_PROPERTY, + GAMES_COLLECTION_BOX_SEARCH_MODE_PROPERTY, + GAMES_COLLECTION_BOX_LOADING_NOTIFICATION_PROPERTY +}; GamesCollectionBox* games_collection_box_new (GListStore* collection); GamesCollectionBox* games_collection_box_construct (GType object_type, GListStore* collection); static void games_collection_box_on_loading_notification_closed (GamesCollectionBox* self); @@ -287,7 +285,7 @@ _tmp1_ = _g_object_ref0 (_tmp0_); _g_object_unref0 (self->priv->_collection); self->priv->_collection = _tmp1_; - g_object_notify_by_pspec ((GObject *) self, games_collection_box_properties[GAMES_COLLECTION_BOX_COLLECTION_PROPERTY]); + g_object_notify ((GObject *) self, "collection"); } } @@ -308,7 +306,7 @@ gboolean _tmp0_; _tmp0_ = value; self->priv->_search_mode = _tmp0_; - g_object_notify_by_pspec ((GObject *) self, games_collection_box_properties[GAMES_COLLECTION_BOX_SEARCH_MODE_PROPERTY]); + g_object_notify ((GObject *) self, "search-mode"); } } @@ -329,7 +327,7 @@ gboolean _tmp0_; _tmp0_ = value; self->priv->_loading_notification = _tmp0_; - g_object_notify_by_pspec ((GObject *) self, games_collection_box_properties[GAMES_COLLECTION_BOX_LOADING_NOTIFICATION_PROPERTY]); + g_object_notify ((GObject *) self, "loading-notification"); } } @@ -377,9 +375,9 @@ G_OBJECT_CLASS (klass)->set_property = _vala_games_collection_box_set_property; G_OBJECT_CLASS (klass)->constructor = games_collection_box_constructor; G_OBJECT_CLASS (klass)->finalize = games_collection_box_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_COLLECTION_BOX_COLLECTION_PROPERTY, games_collection_box_properties[GAMES_COLLECTION_BOX_COLLECTION_PROPERTY] = g_param_spec_object ("collection", "collection", "collection", g_list_model_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_COLLECTION_BOX_SEARCH_MODE_PROPERTY, games_collection_box_properties[GAMES_COLLECTION_BOX_SEARCH_MODE_PROPERTY] = g_param_spec_boolean ("search-mode", "search-mode", "search-mode", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_COLLECTION_BOX_LOADING_NOTIFICATION_PROPERTY, games_collection_box_properties[GAMES_COLLECTION_BOX_LOADING_NOTIFICATION_PROPERTY] = g_param_spec_boolean ("loading-notification", "loading-notification", "loading-notification", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_COLLECTION_BOX_COLLECTION_PROPERTY, g_param_spec_object ("collection", "collection", "collection", g_list_model_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_COLLECTION_BOX_SEARCH_MODE_PROPERTY, g_param_spec_boolean ("search-mode", "search-mode", "search-mode", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_COLLECTION_BOX_LOADING_NOTIFICATION_PROPERTY, g_param_spec_boolean ("loading-notification", "loading-notification", "loading-notification", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); GamesCollectionBox_private_offset = g_type_class_get_instance_private_offset (klass); gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/Games/ui/collection-box.ui"); games_collection_box_signals[GAMES_COLLECTION_BOX_GAME_ACTIVATED_SIGNAL] = g_signal_new ("game-activated", GAMES_TYPE_COLLECTION_BOX, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GAMES_TYPE_GAME); diff -Nru gnome-games-app-3.26.2/src/ui/collection-header-bar.c gnome-games-app-3.28.0/src/ui/collection-header-bar.c --- gnome-games-app-3.26.2/src/ui/collection-header-bar.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/collection-header-bar.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* collection-header-bar.c generated by valac 0.38.2, the Vala compiler +/* collection-header-bar.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from collection-header-bar.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -18,12 +18,6 @@ typedef struct _GamesCollectionHeaderBar GamesCollectionHeaderBar; typedef struct _GamesCollectionHeaderBarClass GamesCollectionHeaderBarClass; typedef struct _GamesCollectionHeaderBarPrivate GamesCollectionHeaderBarPrivate; -enum { - GAMES_COLLECTION_HEADER_BAR_DUMMY_PROPERTY, - GAMES_COLLECTION_HEADER_BAR_SEARCH_MODE_PROPERTY, - GAMES_COLLECTION_HEADER_BAR_LAST_PROPERTY -}; -static GParamSpec* games_collection_header_bar_properties[GAMES_COLLECTION_HEADER_BAR_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) struct _GamesCollectionHeaderBar { @@ -46,6 +40,10 @@ GType games_collection_header_bar_get_type (void) G_GNUC_CONST; #define GAMES_COLLECTION_HEADER_BAR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_COLLECTION_HEADER_BAR, GamesCollectionHeaderBarPrivate)) +enum { + GAMES_COLLECTION_HEADER_BAR_0_PROPERTY, + GAMES_COLLECTION_HEADER_BAR_SEARCH_MODE_PROPERTY +}; GamesCollectionHeaderBar* games_collection_header_bar_new (void); GamesCollectionHeaderBar* games_collection_header_bar_construct (GType object_type); gboolean games_collection_header_bar_get_search_mode (GamesCollectionHeaderBar* self); @@ -84,7 +82,7 @@ gboolean _tmp0_; _tmp0_ = value; self->priv->_search_mode = _tmp0_; - g_object_notify_by_pspec ((GObject *) self, games_collection_header_bar_properties[GAMES_COLLECTION_HEADER_BAR_SEARCH_MODE_PROPERTY]); + g_object_notify ((GObject *) self, "search-mode"); } } @@ -121,7 +119,7 @@ G_OBJECT_CLASS (klass)->set_property = _vala_games_collection_header_bar_set_property; G_OBJECT_CLASS (klass)->constructor = games_collection_header_bar_constructor; G_OBJECT_CLASS (klass)->finalize = games_collection_header_bar_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_COLLECTION_HEADER_BAR_SEARCH_MODE_PROPERTY, games_collection_header_bar_properties[GAMES_COLLECTION_HEADER_BAR_SEARCH_MODE_PROPERTY] = g_param_spec_boolean ("search-mode", "search-mode", "search-mode", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_COLLECTION_HEADER_BAR_SEARCH_MODE_PROPERTY, g_param_spec_boolean ("search-mode", "search-mode", "search-mode", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); GamesCollectionHeaderBar_private_offset = g_type_class_get_instance_private_offset (klass); gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/Games/ui/collection-header-bar.ui"); gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "search", FALSE, GamesCollectionHeaderBar_private_offset + G_STRUCT_OFFSET (GamesCollectionHeaderBarPrivate, search)); diff -Nru gnome-games-app-3.26.2/src/ui/collection-icon-view.c gnome-games-app-3.28.0/src/ui/collection-icon-view.c --- gnome-games-app-3.26.2/src/ui/collection-icon-view.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/collection-icon-view.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* collection-icon-view.c generated by valac 0.38.2, the Vala compiler +/* collection-icon-view.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from collection-icon-view.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -31,13 +31,6 @@ typedef struct _GamesEmptyCollection GamesEmptyCollection; typedef struct _GamesEmptyCollectionClass GamesEmptyCollectionClass; -enum { - GAMES_COLLECTION_ICON_VIEW_DUMMY_PROPERTY, - GAMES_COLLECTION_ICON_VIEW_FILTERING_TEXT_PROPERTY, - GAMES_COLLECTION_ICON_VIEW_MODEL_PROPERTY, - GAMES_COLLECTION_ICON_VIEW_LAST_PROPERTY -}; -static GParamSpec* games_collection_icon_view_properties[GAMES_COLLECTION_ICON_VIEW_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define GAMES_TYPE_GAME_ICON_VIEW (games_game_icon_view_get_type ()) @@ -94,9 +87,9 @@ #define _g_free0(var) (var = (g_free (var), NULL)) enum { GAMES_COLLECTION_ICON_VIEW_GAME_ACTIVATED_SIGNAL, - GAMES_COLLECTION_ICON_VIEW_LAST_SIGNAL + GAMES_COLLECTION_ICON_VIEW_NUM_SIGNALS }; -static guint games_collection_icon_view_signals[GAMES_COLLECTION_ICON_VIEW_LAST_SIGNAL] = {0}; +static guint games_collection_icon_view_signals[GAMES_COLLECTION_ICON_VIEW_NUM_SIGNALS] = {0}; #define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg); #define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; } #define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; } @@ -160,6 +153,11 @@ GType games_collection_icon_view_get_type (void) G_GNUC_CONST; GType games_empty_collection_get_type (void) G_GNUC_CONST; #define GAMES_COLLECTION_ICON_VIEW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_COLLECTION_ICON_VIEW, GamesCollectionIconViewPrivate)) +enum { + GAMES_COLLECTION_ICON_VIEW_0_PROPERTY, + GAMES_COLLECTION_ICON_VIEW_FILTERING_TEXT_PROPERTY, + GAMES_COLLECTION_ICON_VIEW_MODEL_PROPERTY +}; static void games_collection_icon_view_on_child_activated (GamesCollectionIconView* self, GtkFlowBoxChild* child); GType games_game_icon_view_get_type (void) G_GNUC_CONST; static void games_collection_icon_view_on_game_view_activated (GamesCollectionIconView* self, GamesGameIconView* game_view); @@ -576,7 +574,7 @@ self->priv->_filtering_terms_size_ = self->priv->filtering_terms_length1; _tmp3_ = self->priv->flow_box; gtk_flow_box_invalidate_filter (_tmp3_); - g_object_notify_by_pspec ((GObject *) self, games_collection_icon_view_properties[GAMES_COLLECTION_ICON_VIEW_FILTERING_TEXT_PROPERTY]); + g_object_notify ((GObject *) self, "filtering-text"); } @@ -680,7 +678,7 @@ self->priv->model_changed_id = _tmp23_; _tmp24_ = self->priv->flow_box; gtk_flow_box_invalidate_sort (_tmp24_); - g_object_notify_by_pspec ((GObject *) self, games_collection_icon_view_properties[GAMES_COLLECTION_ICON_VIEW_MODEL_PROPERTY]); + g_object_notify ((GObject *) self, "model"); } @@ -726,8 +724,8 @@ G_OBJECT_CLASS (klass)->set_property = _vala_games_collection_icon_view_set_property; G_OBJECT_CLASS (klass)->constructor = games_collection_icon_view_constructor; G_OBJECT_CLASS (klass)->finalize = games_collection_icon_view_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_COLLECTION_ICON_VIEW_FILTERING_TEXT_PROPERTY, games_collection_icon_view_properties[GAMES_COLLECTION_ICON_VIEW_FILTERING_TEXT_PROPERTY] = g_param_spec_string ("filtering-text", "filtering-text", "filtering-text", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_COLLECTION_ICON_VIEW_MODEL_PROPERTY, games_collection_icon_view_properties[GAMES_COLLECTION_ICON_VIEW_MODEL_PROPERTY] = g_param_spec_object ("model", "model", "model", g_list_model_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_COLLECTION_ICON_VIEW_FILTERING_TEXT_PROPERTY, g_param_spec_string ("filtering-text", "filtering-text", "filtering-text", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_COLLECTION_ICON_VIEW_MODEL_PROPERTY, g_param_spec_object ("model", "model", "model", g_list_model_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); GamesCollectionIconView_private_offset = g_type_class_get_instance_private_offset (klass); gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/Games/ui/collection-icon-view.ui"); games_collection_icon_view_signals[GAMES_COLLECTION_ICON_VIEW_GAME_ACTIVATED_SIGNAL] = g_signal_new ("game-activated", GAMES_TYPE_COLLECTION_ICON_VIEW, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__OBJECT, G_TYPE_NONE, 1, GAMES_TYPE_GAME); diff -Nru gnome-games-app-3.26.2/src/ui/display-box.c gnome-games-app-3.28.0/src/ui/display-box.c --- gnome-games-app-3.26.2/src/ui/display-box.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/display-box.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* display-box.c generated by valac 0.38.2, the Vala compiler +/* display-box.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from display-box.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -60,14 +60,6 @@ typedef struct _GamesDisplayHeaderBar GamesDisplayHeaderBar; typedef struct _GamesDisplayHeaderBarClass GamesDisplayHeaderBarClass; -enum { - GAMES_DISPLAY_BOX_DUMMY_PROPERTY, - GAMES_DISPLAY_BOX_IS_FULLSCREEN_PROPERTY, - GAMES_DISPLAY_BOX_HEADER_BAR_PROPERTY, - GAMES_DISPLAY_BOX_RUNNER_PROPERTY, - GAMES_DISPLAY_BOX_LAST_PROPERTY -}; -static GParamSpec* games_display_box_properties[GAMES_DISPLAY_BOX_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define GAMES_TYPE_GAME (games_game_get_type ()) @@ -95,9 +87,9 @@ typedef struct _GamesCoverIface GamesCoverIface; enum { GAMES_DISPLAY_BOX_BACK_SIGNAL, - GAMES_DISPLAY_BOX_LAST_SIGNAL + GAMES_DISPLAY_BOX_NUM_SIGNALS }; -static guint games_display_box_signals[GAMES_DISPLAY_BOX_LAST_SIGNAL] = {0}; +static guint games_display_box_signals[GAMES_DISPLAY_BOX_NUM_SIGNALS] = {0}; struct _GamesDisplayBox { GtkEventBox parent_instance; @@ -163,6 +155,12 @@ GType games_error_display_get_type (void) G_GNUC_CONST; GType games_display_header_bar_get_type (void) G_GNUC_CONST; #define GAMES_DISPLAY_BOX_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_DISPLAY_BOX, GamesDisplayBoxPrivate)) +enum { + GAMES_DISPLAY_BOX_0_PROPERTY, + GAMES_DISPLAY_BOX_IS_FULLSCREEN_PROPERTY, + GAMES_DISPLAY_BOX_HEADER_BAR_PROPERTY, + GAMES_DISPLAY_BOX_RUNNER_PROPERTY +}; #define GAMES_DISPLAY_BOX_INACTIVITY_TIME_MILLISECONDS ((guint) 2000) GType games_icon_get_type (void) G_GNUC_CONST; GType games_cover_get_type (void) G_GNUC_CONST; @@ -485,7 +483,7 @@ gboolean _tmp0_; _tmp0_ = value; self->priv->_is_fullscreen = _tmp0_; - g_object_notify_by_pspec ((GObject *) self, games_display_box_properties[GAMES_DISPLAY_BOX_IS_FULLSCREEN_PROPERTY]); + g_object_notify ((GObject *) self, "is-fullscreen"); } } @@ -543,7 +541,7 @@ _tmp9_ = display; games_display_box_set_display (self, _tmp9_); _g_object_unref0 (display); - g_object_notify_by_pspec ((GObject *) self, games_display_box_properties[GAMES_DISPLAY_BOX_RUNNER_PROPERTY]); + g_object_notify ((GObject *) self, "runner"); } @@ -583,9 +581,9 @@ G_OBJECT_CLASS (klass)->set_property = _vala_games_display_box_set_property; G_OBJECT_CLASS (klass)->constructor = games_display_box_constructor; G_OBJECT_CLASS (klass)->finalize = games_display_box_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DISPLAY_BOX_IS_FULLSCREEN_PROPERTY, games_display_box_properties[GAMES_DISPLAY_BOX_IS_FULLSCREEN_PROPERTY] = g_param_spec_boolean ("is-fullscreen", "is-fullscreen", "is-fullscreen", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DISPLAY_BOX_HEADER_BAR_PROPERTY, games_display_box_properties[GAMES_DISPLAY_BOX_HEADER_BAR_PROPERTY] = g_param_spec_object ("header-bar", "header-bar", "header-bar", GAMES_TYPE_DISPLAY_HEADER_BAR, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DISPLAY_BOX_RUNNER_PROPERTY, games_display_box_properties[GAMES_DISPLAY_BOX_RUNNER_PROPERTY] = g_param_spec_object ("runner", "runner", "runner", GAMES_TYPE_RUNNER, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DISPLAY_BOX_IS_FULLSCREEN_PROPERTY, g_param_spec_boolean ("is-fullscreen", "is-fullscreen", "is-fullscreen", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DISPLAY_BOX_HEADER_BAR_PROPERTY, g_param_spec_object ("header-bar", "header-bar", "header-bar", GAMES_TYPE_DISPLAY_HEADER_BAR, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DISPLAY_BOX_RUNNER_PROPERTY, g_param_spec_object ("runner", "runner", "runner", GAMES_TYPE_RUNNER, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); GamesDisplayBox_private_offset = g_type_class_get_instance_private_offset (klass); gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/Games/ui/display-box.ui"); games_display_box_signals[GAMES_DISPLAY_BOX_BACK_SIGNAL] = g_signal_new ("back", GAMES_TYPE_DISPLAY_BOX, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); diff -Nru gnome-games-app-3.26.2/src/ui/display-header-bar.c gnome-games-app-3.28.0/src/ui/display-header-bar.c --- gnome-games-app-3.26.2/src/ui/display-header-bar.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/display-header-bar.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* display-header-bar.c generated by valac 0.38.2, the Vala compiler +/* display-header-bar.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from display-header-bar.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -41,15 +41,6 @@ typedef struct _GamesMediaSelector GamesMediaSelector; typedef struct _GamesMediaSelectorClass GamesMediaSelectorClass; -enum { - GAMES_DISPLAY_HEADER_BAR_DUMMY_PROPERTY, - GAMES_DISPLAY_HEADER_BAR_GAME_TITLE_PROPERTY, - GAMES_DISPLAY_HEADER_BAR_CAN_FULLSCREEN_PROPERTY, - GAMES_DISPLAY_HEADER_BAR_IS_FULLSCREEN_PROPERTY, - GAMES_DISPLAY_HEADER_BAR_MEDIA_SET_PROPERTY, - GAMES_DISPLAY_HEADER_BAR_LAST_PROPERTY -}; -static GParamSpec* games_display_header_bar_properties[GAMES_DISPLAY_HEADER_BAR_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define GAMES_TYPE_MEDIA_SET (games_media_set_get_type ()) @@ -63,9 +54,9 @@ typedef struct _GamesMediaSetClass GamesMediaSetClass; enum { GAMES_DISPLAY_HEADER_BAR_BACK_SIGNAL, - GAMES_DISPLAY_HEADER_BAR_LAST_SIGNAL + GAMES_DISPLAY_HEADER_BAR_NUM_SIGNALS }; -static guint games_display_header_bar_signals[GAMES_DISPLAY_HEADER_BAR_LAST_SIGNAL] = {0}; +static guint games_display_header_bar_signals[GAMES_DISPLAY_HEADER_BAR_NUM_SIGNALS] = {0}; struct _GamesDisplayHeaderBar { GtkHeaderBar parent_instance; @@ -93,6 +84,13 @@ GType games_media_menu_button_get_type (void) G_GNUC_CONST; GType games_media_selector_get_type (void) G_GNUC_CONST; #define GAMES_DISPLAY_HEADER_BAR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_DISPLAY_HEADER_BAR, GamesDisplayHeaderBarPrivate)) +enum { + GAMES_DISPLAY_HEADER_BAR_0_PROPERTY, + GAMES_DISPLAY_HEADER_BAR_GAME_TITLE_PROPERTY, + GAMES_DISPLAY_HEADER_BAR_CAN_FULLSCREEN_PROPERTY, + GAMES_DISPLAY_HEADER_BAR_IS_FULLSCREEN_PROPERTY, + GAMES_DISPLAY_HEADER_BAR_MEDIA_SET_PROPERTY +}; static void games_display_header_bar_on_fullscreen_changed (GamesDisplayHeaderBar* self); gboolean games_display_header_bar_get_can_fullscreen (GamesDisplayHeaderBar* self); gboolean games_display_header_bar_get_is_fullscreen (GamesDisplayHeaderBar* self); @@ -212,7 +210,7 @@ g_return_if_fail (self != NULL); _tmp0_ = value; gtk_header_bar_set_title ((GtkHeaderBar*) self, _tmp0_); - g_object_notify_by_pspec ((GObject *) self, games_display_header_bar_properties[GAMES_DISPLAY_HEADER_BAR_GAME_TITLE_PROPERTY]); + g_object_notify ((GObject *) self, "game-title"); } @@ -232,7 +230,7 @@ gboolean _tmp0_; _tmp0_ = value; self->priv->_can_fullscreen = _tmp0_; - g_object_notify_by_pspec ((GObject *) self, games_display_header_bar_properties[GAMES_DISPLAY_HEADER_BAR_CAN_FULLSCREEN_PROPERTY]); + g_object_notify ((GObject *) self, "can-fullscreen"); } } @@ -253,7 +251,7 @@ gboolean _tmp0_; _tmp0_ = value; self->priv->_is_fullscreen = _tmp0_; - g_object_notify_by_pspec ((GObject *) self, games_display_header_bar_properties[GAMES_DISPLAY_HEADER_BAR_IS_FULLSCREEN_PROPERTY]); + g_object_notify ((GObject *) self, "is-fullscreen"); } } @@ -270,7 +268,7 @@ _tmp2_ = self->priv->media_selector; _tmp3_ = value; games_media_selector_set_media_set (_tmp2_, _tmp3_); - g_object_notify_by_pspec ((GObject *) self, games_display_header_bar_properties[GAMES_DISPLAY_HEADER_BAR_MEDIA_SET_PROPERTY]); + g_object_notify ((GObject *) self, "media-set"); } @@ -312,10 +310,10 @@ G_OBJECT_CLASS (klass)->set_property = _vala_games_display_header_bar_set_property; G_OBJECT_CLASS (klass)->constructor = games_display_header_bar_constructor; G_OBJECT_CLASS (klass)->finalize = games_display_header_bar_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DISPLAY_HEADER_BAR_GAME_TITLE_PROPERTY, games_display_header_bar_properties[GAMES_DISPLAY_HEADER_BAR_GAME_TITLE_PROPERTY] = g_param_spec_string ("game-title", "game-title", "game-title", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DISPLAY_HEADER_BAR_CAN_FULLSCREEN_PROPERTY, games_display_header_bar_properties[GAMES_DISPLAY_HEADER_BAR_CAN_FULLSCREEN_PROPERTY] = g_param_spec_boolean ("can-fullscreen", "can-fullscreen", "can-fullscreen", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DISPLAY_HEADER_BAR_IS_FULLSCREEN_PROPERTY, games_display_header_bar_properties[GAMES_DISPLAY_HEADER_BAR_IS_FULLSCREEN_PROPERTY] = g_param_spec_boolean ("is-fullscreen", "is-fullscreen", "is-fullscreen", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DISPLAY_HEADER_BAR_MEDIA_SET_PROPERTY, games_display_header_bar_properties[GAMES_DISPLAY_HEADER_BAR_MEDIA_SET_PROPERTY] = g_param_spec_object ("media-set", "media-set", "media-set", GAMES_TYPE_MEDIA_SET, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DISPLAY_HEADER_BAR_GAME_TITLE_PROPERTY, g_param_spec_string ("game-title", "game-title", "game-title", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DISPLAY_HEADER_BAR_CAN_FULLSCREEN_PROPERTY, g_param_spec_boolean ("can-fullscreen", "can-fullscreen", "can-fullscreen", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DISPLAY_HEADER_BAR_IS_FULLSCREEN_PROPERTY, g_param_spec_boolean ("is-fullscreen", "is-fullscreen", "is-fullscreen", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_DISPLAY_HEADER_BAR_MEDIA_SET_PROPERTY, g_param_spec_object ("media-set", "media-set", "media-set", GAMES_TYPE_MEDIA_SET, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE)); GamesDisplayHeaderBar_private_offset = g_type_class_get_instance_private_offset (klass); gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/Games/ui/display-header-bar.ui"); games_display_header_bar_signals[GAMES_DISPLAY_HEADER_BAR_BACK_SIGNAL] = g_signal_new ("back", GAMES_TYPE_DISPLAY_HEADER_BAR, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); diff -Nru gnome-games-app-3.26.2/src/ui/dummy-display.c gnome-games-app-3.28.0/src/ui/dummy-display.c --- gnome-games-app-3.26.2/src/ui/dummy-display.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/dummy-display.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* dummy-display.c generated by valac 0.38.2, the Vala compiler +/* dummy-display.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from dummy-display.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -18,11 +18,6 @@ typedef struct _GamesDummyDisplay GamesDummyDisplay; typedef struct _GamesDummyDisplayClass GamesDummyDisplayClass; typedef struct _GamesDummyDisplayPrivate GamesDummyDisplayPrivate; -enum { - GAMES_DUMMY_DISPLAY_DUMMY_PROPERTY, - GAMES_DUMMY_DISPLAY_LAST_PROPERTY -}; -static GParamSpec* games_dummy_display_properties[GAMES_DUMMY_DISPLAY_LAST_PROPERTY]; struct _GamesDummyDisplay { GtkBox parent_instance; @@ -37,6 +32,9 @@ static gpointer games_dummy_display_parent_class = NULL; GType games_dummy_display_get_type (void) G_GNUC_CONST; +enum { + GAMES_DUMMY_DISPLAY_0_PROPERTY +}; GamesDummyDisplay* games_dummy_display_new (void); GamesDummyDisplay* games_dummy_display_construct (GType object_type); diff -Nru gnome-games-app-3.26.2/src/ui/empty-collection.c gnome-games-app-3.28.0/src/ui/empty-collection.c --- gnome-games-app-3.26.2/src/ui/empty-collection.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/empty-collection.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* empty-collection.c generated by valac 0.38.2, the Vala compiler +/* empty-collection.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from empty-collection.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -18,11 +18,6 @@ typedef struct _GamesEmptyCollection GamesEmptyCollection; typedef struct _GamesEmptyCollectionClass GamesEmptyCollectionClass; typedef struct _GamesEmptyCollectionPrivate GamesEmptyCollectionPrivate; -enum { - GAMES_EMPTY_COLLECTION_DUMMY_PROPERTY, - GAMES_EMPTY_COLLECTION_LAST_PROPERTY -}; -static GParamSpec* games_empty_collection_properties[GAMES_EMPTY_COLLECTION_LAST_PROPERTY]; struct _GamesEmptyCollection { GtkBox parent_instance; @@ -37,6 +32,9 @@ static gpointer games_empty_collection_parent_class = NULL; GType games_empty_collection_get_type (void) G_GNUC_CONST; +enum { + GAMES_EMPTY_COLLECTION_0_PROPERTY +}; GamesEmptyCollection* games_empty_collection_new (void); GamesEmptyCollection* games_empty_collection_construct (GType object_type); diff -Nru gnome-games-app-3.26.2/src/ui/error-display.c gnome-games-app-3.28.0/src/ui/error-display.c --- gnome-games-app-3.26.2/src/ui/error-display.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/error-display.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* error-display.c generated by valac 0.38.2, the Vala compiler +/* error-display.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from error-display.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -22,11 +22,6 @@ typedef struct _GamesErrorDisplay GamesErrorDisplay; typedef struct _GamesErrorDisplayClass GamesErrorDisplayClass; typedef struct _GamesErrorDisplayPrivate GamesErrorDisplayPrivate; -enum { - GAMES_ERROR_DISPLAY_DUMMY_PROPERTY, - GAMES_ERROR_DISPLAY_LAST_PROPERTY -}; -static GParamSpec* games_error_display_properties[GAMES_ERROR_DISPLAY_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define GAMES_TYPE_GAME (games_game_get_type ()) @@ -123,6 +118,9 @@ GType games_error_display_get_type (void) G_GNUC_CONST; #define GAMES_ERROR_DISPLAY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_ERROR_DISPLAY, GamesErrorDisplayPrivate)) +enum { + GAMES_ERROR_DISPLAY_0_PROPERTY +}; GType games_icon_get_type (void) G_GNUC_CONST; GType games_cover_get_type (void) G_GNUC_CONST; GType games_media_set_get_type (void) G_GNUC_CONST; diff -Nru gnome-games-app-3.26.2/src/ui/error-info-bar.c gnome-games-app-3.28.0/src/ui/error-info-bar.c --- gnome-games-app-3.26.2/src/ui/error-info-bar.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/error-info-bar.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* error-info-bar.c generated by valac 0.38.2, the Vala compiler +/* error-info-bar.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from error-info-bar.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -20,12 +20,6 @@ typedef struct _GamesErrorInfoBar GamesErrorInfoBar; typedef struct _GamesErrorInfoBarClass GamesErrorInfoBarClass; typedef struct _GamesErrorInfoBarPrivate GamesErrorInfoBarPrivate; -enum { - GAMES_ERROR_INFO_BAR_DUMMY_PROPERTY, - GAMES_ERROR_INFO_BAR_MESSAGE_PROPERTY, - GAMES_ERROR_INFO_BAR_LAST_PROPERTY -}; -static GParamSpec* games_error_info_bar_properties[GAMES_ERROR_INFO_BAR_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) struct _GamesErrorInfoBar { @@ -46,6 +40,10 @@ GType games_error_info_bar_get_type (void) G_GNUC_CONST; #define GAMES_ERROR_INFO_BAR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_ERROR_INFO_BAR, GamesErrorInfoBarPrivate)) +enum { + GAMES_ERROR_INFO_BAR_0_PROPERTY, + GAMES_ERROR_INFO_BAR_MESSAGE_PROPERTY +}; GamesErrorInfoBar* games_error_info_bar_new (void); GamesErrorInfoBar* games_error_info_bar_construct (GType object_type); void games_error_info_bar_set_message (GamesErrorInfoBar* self, const gchar* value); @@ -73,7 +71,7 @@ _tmp0_ = self->priv->label; _tmp1_ = value; gtk_label_set_label (_tmp0_, _tmp1_); - g_object_notify_by_pspec ((GObject *) self, games_error_info_bar_properties[GAMES_ERROR_INFO_BAR_MESSAGE_PROPERTY]); + g_object_notify ((GObject *) self, "message"); } @@ -97,7 +95,7 @@ G_OBJECT_CLASS (klass)->set_property = _vala_games_error_info_bar_set_property; G_OBJECT_CLASS (klass)->constructor = games_error_info_bar_constructor; G_OBJECT_CLASS (klass)->finalize = games_error_info_bar_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_ERROR_INFO_BAR_MESSAGE_PROPERTY, games_error_info_bar_properties[GAMES_ERROR_INFO_BAR_MESSAGE_PROPERTY] = g_param_spec_string ("message", "message", "message", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_ERROR_INFO_BAR_MESSAGE_PROPERTY, g_param_spec_string ("message", "message", "message", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE)); GamesErrorInfoBar_private_offset = g_type_class_get_instance_private_offset (klass); gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/Games/ui/error-info-bar.ui"); gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "label", FALSE, GamesErrorInfoBar_private_offset + G_STRUCT_OFFSET (GamesErrorInfoBarPrivate, label)); diff -Nru gnome-games-app-3.26.2/src/ui/game-icon-view.c gnome-games-app-3.28.0/src/ui/game-icon-view.c --- gnome-games-app-3.26.2/src/ui/game-icon-view.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/game-icon-view.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* game-icon-view.c generated by valac 0.38.2, the Vala compiler +/* game-icon-view.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from game-icon-view.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -73,12 +73,6 @@ typedef struct _GamesGameThumbnail GamesGameThumbnail; typedef struct _GamesGameThumbnailClass GamesGameThumbnailClass; -enum { - GAMES_GAME_ICON_VIEW_DUMMY_PROPERTY, - GAMES_GAME_ICON_VIEW_GAME_PROPERTY, - GAMES_GAME_ICON_VIEW_LAST_PROPERTY -}; -static GParamSpec* games_game_icon_view_properties[GAMES_GAME_ICON_VIEW_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) struct _GamesGameIconView { @@ -139,6 +133,10 @@ GType games_game_get_type (void) G_GNUC_CONST; GType games_game_thumbnail_get_type (void) G_GNUC_CONST; #define GAMES_GAME_ICON_VIEW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_GAME_ICON_VIEW, GamesGameIconViewPrivate)) +enum { + GAMES_GAME_ICON_VIEW_0_PROPERTY, + GAMES_GAME_ICON_VIEW_GAME_PROPERTY +}; GamesGameIconView* games_game_icon_view_new (GamesGame* game); GamesGameIconView* games_game_icon_view_construct (GType object_type, GamesGame* game); void games_game_icon_view_set_game (GamesGameIconView* self, GamesGame* value); @@ -237,7 +235,7 @@ _tmp19_ = _tmp18_; gtk_label_set_label (_tmp15_, _tmp19_); gtk_widget_queue_draw ((GtkWidget*) self); - g_object_notify_by_pspec ((GObject *) self, games_game_icon_view_properties[GAMES_GAME_ICON_VIEW_GAME_PROPERTY]); + g_object_notify ((GObject *) self, "game"); } @@ -248,7 +246,7 @@ G_OBJECT_CLASS (klass)->get_property = _vala_games_game_icon_view_get_property; G_OBJECT_CLASS (klass)->set_property = _vala_games_game_icon_view_set_property; G_OBJECT_CLASS (klass)->finalize = games_game_icon_view_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_GAME_ICON_VIEW_GAME_PROPERTY, games_game_icon_view_properties[GAMES_GAME_ICON_VIEW_GAME_PROPERTY] = g_param_spec_object ("game", "game", "game", GAMES_TYPE_GAME, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_GAME_ICON_VIEW_GAME_PROPERTY, g_param_spec_object ("game", "game", "game", GAMES_TYPE_GAME, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); GamesGameIconView_private_offset = g_type_class_get_instance_private_offset (klass); gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/Games/ui/game-icon-view.ui"); gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "thumbnail", FALSE, GamesGameIconView_private_offset + G_STRUCT_OFFSET (GamesGameIconViewPrivate, thumbnail)); diff -Nru gnome-games-app-3.26.2/src/ui/gamepad-configurer.c gnome-games-app-3.28.0/src/ui/gamepad-configurer.c --- gnome-games-app-3.26.2/src/ui/gamepad-configurer.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/gamepad-configurer.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* gamepad-configurer.c generated by valac 0.38.2, the Vala compiler +/* gamepad-configurer.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from gamepad-configurer.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -6,13 +6,10 @@ #include #include #include -#include -#include -#include +#include #include #include #include -#include #include @@ -48,15 +45,11 @@ typedef struct _GamesGamepadTester GamesGamepadTester; typedef struct _GamesGamepadTesterClass GamesGamepadTesterClass; -enum { - GAMES_GAMEPAD_CONFIGURER_DUMMY_PROPERTY, - GAMES_GAMEPAD_CONFIGURER_HEADER_BAR_PROPERTY, - GAMES_GAMEPAD_CONFIGURER_IMMERSIVE_MODE_PROPERTY, - GAMES_GAMEPAD_CONFIGURER_LAST_PROPERTY -}; -static GParamSpec* games_gamepad_configurer_properties[GAMES_GAMEPAD_CONFIGURER_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) +#define GAMES_TYPE_GAMEPAD_INPUT (games_gamepad_input_get_type ()) +typedef struct _GamesGamepadInput GamesGamepadInput; + #define GAMES_TYPE_GAMEPAD_INPUT_PATH (games_gamepad_input_path_get_type ()) typedef struct _GamesGamepadInputPath GamesGamepadInputPath; @@ -72,14 +65,13 @@ typedef struct _GamesResetGamepadMappingDialog GamesResetGamepadMappingDialog; typedef struct _GamesResetGamepadMappingDialogClass GamesResetGamepadMappingDialogClass; -typedef struct _Block10Data Block10Data; +typedef struct _Block9Data Block9Data; #define _g_free0(var) (var = (g_free (var), NULL)) -#define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) enum { GAMES_GAMEPAD_CONFIGURER_BACK_SIGNAL, - GAMES_GAMEPAD_CONFIGURER_LAST_SIGNAL + GAMES_GAMEPAD_CONFIGURER_NUM_SIGNALS }; -static guint games_gamepad_configurer_signals[GAMES_GAMEPAD_CONFIGURER_LAST_SIGNAL] = {0}; +static guint games_gamepad_configurer_signals[GAMES_GAMEPAD_CONFIGURER_NUM_SIGNALS] = {0}; struct _GamesGamepadConfigurer { GtkBox parent_instance; @@ -106,10 +98,14 @@ GtkButton* reset_button; GtkButton* back_button; GtkButton* cancel_button; - GamesGamepad* gamepad; + ManetteDevice* device; GamesGamepadMapper* mapper; GamesGamepadTester* tester; - GamesGamepadMappingsManager* mappings_manager; +}; + +struct _GamesGamepadInput { + guint16 type; + guint16 code; }; struct _GamesGamepadInputPath { @@ -124,7 +120,7 @@ gint _input_paths_size_; }; -struct _Block10Data { +struct _Block9Data { int _ref_count_; GamesGamepadConfigurer* self; GamesResetGamepadMappingDialog* message_dialog; @@ -138,6 +134,14 @@ GType games_gamepad_mapper_get_type (void) G_GNUC_CONST; GType games_gamepad_tester_get_type (void) G_GNUC_CONST; #define GAMES_GAMEPAD_CONFIGURER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_GAMEPAD_CONFIGURER, GamesGamepadConfigurerPrivate)) +enum { + GAMES_GAMEPAD_CONFIGURER_0_PROPERTY, + GAMES_GAMEPAD_CONFIGURER_HEADER_BAR_PROPERTY, + GAMES_GAMEPAD_CONFIGURER_IMMERSIVE_MODE_PROPERTY +}; +GType games_gamepad_input_get_type (void) G_GNUC_CONST; +GamesGamepadInput* games_gamepad_input_dup (const GamesGamepadInput* self); +void games_gamepad_input_free (GamesGamepadInput* self); GType games_gamepad_input_path_get_type (void) G_GNUC_CONST; GamesGamepadInputPath* games_gamepad_input_path_dup (const GamesGamepadInputPath* self); void games_gamepad_input_path_free (GamesGamepadInputPath* self); @@ -148,12 +152,12 @@ void games_gamepad_view_configuration_free (GamesGamepadViewConfiguration* self); void games_gamepad_view_configuration_copy (const GamesGamepadViewConfiguration* self, GamesGamepadViewConfiguration* dest); void games_gamepad_view_configuration_destroy (GamesGamepadViewConfiguration* self); -GamesGamepadConfigurer* games_gamepad_configurer_new (GamesGamepad* gamepad); -GamesGamepadConfigurer* games_gamepad_configurer_construct (GType object_type, GamesGamepad* gamepad); -GamesGamepadMapper* games_gamepad_mapper_new (GamesGamepad* gamepad, GamesGamepadViewConfiguration* configuration, GamesGamepadInput* mapping_inputs, int mapping_inputs_length1); -GamesGamepadMapper* games_gamepad_mapper_construct (GType object_type, GamesGamepad* gamepad, GamesGamepadViewConfiguration* configuration, GamesGamepadInput* mapping_inputs, int mapping_inputs_length1); -GamesGamepadTester* games_gamepad_tester_new (GamesGamepad* gamepad, GamesGamepadViewConfiguration* configuration); -GamesGamepadTester* games_gamepad_tester_construct (GType object_type, GamesGamepad* gamepad, GamesGamepadViewConfiguration* configuration); +GamesGamepadConfigurer* games_gamepad_configurer_new (ManetteDevice* device); +GamesGamepadConfigurer* games_gamepad_configurer_construct (GType object_type, ManetteDevice* device); +GamesGamepadMapper* games_gamepad_mapper_new (ManetteDevice* device, GamesGamepadViewConfiguration* configuration, GamesGamepadInput* mapping_inputs, int mapping_inputs_length1); +GamesGamepadMapper* games_gamepad_mapper_construct (GType object_type, ManetteDevice* device, GamesGamepadViewConfiguration* configuration, GamesGamepadInput* mapping_inputs, int mapping_inputs_length1); +GamesGamepadTester* games_gamepad_tester_new (ManetteDevice* device, GamesGamepadViewConfiguration* configuration); +GamesGamepadTester* games_gamepad_tester_construct (GType object_type, ManetteDevice* device, GamesGamepadViewConfiguration* configuration); static void games_gamepad_configurer_set_state (GamesGamepadConfigurer* self, GamesGamepadConfigurerState value); static void games_gamepad_configurer_on_reset_clicked (GamesGamepadConfigurer* self); static void games_gamepad_configurer_reset_mapping (GamesGamepadConfigurer* self); @@ -165,13 +169,12 @@ static void games_gamepad_configurer_on_cancel_clicked (GamesGamepadConfigurer* self); static void _games_gamepad_configurer_on_cancel_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); GType games_reset_gamepad_mapping_dialog_get_type (void) G_GNUC_CONST; -static Block10Data* block10_data_ref (Block10Data* _data10_); -static void block10_data_unref (void * _userdata_); +static Block9Data* block9_data_ref (Block9Data* _data9_); +static void block9_data_unref (void * _userdata_); GamesResetGamepadMappingDialog* games_reset_gamepad_mapping_dialog_new (void); GamesResetGamepadMappingDialog* games_reset_gamepad_mapping_dialog_construct (GType object_type); -static void __lambda32_ (Block10Data* _data10_, gint response); -static void games_gamepad_configurer_set_gamepad_mapping (GamesGamepadConfigurer* self, const gchar* sdl_string); -static void ___lambda32__gtk_dialog_response (GtkDialog* _sender, gint response_id, gpointer self); +static void __lambda23_ (Block9Data* _data9_, gint response); +static void ___lambda23__gtk_dialog_response (GtkDialog* _sender, gint response_id, gpointer self); static void games_gamepad_configurer_on_mapper_finished (GamesGamepadConfigurer* self, const gchar* sdl_string); static GamesGamepadConfigurerState games_gamepad_configurer_get_state (GamesGamepadConfigurer* self); static void games_gamepad_configurer_set_immersive_mode (GamesGamepadConfigurer* self, gboolean value); @@ -183,7 +186,6 @@ void games_gamepad_mapper_start (GamesGamepadMapper* self); static void games_gamepad_configurer_set_header_bar (GamesGamepadConfigurer* self, GtkHeaderBar* value); gboolean games_gamepad_configurer_get_immersive_mode (GamesGamepadConfigurer* self); -static GObject * games_gamepad_configurer_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties); static void games_gamepad_configurer_finalize (GObject * obj); static void _vala_games_gamepad_configurer_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); static void _vala_games_gamepad_configurer_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); @@ -209,25 +211,25 @@ } -GamesGamepadConfigurer* games_gamepad_configurer_construct (GType object_type, GamesGamepad* gamepad) { +GamesGamepadConfigurer* games_gamepad_configurer_construct (GType object_type, ManetteDevice* device) { GamesGamepadConfigurer * self = NULL; - GamesGamepad* _tmp0_; - GamesGamepad* _tmp1_; - GamesGamepad* _tmp2_; + ManetteDevice* _tmp0_; + ManetteDevice* _tmp1_; + ManetteDevice* _tmp2_; GamesGamepadMapper* _tmp3_; GtkBox* _tmp4_; GamesGamepadMapper* _tmp5_; - GamesGamepad* _tmp6_; + ManetteDevice* _tmp6_; GamesGamepadTester* _tmp7_; GtkBox* _tmp8_; GamesGamepadTester* _tmp9_; - g_return_val_if_fail (gamepad != NULL, NULL); + g_return_val_if_fail (device != NULL, NULL); self = (GamesGamepadConfigurer*) g_object_new (object_type, NULL); - _tmp0_ = gamepad; + _tmp0_ = device; _tmp1_ = _g_object_ref0 (_tmp0_); - _g_object_unref0 (self->priv->gamepad); - self->priv->gamepad = _tmp1_; - _tmp2_ = gamepad; + _g_object_unref0 (self->priv->device); + self->priv->device = _tmp1_; + _tmp2_ = device; _tmp3_ = games_gamepad_mapper_new (_tmp2_, &GAMES_GAMEPAD_CONFIGURER_STANDARD_GAMEPAD_VIEW_CONFIGURATION, GAMES_GAMEPAD_CONFIGURER_STANDARD_GAMEPAD_INPUTS, G_N_ELEMENTS (GAMES_GAMEPAD_CONFIGURER_STANDARD_GAMEPAD_INPUTS)); g_object_ref_sink (_tmp3_); _g_object_unref0 (self->priv->mapper); @@ -235,7 +237,7 @@ _tmp4_ = self->priv->gamepad_mapper_holder; _tmp5_ = self->priv->mapper; gtk_box_pack_start (_tmp4_, (GtkWidget*) _tmp5_, TRUE, TRUE, (guint) 0); - _tmp6_ = gamepad; + _tmp6_ = device; _tmp7_ = games_gamepad_tester_new (_tmp6_, &GAMES_GAMEPAD_CONFIGURER_STANDARD_GAMEPAD_VIEW_CONFIGURATION); g_object_ref_sink (_tmp7_); _g_object_unref0 (self->priv->tester); @@ -248,8 +250,8 @@ } -GamesGamepadConfigurer* games_gamepad_configurer_new (GamesGamepad* gamepad) { - return games_gamepad_configurer_construct (GAMES_TYPE_GAMEPAD_CONFIGURER, gamepad); +GamesGamepadConfigurer* games_gamepad_configurer_new (ManetteDevice* device) { + return games_gamepad_configurer_construct (GAMES_TYPE_GAMEPAD_CONFIGURER, device); } @@ -297,61 +299,39 @@ } -static Block10Data* block10_data_ref (Block10Data* _data10_) { - g_atomic_int_inc (&_data10_->_ref_count_); - return _data10_; +static Block9Data* block9_data_ref (Block9Data* _data9_) { + g_atomic_int_inc (&_data9_->_ref_count_); + return _data9_; } -static void block10_data_unref (void * _userdata_) { - Block10Data* _data10_; - _data10_ = (Block10Data*) _userdata_; - if (g_atomic_int_dec_and_test (&_data10_->_ref_count_)) { +static void block9_data_unref (void * _userdata_) { + Block9Data* _data9_; + _data9_ = (Block9Data*) _userdata_; + if (g_atomic_int_dec_and_test (&_data9_->_ref_count_)) { GamesGamepadConfigurer* self; - self = _data10_->self; - _g_object_unref0 (_data10_->message_dialog); + self = _data9_->self; + _g_object_unref0 (_data9_->message_dialog); _g_object_unref0 (self); - g_slice_free (Block10Data, _data10_); + g_slice_free (Block9Data, _data9_); } } -static void __lambda32_ (Block10Data* _data10_, gint response) { +static void __lambda23_ (Block9Data* _data9_, gint response) { GamesGamepadConfigurer* self; gint _tmp0_; - self = _data10_->self; + self = _data9_->self; _tmp0_ = response; switch (_tmp0_) { case GTK_RESPONSE_ACCEPT: { - GamesGamepadMappingsManager* _tmp1_; - GamesGamepad* _tmp2_; - const gchar* _tmp3_; - const gchar* _tmp4_; - gchar* sdl_string = NULL; - GamesGamepadMappingsManager* _tmp5_; - GamesGamepad* _tmp6_; - const gchar* _tmp7_; - const gchar* _tmp8_; - gchar* _tmp9_; - const gchar* _tmp10_; - GtkButton* _tmp11_; - _tmp1_ = self->priv->mappings_manager; - _tmp2_ = self->priv->gamepad; - _tmp3_ = games_gamepad_get_guid (_tmp2_); - _tmp4_ = _tmp3_; - games_gamepad_mappings_manager_delete_mapping (_tmp1_, _tmp4_); - _tmp5_ = self->priv->mappings_manager; - _tmp6_ = self->priv->gamepad; - _tmp7_ = games_gamepad_get_guid (_tmp6_); - _tmp8_ = _tmp7_; - _tmp9_ = games_gamepad_mappings_manager_get_default_mapping (_tmp5_, _tmp8_); - sdl_string = _tmp9_; - _tmp10_ = sdl_string; - games_gamepad_configurer_set_gamepad_mapping (self, _tmp10_); - _tmp11_ = self->priv->reset_button; - gtk_widget_set_sensitive ((GtkWidget*) _tmp11_, FALSE); - _g_free0 (sdl_string); + ManetteDevice* _tmp1_; + GtkButton* _tmp2_; + _tmp1_ = self->priv->device; + manette_device_remove_user_mapping (_tmp1_); + _tmp2_ = self->priv->reset_button; + gtk_widget_set_sensitive ((GtkWidget*) _tmp2_, FALSE); break; } default: @@ -359,112 +339,47 @@ break; } } - gtk_widget_destroy ((GtkWidget*) _data10_->message_dialog); + gtk_widget_destroy ((GtkWidget*) _data9_->message_dialog); } -static void ___lambda32__gtk_dialog_response (GtkDialog* _sender, gint response_id, gpointer self) { - __lambda32_ (self, response_id); +static void ___lambda23__gtk_dialog_response (GtkDialog* _sender, gint response_id, gpointer self) { + __lambda23_ (self, response_id); } static void games_gamepad_configurer_reset_mapping (GamesGamepadConfigurer* self) { - Block10Data* _data10_; + Block9Data* _data9_; GamesResetGamepadMappingDialog* _tmp0_; GtkWidget* _tmp1_; g_return_if_fail (self != NULL); - _data10_ = g_slice_new0 (Block10Data); - _data10_->_ref_count_ = 1; - _data10_->self = g_object_ref (self); + _data9_ = g_slice_new0 (Block9Data); + _data9_->_ref_count_ = 1; + _data9_->self = g_object_ref (self); _tmp0_ = games_reset_gamepad_mapping_dialog_new (); g_object_ref_sink (_tmp0_); - _data10_->message_dialog = _tmp0_; + _data9_->message_dialog = _tmp0_; _tmp1_ = gtk_widget_get_toplevel ((GtkWidget*) self); - gtk_window_set_transient_for ((GtkWindow*) _data10_->message_dialog, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_window_get_type (), GtkWindow)); - g_signal_connect_data ((GtkDialog*) _data10_->message_dialog, "response", (GCallback) ___lambda32__gtk_dialog_response, block10_data_ref (_data10_), (GClosureNotify) block10_data_unref, 0); - gtk_widget_show ((GtkWidget*) _data10_->message_dialog); - block10_data_unref (_data10_); - _data10_ = NULL; + gtk_window_set_transient_for ((GtkWindow*) _data9_->message_dialog, G_TYPE_CHECK_INSTANCE_CAST (_tmp1_, gtk_window_get_type (), GtkWindow)); + g_signal_connect_data ((GtkDialog*) _data9_->message_dialog, "response", (GCallback) ___lambda23__gtk_dialog_response, block9_data_ref (_data9_), (GClosureNotify) block9_data_unref, 0); + gtk_widget_show ((GtkWidget*) _data9_->message_dialog); + block9_data_unref (_data9_); + _data9_ = NULL; } static void games_gamepad_configurer_on_mapper_finished (GamesGamepadConfigurer* self, const gchar* sdl_string) { - GamesGamepadMappingsManager* _tmp0_; - GamesGamepad* _tmp1_; - const gchar* _tmp2_; - const gchar* _tmp3_; - GamesGamepad* _tmp4_; - const gchar* _tmp5_; - const gchar* _tmp6_; - const gchar* _tmp7_; - const gchar* _tmp8_; + ManetteDevice* _tmp0_; + const gchar* _tmp1_; g_return_if_fail (self != NULL); g_return_if_fail (sdl_string != NULL); - _tmp0_ = self->priv->mappings_manager; - _tmp1_ = self->priv->gamepad; - _tmp2_ = games_gamepad_get_guid (_tmp1_); - _tmp3_ = _tmp2_; - _tmp4_ = self->priv->gamepad; - _tmp5_ = games_gamepad_get_name (_tmp4_); - _tmp6_ = _tmp5_; - _tmp7_ = sdl_string; - games_gamepad_mappings_manager_save_mapping (_tmp0_, _tmp3_, _tmp6_, _tmp7_); - _tmp8_ = sdl_string; - games_gamepad_configurer_set_gamepad_mapping (self, _tmp8_); + _tmp0_ = self->priv->device; + _tmp1_ = sdl_string; + manette_device_save_user_mapping (_tmp0_, _tmp1_); games_gamepad_configurer_set_state (self, GAMES_GAMEPAD_CONFIGURER_STATE_TEST); } -static void games_gamepad_configurer_set_gamepad_mapping (GamesGamepadConfigurer* self, const gchar* sdl_string) { - const gchar* _tmp0_; - GError * _inner_error_ = NULL; - g_return_if_fail (self != NULL); - _tmp0_ = sdl_string; - if (_tmp0_ == NULL) { - GamesGamepad* _tmp1_; - _tmp1_ = self->priv->gamepad; - games_gamepad_set_mapping (_tmp1_, NULL); - return; - } - { - GamesGamepadMapping* mapping = NULL; - const gchar* _tmp2_; - GamesGamepadMapping* _tmp3_; - GamesGamepad* _tmp4_; - GamesGamepadMapping* _tmp5_; - _tmp2_ = sdl_string; - _tmp3_ = games_gamepad_mapping_new_from_sdl_string (_tmp2_, &_inner_error_); - mapping = _tmp3_; - if (G_UNLIKELY (_inner_error_ != NULL)) { - goto __catch34_g_error; - } - _tmp4_ = self->priv->gamepad; - _tmp5_ = mapping; - games_gamepad_set_mapping (_tmp4_, _tmp5_); - _g_object_unref0 (mapping); - } - goto __finally34; - __catch34_g_error: - { - GError* e = NULL; - GError* _tmp6_; - const gchar* _tmp7_; - e = _inner_error_; - _inner_error_ = NULL; - _tmp6_ = e; - _tmp7_ = _tmp6_->message; - g_critical ("gamepad-configurer.vala:209: %s", _tmp7_); - _g_error_free0 (e); - } - __finally34: - if (G_UNLIKELY (_inner_error_ != NULL)) { - g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); - g_clear_error (&_inner_error_); - return; - } -} - - static GamesGamepadConfigurerState games_gamepad_configurer_get_state (GamesGamepadConfigurer* self) { GamesGamepadConfigurerState result; GamesGamepadConfigurerState _tmp0_; @@ -495,118 +410,103 @@ switch (_tmp3_) { case GAMES_GAMEPAD_CONFIGURER_STATE_TEST: { - gchar* user_mapping = NULL; - GamesGamepadMappingsManager* _tmp4_; - GamesGamepad* _tmp5_; - const gchar* _tmp6_; - const gchar* _tmp7_; - gchar* _tmp8_; - GtkButton* _tmp9_; - const gchar* _tmp10_; - GtkButton* _tmp11_; - GtkButton* _tmp12_; - GtkActionBar* _tmp13_; - GtkHeaderBar* _tmp14_; - GtkHeaderBar* _tmp15_; - GamesGamepad* _tmp16_; - const gchar* _tmp17_; - const gchar* _tmp18_; - gchar* _tmp19_; - gchar* _tmp20_; - GtkHeaderBar* _tmp21_; - GtkHeaderBar* _tmp22_; - GtkStyleContext* _tmp23_; - GtkStack* _tmp24_; - GamesGamepadTester* _tmp25_; - GamesGamepadMapper* _tmp26_; - GamesGamepadMapper* _tmp27_; - guint _tmp28_; - _tmp4_ = self->priv->mappings_manager; - _tmp5_ = self->priv->gamepad; - _tmp6_ = games_gamepad_get_guid (_tmp5_); - _tmp7_ = _tmp6_; - _tmp8_ = games_gamepad_mappings_manager_get_user_mapping (_tmp4_, _tmp7_); - user_mapping = _tmp8_; - _tmp9_ = self->priv->reset_button; - _tmp10_ = user_mapping; - gtk_widget_set_sensitive ((GtkWidget*) _tmp9_, _tmp10_ != NULL); - _tmp11_ = self->priv->back_button; - gtk_widget_show ((GtkWidget*) _tmp11_); - _tmp12_ = self->priv->cancel_button; - gtk_widget_hide ((GtkWidget*) _tmp12_); - _tmp13_ = self->priv->action_bar; - gtk_widget_show ((GtkWidget*) _tmp13_); - _tmp14_ = games_gamepad_configurer_get_header_bar (self); + GtkButton* _tmp4_; + ManetteDevice* _tmp5_; + gboolean _tmp6_; + GtkButton* _tmp7_; + GtkButton* _tmp8_; + GtkActionBar* _tmp9_; + GtkHeaderBar* _tmp10_; + GtkHeaderBar* _tmp11_; + ManetteDevice* _tmp12_; + const gchar* _tmp13_; + gchar* _tmp14_; + gchar* _tmp15_; + GtkHeaderBar* _tmp16_; + GtkHeaderBar* _tmp17_; + GtkStyleContext* _tmp18_; + GtkStack* _tmp19_; + GamesGamepadTester* _tmp20_; + GamesGamepadMapper* _tmp21_; + GamesGamepadMapper* _tmp22_; + guint _tmp23_; + _tmp4_ = self->priv->reset_button; + _tmp5_ = self->priv->device; + _tmp6_ = manette_device_has_user_mapping (_tmp5_); + gtk_widget_set_sensitive ((GtkWidget*) _tmp4_, _tmp6_); + _tmp7_ = self->priv->back_button; + gtk_widget_show ((GtkWidget*) _tmp7_); + _tmp8_ = self->priv->cancel_button; + gtk_widget_hide ((GtkWidget*) _tmp8_); + _tmp9_ = self->priv->action_bar; + gtk_widget_show ((GtkWidget*) _tmp9_); + _tmp10_ = games_gamepad_configurer_get_header_bar (self); + _tmp11_ = _tmp10_; + _tmp12_ = self->priv->device; + _tmp13_ = manette_device_get_name (_tmp12_); + _tmp14_ = g_strdup_printf (_ ("Testing %s"), _tmp13_); _tmp15_ = _tmp14_; - _tmp16_ = self->priv->gamepad; - _tmp17_ = games_gamepad_get_name (_tmp16_); - _tmp18_ = _tmp17_; - _tmp19_ = g_strdup_printf (_ ("Testing %s"), _tmp18_); - _tmp20_ = _tmp19_; - gtk_header_bar_set_title (_tmp15_, _tmp20_); - _g_free0 (_tmp20_); - _tmp21_ = games_gamepad_configurer_get_header_bar (self); - _tmp22_ = _tmp21_; - _tmp23_ = gtk_widget_get_style_context ((GtkWidget*) _tmp22_); - gtk_style_context_remove_class (_tmp23_, "selection-mode"); - _tmp24_ = self->priv->stack; - gtk_stack_set_visible_child_name (_tmp24_, "gamepad_tester"); - _tmp25_ = self->priv->tester; - games_gamepad_tester_start (_tmp25_); - _tmp26_ = self->priv->mapper; - games_gamepad_mapper_stop (_tmp26_); - _tmp27_ = self->priv->mapper; - g_signal_parse_name ("finished", GAMES_TYPE_GAMEPAD_MAPPER, &_tmp28_, NULL, FALSE); - g_signal_handlers_disconnect_matched (_tmp27_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp28_, 0, NULL, (GCallback) _games_gamepad_configurer_on_mapper_finished_games_gamepad_mapper_finished, self); - _g_free0 (user_mapping); + gtk_header_bar_set_title (_tmp11_, _tmp15_); + _g_free0 (_tmp15_); + _tmp16_ = games_gamepad_configurer_get_header_bar (self); + _tmp17_ = _tmp16_; + _tmp18_ = gtk_widget_get_style_context ((GtkWidget*) _tmp17_); + gtk_style_context_remove_class (_tmp18_, "selection-mode"); + _tmp19_ = self->priv->stack; + gtk_stack_set_visible_child_name (_tmp19_, "gamepad_tester"); + _tmp20_ = self->priv->tester; + games_gamepad_tester_start (_tmp20_); + _tmp21_ = self->priv->mapper; + games_gamepad_mapper_stop (_tmp21_); + _tmp22_ = self->priv->mapper; + g_signal_parse_name ("finished", GAMES_TYPE_GAMEPAD_MAPPER, &_tmp23_, NULL, FALSE); + g_signal_handlers_disconnect_matched (_tmp22_, G_SIGNAL_MATCH_ID | G_SIGNAL_MATCH_FUNC | G_SIGNAL_MATCH_DATA, _tmp23_, 0, NULL, (GCallback) _games_gamepad_configurer_on_mapper_finished_games_gamepad_mapper_finished, self); break; } case GAMES_GAMEPAD_CONFIGURER_STATE_CONFIGURE: { - GtkButton* _tmp29_; - GtkButton* _tmp30_; - GtkActionBar* _tmp31_; - GtkHeaderBar* _tmp32_; + GtkButton* _tmp24_; + GtkButton* _tmp25_; + GtkActionBar* _tmp26_; + GtkHeaderBar* _tmp27_; + GtkHeaderBar* _tmp28_; + ManetteDevice* _tmp29_; + const gchar* _tmp30_; + gchar* _tmp31_; + gchar* _tmp32_; GtkHeaderBar* _tmp33_; - GamesGamepad* _tmp34_; - const gchar* _tmp35_; - const gchar* _tmp36_; - gchar* _tmp37_; - gchar* _tmp38_; - GtkHeaderBar* _tmp39_; - GtkHeaderBar* _tmp40_; - GtkStyleContext* _tmp41_; - GtkStack* _tmp42_; - GamesGamepadTester* _tmp43_; - GamesGamepadMapper* _tmp44_; - GamesGamepadMapper* _tmp45_; - _tmp29_ = self->priv->back_button; - gtk_widget_hide ((GtkWidget*) _tmp29_); - _tmp30_ = self->priv->cancel_button; - gtk_widget_show ((GtkWidget*) _tmp30_); - _tmp31_ = self->priv->action_bar; - gtk_widget_hide ((GtkWidget*) _tmp31_); - _tmp32_ = games_gamepad_configurer_get_header_bar (self); - _tmp33_ = _tmp32_; - _tmp34_ = self->priv->gamepad; - _tmp35_ = games_gamepad_get_name (_tmp34_); - _tmp36_ = _tmp35_; - _tmp37_ = g_strdup_printf (_ ("Configuring %s"), _tmp36_); - _tmp38_ = _tmp37_; - gtk_header_bar_set_title (_tmp33_, _tmp38_); - _g_free0 (_tmp38_); - _tmp39_ = games_gamepad_configurer_get_header_bar (self); - _tmp40_ = _tmp39_; - _tmp41_ = gtk_widget_get_style_context ((GtkWidget*) _tmp40_); - gtk_style_context_add_class (_tmp41_, "selection-mode"); - _tmp42_ = self->priv->stack; - gtk_stack_set_visible_child_name (_tmp42_, "gamepad_mapper"); - _tmp43_ = self->priv->tester; - games_gamepad_tester_stop (_tmp43_); - _tmp44_ = self->priv->mapper; - games_gamepad_mapper_start (_tmp44_); - _tmp45_ = self->priv->mapper; - g_signal_connect_object (_tmp45_, "finished", (GCallback) _games_gamepad_configurer_on_mapper_finished_games_gamepad_mapper_finished, self, 0); + GtkHeaderBar* _tmp34_; + GtkStyleContext* _tmp35_; + GtkStack* _tmp36_; + GamesGamepadTester* _tmp37_; + GamesGamepadMapper* _tmp38_; + GamesGamepadMapper* _tmp39_; + _tmp24_ = self->priv->back_button; + gtk_widget_hide ((GtkWidget*) _tmp24_); + _tmp25_ = self->priv->cancel_button; + gtk_widget_show ((GtkWidget*) _tmp25_); + _tmp26_ = self->priv->action_bar; + gtk_widget_hide ((GtkWidget*) _tmp26_); + _tmp27_ = games_gamepad_configurer_get_header_bar (self); + _tmp28_ = _tmp27_; + _tmp29_ = self->priv->device; + _tmp30_ = manette_device_get_name (_tmp29_); + _tmp31_ = g_strdup_printf (_ ("Configuring %s"), _tmp30_); + _tmp32_ = _tmp31_; + gtk_header_bar_set_title (_tmp28_, _tmp32_); + _g_free0 (_tmp32_); + _tmp33_ = games_gamepad_configurer_get_header_bar (self); + _tmp34_ = _tmp33_; + _tmp35_ = gtk_widget_get_style_context ((GtkWidget*) _tmp34_); + gtk_style_context_add_class (_tmp35_, "selection-mode"); + _tmp36_ = self->priv->stack; + gtk_stack_set_visible_child_name (_tmp36_, "gamepad_mapper"); + _tmp37_ = self->priv->tester; + games_gamepad_tester_stop (_tmp37_); + _tmp38_ = self->priv->mapper; + games_gamepad_mapper_start (_tmp38_); + _tmp39_ = self->priv->mapper; + g_signal_connect_object (_tmp39_, "finished", (GCallback) _games_gamepad_configurer_on_mapper_finished_games_gamepad_mapper_finished, self, 0); break; } default: @@ -627,7 +527,7 @@ static void games_gamepad_configurer_set_header_bar (GamesGamepadConfigurer* self, GtkHeaderBar* value) { g_return_if_fail (self != NULL); - g_object_notify_by_pspec ((GObject *) self, games_gamepad_configurer_properties[GAMES_GAMEPAD_CONFIGURER_HEADER_BAR_PROPERTY]); + g_object_notify ((GObject *) self, "header-bar"); } @@ -647,36 +547,20 @@ gboolean _tmp0_; _tmp0_ = value; self->priv->_immersive_mode = _tmp0_; - g_object_notify_by_pspec ((GObject *) self, games_gamepad_configurer_properties[GAMES_GAMEPAD_CONFIGURER_IMMERSIVE_MODE_PROPERTY]); + g_object_notify ((GObject *) self, "immersive-mode"); } } -static GObject * games_gamepad_configurer_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties) { - GObject * obj; - GObjectClass * parent_class; - GamesGamepadConfigurer * self; - GamesGamepadMappingsManager* _tmp0_; - parent_class = G_OBJECT_CLASS (games_gamepad_configurer_parent_class); - obj = parent_class->constructor (type, n_construct_properties, construct_properties); - self = G_TYPE_CHECK_INSTANCE_CAST (obj, GAMES_TYPE_GAMEPAD_CONFIGURER, GamesGamepadConfigurer); - _tmp0_ = games_gamepad_mappings_manager_get_instance (); - _g_object_unref0 (self->priv->mappings_manager); - self->priv->mappings_manager = _tmp0_; - return obj; -} - - static void games_gamepad_configurer_class_init (GamesGamepadConfigurerClass * klass) { gint GamesGamepadConfigurer_private_offset; games_gamepad_configurer_parent_class = g_type_class_peek_parent (klass); g_type_class_add_private (klass, sizeof (GamesGamepadConfigurerPrivate)); G_OBJECT_CLASS (klass)->get_property = _vala_games_gamepad_configurer_get_property; G_OBJECT_CLASS (klass)->set_property = _vala_games_gamepad_configurer_set_property; - G_OBJECT_CLASS (klass)->constructor = games_gamepad_configurer_constructor; G_OBJECT_CLASS (klass)->finalize = games_gamepad_configurer_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_GAMEPAD_CONFIGURER_HEADER_BAR_PROPERTY, games_gamepad_configurer_properties[GAMES_GAMEPAD_CONFIGURER_HEADER_BAR_PROPERTY] = g_param_spec_object ("header-bar", "header-bar", "header-bar", gtk_header_bar_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_GAMEPAD_CONFIGURER_IMMERSIVE_MODE_PROPERTY, games_gamepad_configurer_properties[GAMES_GAMEPAD_CONFIGURER_IMMERSIVE_MODE_PROPERTY] = g_param_spec_boolean ("immersive-mode", "immersive-mode", "immersive-mode", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_GAMEPAD_CONFIGURER_HEADER_BAR_PROPERTY, g_param_spec_object ("header-bar", "header-bar", "header-bar", gtk_header_bar_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_GAMEPAD_CONFIGURER_IMMERSIVE_MODE_PROPERTY, g_param_spec_boolean ("immersive-mode", "immersive-mode", "immersive-mode", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); GamesGamepadConfigurer_private_offset = g_type_class_get_instance_private_offset (klass); gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/Games/ui/gamepad-configurer.ui"); games_gamepad_configurer_signals[GAMES_GAMEPAD_CONFIGURER_BACK_SIGNAL] = g_signal_new ("back", GAMES_TYPE_GAMEPAD_CONFIGURER, G_SIGNAL_RUN_LAST, 0, NULL, NULL, g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0); @@ -712,10 +596,9 @@ _g_object_unref0 (self->priv->reset_button); _g_object_unref0 (self->priv->back_button); _g_object_unref0 (self->priv->cancel_button); - _g_object_unref0 (self->priv->gamepad); + _g_object_unref0 (self->priv->device); _g_object_unref0 (self->priv->mapper); _g_object_unref0 (self->priv->tester); - _g_object_unref0 (self->priv->mappings_manager); G_OBJECT_CLASS (games_gamepad_configurer_parent_class)->finalize (obj); } diff -Nru gnome-games-app-3.26.2/src/ui/gamepad-configurer.vala gnome-games-app-3.28.0/src/ui/gamepad-configurer.vala --- gnome-games-app-3.26.2/src/ui/gamepad-configurer.vala 2017-09-21 12:48:06.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/gamepad-configurer.vala 2018-01-30 09:48:30.000000000 +0000 @@ -69,14 +69,13 @@ switch (value) { case State.TEST: - var user_mapping = mappings_manager.get_user_mapping (gamepad.guid); - reset_button.set_sensitive (user_mapping != null); + reset_button.set_sensitive (device.has_user_mapping ()); back_button.show (); cancel_button.hide (); action_bar.show (); /* translators: testing a gamepad, %s is its name */ - header_bar.title = _("Testing %s").printf (gamepad.name); + header_bar.title = _("Testing %s").printf (device.get_name ()); header_bar.get_style_context ().remove_class ("selection-mode"); stack.set_visible_child_name ("gamepad_tester"); @@ -90,7 +89,7 @@ cancel_button.show (); action_bar.hide (); /* translators: configuring a gamepad, %s is its name */ - header_bar.title = _("Configuring %s").printf (gamepad.name); + header_bar.title = _("Configuring %s").printf (device.get_name ()); header_bar.get_style_context ().add_class ("selection-mode"); stack.set_visible_child_name ("gamepad_mapper"); @@ -128,20 +127,15 @@ [GtkChild] private Gtk.Button cancel_button; - private Gamepad gamepad; + private Manette.Device device; private GamepadMapper mapper; private GamepadTester tester; - private GamepadMappingsManager mappings_manager; - construct { - mappings_manager = GamepadMappingsManager.get_instance (); - } - - public GamepadConfigurer (Gamepad gamepad) { - this.gamepad = gamepad; - mapper = new GamepadMapper (gamepad, STANDARD_GAMEPAD_VIEW_CONFIGURATION, STANDARD_GAMEPAD_INPUTS); + public GamepadConfigurer (Manette.Device device) { + this.device = device; + mapper = new GamepadMapper (device, STANDARD_GAMEPAD_VIEW_CONFIGURATION, STANDARD_GAMEPAD_INPUTS); gamepad_mapper_holder.pack_start (mapper); - tester = new GamepadTester (gamepad, STANDARD_GAMEPAD_VIEW_CONFIGURATION); + tester = new GamepadTester (device, STANDARD_GAMEPAD_VIEW_CONFIGURATION); gamepad_tester_holder.pack_start (tester); state = State.TEST; @@ -173,9 +167,7 @@ message_dialog.response.connect ((response) => { switch (response) { case Gtk.ResponseType.ACCEPT: - mappings_manager.delete_mapping (gamepad.guid); - var sdl_string = mappings_manager.get_default_mapping (gamepad.guid); - set_gamepad_mapping (sdl_string); + device.remove_user_mapping (); reset_button.set_sensitive (false); break; @@ -189,24 +181,7 @@ } private void on_mapper_finished (string sdl_string) { - mappings_manager.save_mapping (gamepad.guid, gamepad.name, sdl_string); - set_gamepad_mapping (sdl_string); - + device.save_user_mapping (sdl_string); state = State.TEST; } - - private void set_gamepad_mapping (string? sdl_string) { - if (sdl_string == null) { - gamepad.set_mapping (null); - - return; - } - try { - var mapping = new GamepadMapping.from_sdl_string (sdl_string); - gamepad.set_mapping (mapping); - } - catch (Error e) { - critical (e.message); - } - } } diff -Nru gnome-games-app-3.26.2/src/ui/gamepad-mapper.c gnome-games-app-3.28.0/src/ui/gamepad-mapper.c --- gnome-games-app-3.26.2/src/ui/gamepad-mapper.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/gamepad-mapper.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* gamepad-mapper.c generated by valac 0.38.2, the Vala compiler +/* gamepad-mapper.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from gamepad-mapper.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -6,12 +6,12 @@ #include #include #include -#include -#include +#include #include #include -#include #include +#include +#include #include @@ -45,11 +45,9 @@ typedef struct _GamesGamepadMappingBuilder GamesGamepadMappingBuilder; typedef struct _GamesGamepadMappingBuilderClass GamesGamepadMappingBuilderClass; -enum { - GAMES_GAMEPAD_MAPPER_DUMMY_PROPERTY, - GAMES_GAMEPAD_MAPPER_LAST_PROPERTY -}; -static GParamSpec* games_gamepad_mapper_properties[GAMES_GAMEPAD_MAPPER_LAST_PROPERTY]; + +#define GAMES_TYPE_GAMEPAD_INPUT (games_gamepad_input_get_type ()) +typedef struct _GamesGamepadInput GamesGamepadInput; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define GAMES_TYPE_GAMEPAD_VIEW_CONFIGURATION (games_gamepad_view_configuration_get_type ()) @@ -61,9 +59,9 @@ #define _g_free0(var) (var = (g_free (var), NULL)) enum { GAMES_GAMEPAD_MAPPER_FINISHED_SIGNAL, - GAMES_GAMEPAD_MAPPER_LAST_SIGNAL + GAMES_GAMEPAD_MAPPER_NUM_SIGNALS }; -static guint games_gamepad_mapper_signals[GAMES_GAMEPAD_MAPPER_LAST_SIGNAL] = {0}; +static guint games_gamepad_mapper_signals[GAMES_GAMEPAD_MAPPER_NUM_SIGNALS] = {0}; struct _GamesGamepadMapper { GtkBox parent_instance; @@ -74,10 +72,15 @@ GtkBoxClass parent_class; }; +struct _GamesGamepadInput { + guint16 type; + guint16 code; +}; + struct _GamesGamepadMapperPrivate { GamesGamepadView* gamepad_view; GtkLabel* info_message; - GamesGamepad* gamepad; + ManetteDevice* device; GamesGamepadMappingBuilder* mapping_builder; GamesGamepadInput* mapping_inputs; gint mapping_inputs_length1; @@ -105,7 +108,13 @@ GType games_gamepad_mapper_get_type (void) G_GNUC_CONST; GType games_gamepad_view_get_type (void) G_GNUC_CONST; GType games_gamepad_mapping_builder_get_type (void) G_GNUC_CONST; +GType games_gamepad_input_get_type (void) G_GNUC_CONST; +GamesGamepadInput* games_gamepad_input_dup (const GamesGamepadInput* self); +void games_gamepad_input_free (GamesGamepadInput* self); #define GAMES_GAMEPAD_MAPPER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_GAMEPAD_MAPPER, GamesGamepadMapperPrivate)) +enum { + GAMES_GAMEPAD_MAPPER_0_PROPERTY +}; GType games_gamepad_view_configuration_get_type (void) G_GNUC_CONST; GType games_gamepad_input_path_get_type (void) G_GNUC_CONST; GamesGamepadInputPath* games_gamepad_input_path_dup (const GamesGamepadInputPath* self); @@ -116,9 +125,9 @@ void games_gamepad_view_configuration_free (GamesGamepadViewConfiguration* self); void games_gamepad_view_configuration_copy (const GamesGamepadViewConfiguration* self, GamesGamepadViewConfiguration* dest); void games_gamepad_view_configuration_destroy (GamesGamepadViewConfiguration* self); -GamesGamepadMapper* games_gamepad_mapper_new (GamesGamepad* gamepad, GamesGamepadViewConfiguration* configuration, GamesGamepadInput* mapping_inputs, int mapping_inputs_length1); -GamesGamepadMapper* games_gamepad_mapper_construct (GType object_type, GamesGamepad* gamepad, GamesGamepadViewConfiguration* configuration, GamesGamepadInput* mapping_inputs, int mapping_inputs_length1); -static GamesGamepadInput* _vala_array_dup9 (GamesGamepadInput* self, int length); +GamesGamepadMapper* games_gamepad_mapper_new (ManetteDevice* device, GamesGamepadViewConfiguration* configuration, GamesGamepadInput* mapping_inputs, int mapping_inputs_length1); +GamesGamepadMapper* games_gamepad_mapper_construct (GType object_type, ManetteDevice* device, GamesGamepadViewConfiguration* configuration, GamesGamepadInput* mapping_inputs, int mapping_inputs_length1); +static GamesGamepadInput* _vala_array_dup13 (GamesGamepadInput* self, int length); void games_gamepad_view_set_configuration (GamesGamepadView* self, GamesGamepadViewConfiguration* configuration, GError** error); void games_gamepad_mapper_start (GamesGamepadMapper* self); GamesGamepadMappingBuilder* games_gamepad_mapping_builder_new (void); @@ -129,11 +138,8 @@ static void games_gamepad_mapper_disconnect_from_gamepad (GamesGamepadMapper* self); static void games_gamepad_mapper_on_skip_clicked (GamesGamepadMapper* self); static void _games_gamepad_mapper_on_skip_clicked_gtk_button_clicked (GtkButton* _sender, gpointer self); -static void __lambda27_ (GamesGamepadMapper* self, GamesEvent* event); -static void games_gamepad_mapper_on_button_event (GamesGamepadMapper* self, GamesEventGamepadButton* event); -static void games_gamepad_mapper_on_axis_event (GamesGamepadMapper* self, GamesEventGamepadAxis* event); -static void games_gamepad_mapper_on_hat_event (GamesGamepadMapper* self, GamesEventGamepadHat* event); -static void ___lambda27__games_gamepad_event (GamesGamepad* _sender, GamesEvent* event, gpointer self); +static void games_gamepad_mapper_on_event (GamesGamepadMapper* self, ManetteEvent* event); +static void _games_gamepad_mapper_on_event_manette_device_event (ManetteDevice* _sender, ManetteEvent* event, gpointer self); gboolean games_gamepad_mapping_builder_set_button_mapping (GamesGamepadMappingBuilder* self, guint8 hardware_index, GamesGamepadInput* source); gboolean games_gamepad_mapping_builder_set_axis_mapping (GamesGamepadMappingBuilder* self, guint8 hardware_index, GamesGamepadInput* source); gboolean games_gamepad_mapping_builder_set_hat_mapping (GamesGamepadMappingBuilder* self, guint8 hardware_index, gint32 value, GamesGamepadInput* source); @@ -149,30 +155,30 @@ } -static GamesGamepadInput* _vala_array_dup9 (GamesGamepadInput* self, int length) { +static GamesGamepadInput* _vala_array_dup13 (GamesGamepadInput* self, int length) { return g_memdup (self, length * sizeof (GamesGamepadInput)); } -GamesGamepadMapper* games_gamepad_mapper_construct (GType object_type, GamesGamepad* gamepad, GamesGamepadViewConfiguration* configuration, GamesGamepadInput* mapping_inputs, int mapping_inputs_length1) { +GamesGamepadMapper* games_gamepad_mapper_construct (GType object_type, ManetteDevice* device, GamesGamepadViewConfiguration* configuration, GamesGamepadInput* mapping_inputs, int mapping_inputs_length1) { GamesGamepadMapper * self = NULL; - GamesGamepad* _tmp0_; - GamesGamepad* _tmp1_; + ManetteDevice* _tmp0_; + ManetteDevice* _tmp1_; GamesGamepadInput* _tmp2_; gint _tmp2__length1; GamesGamepadInput* _tmp3_; gint _tmp3__length1; GError * _inner_error_ = NULL; - g_return_val_if_fail (gamepad != NULL, NULL); + g_return_val_if_fail (device != NULL, NULL); g_return_val_if_fail (configuration != NULL, NULL); self = (GamesGamepadMapper*) g_object_new (object_type, NULL); - _tmp0_ = gamepad; + _tmp0_ = device; _tmp1_ = _g_object_ref0 (_tmp0_); - _g_object_unref0 (self->priv->gamepad); - self->priv->gamepad = _tmp1_; + _g_object_unref0 (self->priv->device); + self->priv->device = _tmp1_; _tmp2_ = mapping_inputs; _tmp2__length1 = mapping_inputs_length1; - _tmp3_ = (_tmp2_ != NULL) ? _vala_array_dup9 (_tmp2_, _tmp2__length1) : ((gpointer) _tmp2_); + _tmp3_ = (_tmp2_ != NULL) ? _vala_array_dup13 (_tmp2_, _tmp2__length1) : ((gpointer) _tmp2_); _tmp3__length1 = _tmp2__length1; self->priv->mapping_inputs = (g_free (self->priv->mapping_inputs), NULL); self->priv->mapping_inputs = _tmp3_; @@ -185,11 +191,11 @@ _tmp5_ = *configuration; games_gamepad_view_set_configuration (_tmp4_, &_tmp5_, &_inner_error_); if (G_UNLIKELY (_inner_error_ != NULL)) { - goto __catch35_g_error; + goto __catch34_g_error; } } - goto __finally35; - __catch35_g_error: + goto __finally34; + __catch34_g_error: { GError* e = NULL; GError* _tmp6_; @@ -201,7 +207,7 @@ g_critical ("gamepad-mapper.vala:27: Could not set up gamepad view: %s", _tmp7_); _g_error_free0 (e); } - __finally35: + __finally34: if (G_UNLIKELY (_inner_error_ != NULL)) { g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); @@ -211,8 +217,8 @@ } -GamesGamepadMapper* games_gamepad_mapper_new (GamesGamepad* gamepad, GamesGamepadViewConfiguration* configuration, GamesGamepadInput* mapping_inputs, int mapping_inputs_length1) { - return games_gamepad_mapper_construct (GAMES_TYPE_GAMEPAD_MAPPER, gamepad, configuration, mapping_inputs, mapping_inputs_length1); +GamesGamepadMapper* games_gamepad_mapper_new (ManetteDevice* device, GamesGamepadViewConfiguration* configuration, GamesGamepadInput* mapping_inputs, int mapping_inputs_length1) { + return games_gamepad_mapper_construct (GAMES_TYPE_GAMEPAD_MAPPER, device, configuration, mapping_inputs, mapping_inputs_length1); } @@ -245,65 +251,17 @@ } -static void __lambda27_ (GamesGamepadMapper* self, GamesEvent* event) { - GamesEvent* _tmp0_; - GamesEventType _tmp1_; - g_return_if_fail (event != NULL); - _tmp0_ = event; - _tmp1_ = _tmp0_->type; - switch (_tmp1_) { - case GAMES_EVENT_GAMEPAD_BUTTON_RELEASE: - { - GamesEvent* _tmp2_; - GamesEventGamepadButton* _tmp3_; - GamesEventGamepadButton* _tmp4_; - _tmp2_ = event; - _tmp3_ = (GamesEventGamepadButton *) (_tmp2_); - _tmp4_ = _tmp3_; - games_gamepad_mapper_on_button_event (self, _tmp4_); - break; - } - case GAMES_EVENT_GAMEPAD_AXIS: - { - GamesEvent* _tmp5_; - GamesEventGamepadAxis* _tmp6_; - GamesEventGamepadAxis* _tmp7_; - _tmp5_ = event; - _tmp6_ = (GamesEventGamepadAxis *) (_tmp5_); - _tmp7_ = _tmp6_; - games_gamepad_mapper_on_axis_event (self, _tmp7_); - break; - } - case GAMES_EVENT_GAMEPAD_HAT: - { - GamesEvent* _tmp8_; - GamesEventGamepadHat* _tmp9_; - GamesEventGamepadHat* _tmp10_; - _tmp8_ = event; - _tmp9_ = (GamesEventGamepadHat *) (_tmp8_); - _tmp10_ = _tmp9_; - games_gamepad_mapper_on_hat_event (self, _tmp10_); - break; - } - default: - { - break; - } - } -} - - -static void ___lambda27__games_gamepad_event (GamesGamepad* _sender, GamesEvent* event, gpointer self) { - __lambda27_ ((GamesGamepadMapper*) self, event); +static void _games_gamepad_mapper_on_event_manette_device_event (ManetteDevice* _sender, ManetteEvent* event, gpointer self) { + games_gamepad_mapper_on_event ((GamesGamepadMapper*) self, event); } static void games_gamepad_mapper_connect_to_gamepad (GamesGamepadMapper* self) { - GamesGamepad* _tmp0_; + ManetteDevice* _tmp0_; gulong _tmp1_; g_return_if_fail (self != NULL); - _tmp0_ = self->priv->gamepad; - _tmp1_ = g_signal_connect_object (_tmp0_, "event", (GCallback) ___lambda27__games_gamepad_event, self, 0); + _tmp0_ = self->priv->device; + _tmp1_ = g_signal_connect_object (_tmp0_, "event", (GCallback) _games_gamepad_mapper_on_event_manette_device_event, self, 0); self->priv->gamepad_event_handler_id = _tmp1_; } @@ -313,9 +271,9 @@ g_return_if_fail (self != NULL); _tmp0_ = self->priv->gamepad_event_handler_id; if (_tmp0_ != ((gulong) 0)) { - GamesGamepad* _tmp1_; + ManetteDevice* _tmp1_; gulong _tmp2_; - _tmp1_ = self->priv->gamepad; + _tmp1_ = self->priv->device; _tmp2_ = self->priv->gamepad_event_handler_id; g_signal_handler_disconnect ((GObject*) _tmp1_, _tmp2_); self->priv->gamepad_event_handler_id = (gulong) 0; @@ -323,131 +281,123 @@ } -static void games_gamepad_mapper_on_button_event (GamesGamepadMapper* self, GamesEventGamepadButton* event) { - GamesGamepadInput _tmp0_; - guint16 _tmp1_; - gboolean success = FALSE; - GamesGamepadMappingBuilder* _tmp2_; - GamesEventGamepadButton* _tmp3_; - GamesEventGamepadButton* _tmp4_; - GamesEventGamepadButton* _tmp5_; - guint8 _tmp6_; - GamesGamepadInput _tmp7_; - gboolean _tmp8_; - gboolean _tmp9_; - g_return_if_fail (self != NULL); - g_return_if_fail (event != NULL); - _tmp0_ = self->priv->input; - _tmp1_ = _tmp0_.type; - if (_tmp1_ == EV_ABS) { - return; - } - _tmp2_ = self->priv->mapping_builder; - _tmp3_ = event; - _tmp4_ = (GamesEventGamepadButton *) ((GamesEvent*) _tmp3_); - _tmp5_ = _tmp4_; - _tmp6_ = _tmp5_->hardware_index; - _tmp7_ = self->priv->input; - _tmp8_ = games_gamepad_mapping_builder_set_button_mapping (_tmp2_, _tmp6_, &_tmp7_); - success = _tmp8_; - _tmp9_ = success; - if (!_tmp9_) { - return; - } - games_gamepad_mapper_next_input (self); -} - - -static void games_gamepad_mapper_on_axis_event (GamesGamepadMapper* self, GamesEventGamepadAxis* event) { - GamesGamepadInput _tmp0_; - guint16 _tmp1_; - GamesEventGamepadAxis* _tmp2_; - GamesEventGamepadAxis* _tmp3_; - GamesEventGamepadAxis* _tmp4_; - gdouble _tmp5_; - gdouble _tmp6_; - gboolean success = FALSE; - GamesGamepadMappingBuilder* _tmp7_; - GamesEventGamepadAxis* _tmp8_; - GamesEventGamepadAxis* _tmp9_; - GamesEventGamepadAxis* _tmp10_; - guint8 _tmp11_; - GamesGamepadInput _tmp12_; - gboolean _tmp13_; - gboolean _tmp14_; - g_return_if_fail (self != NULL); - g_return_if_fail (event != NULL); - _tmp0_ = self->priv->input; - _tmp1_ = _tmp0_.type; - if (_tmp1_ == EV_KEY) { - return; - } - _tmp2_ = event; - _tmp3_ = (GamesEventGamepadAxis *) ((GamesEvent*) _tmp2_); - _tmp4_ = _tmp3_; - _tmp5_ = _tmp4_->value; - _tmp6_ = _tmp5_; - if (((-0.8) < _tmp6_) && (_tmp6_ < 0.8)) { - return; - } - _tmp7_ = self->priv->mapping_builder; - _tmp8_ = event; - _tmp9_ = (GamesEventGamepadAxis *) ((GamesEvent*) _tmp8_); - _tmp10_ = _tmp9_; - _tmp11_ = _tmp10_->hardware_index; - _tmp12_ = self->priv->input; - _tmp13_ = games_gamepad_mapping_builder_set_axis_mapping (_tmp7_, _tmp11_, &_tmp12_); - success = _tmp13_; - _tmp14_ = success; - if (!_tmp14_) { - return; - } - games_gamepad_mapper_next_input (self); -} - - -static void games_gamepad_mapper_on_hat_event (GamesGamepadMapper* self, GamesEventGamepadHat* event) { - GamesEventGamepadHat* _tmp0_; - GamesEventGamepadHat* _tmp1_; - GamesEventGamepadHat* _tmp2_; - gint8 _tmp3_; - gboolean success = FALSE; - GamesGamepadMappingBuilder* _tmp4_; - GamesEventGamepadHat* _tmp5_; - GamesEventGamepadHat* _tmp6_; - GamesEventGamepadHat* _tmp7_; - guint8 _tmp8_; - GamesEventGamepadHat* _tmp9_; - GamesEventGamepadHat* _tmp10_; - GamesEventGamepadHat* _tmp11_; - gint8 _tmp12_; - GamesGamepadInput _tmp13_; - gboolean _tmp14_; - gboolean _tmp15_; +static void games_gamepad_mapper_on_event (GamesGamepadMapper* self, ManetteEvent* event) { + ManetteEvent* _tmp0_; + ManetteEventType _tmp1_; g_return_if_fail (self != NULL); g_return_if_fail (event != NULL); _tmp0_ = event; - _tmp1_ = (GamesEventGamepadHat *) ((GamesEvent*) _tmp0_); - _tmp2_ = _tmp1_; - _tmp3_ = _tmp2_->value; - if (((gint) _tmp3_) == 0) { - return; - } - _tmp4_ = self->priv->mapping_builder; - _tmp5_ = event; - _tmp6_ = (GamesEventGamepadHat *) ((GamesEvent*) _tmp5_); - _tmp7_ = _tmp6_; - _tmp8_ = _tmp7_->hardware_index; - _tmp9_ = event; - _tmp10_ = (GamesEventGamepadHat *) ((GamesEvent*) _tmp9_); - _tmp11_ = _tmp10_; - _tmp12_ = _tmp11_->value; - _tmp13_ = self->priv->input; - _tmp14_ = games_gamepad_mapping_builder_set_hat_mapping (_tmp4_, _tmp8_, (gint32) _tmp12_, &_tmp13_); - success = _tmp14_; - _tmp15_ = success; - if (!_tmp15_) { - return; + _tmp1_ = manette_event_get_event_type (_tmp0_); + switch (_tmp1_) { + case MANETTE_EVENT_BUTTON_RELEASE: + { + GamesGamepadInput _tmp2_; + guint16 _tmp3_; + GamesGamepadMappingBuilder* _tmp4_; + ManetteEvent* _tmp5_; + guint16 _tmp6_; + GamesGamepadInput _tmp7_; + gboolean _tmp8_; + _tmp2_ = self->priv->input; + _tmp3_ = _tmp2_.type; + if (_tmp3_ == EV_ABS) { + return; + } + _tmp4_ = self->priv->mapping_builder; + _tmp5_ = event; + _tmp6_ = manette_event_get_hardware_index (_tmp5_); + _tmp7_ = self->priv->input; + _tmp8_ = games_gamepad_mapping_builder_set_button_mapping (_tmp4_, (guint8) _tmp6_, &_tmp7_); + if (!_tmp8_) { + return; + } + break; + } + case MANETTE_EVENT_ABSOLUTE: + { + guint16 axis = 0U; + gdouble value = 0.0; + GamesGamepadInput _tmp9_; + guint16 _tmp10_; + ManetteEvent* _tmp11_; + guint16 _tmp12_ = 0U; + gdouble _tmp13_ = 0.0; + gboolean _tmp14_; + gdouble _tmp15_; + gdouble _tmp16_; + GamesGamepadMappingBuilder* _tmp17_; + ManetteEvent* _tmp18_; + guint16 _tmp19_; + GamesGamepadInput _tmp20_; + gboolean _tmp21_; + _tmp9_ = self->priv->input; + _tmp10_ = _tmp9_.type; + if (_tmp10_ == EV_KEY) { + return; + } + _tmp11_ = event; + _tmp14_ = manette_event_get_absolute (_tmp11_, &_tmp12_, &_tmp13_); + axis = _tmp12_; + value = _tmp13_; + if (!_tmp14_) { + return; + } + _tmp15_ = value; + _tmp16_ = _tmp15_; + if (((-0.8) < _tmp16_) && (_tmp16_ < 0.8)) { + return; + } + _tmp17_ = self->priv->mapping_builder; + _tmp18_ = event; + _tmp19_ = manette_event_get_hardware_index (_tmp18_); + _tmp20_ = self->priv->input; + _tmp21_ = games_gamepad_mapping_builder_set_axis_mapping (_tmp17_, (guint8) _tmp19_, &_tmp20_); + if (!_tmp21_) { + return; + } + break; + } + case MANETTE_EVENT_HAT: + { + guint16 axis = 0U; + gint8 value = 0; + ManetteEvent* _tmp22_; + guint16 _tmp23_ = 0U; + gint8 _tmp24_ = 0; + gboolean _tmp25_; + gint8 _tmp26_; + GamesGamepadMappingBuilder* _tmp27_; + ManetteEvent* _tmp28_; + guint16 _tmp29_; + gint8 _tmp30_; + GamesGamepadInput _tmp31_; + gboolean _tmp32_; + _tmp22_ = event; + _tmp25_ = manette_event_get_hat (_tmp22_, &_tmp23_, &_tmp24_); + axis = _tmp23_; + value = _tmp24_; + if (!_tmp25_) { + return; + } + _tmp26_ = value; + if (((gint) _tmp26_) == 0) { + return; + } + _tmp27_ = self->priv->mapping_builder; + _tmp28_ = event; + _tmp29_ = manette_event_get_hardware_index (_tmp28_); + _tmp30_ = value; + _tmp31_ = self->priv->input; + _tmp32_ = games_gamepad_mapping_builder_set_hat_mapping (_tmp27_, (guint8) _tmp29_, (gint32) _tmp30_, &_tmp31_); + if (!_tmp32_) { + return; + } + break; + } + default: + { + return; + } } games_gamepad_mapper_next_input (self); } @@ -587,7 +537,7 @@ self = G_TYPE_CHECK_INSTANCE_CAST (obj, GAMES_TYPE_GAMEPAD_MAPPER, GamesGamepadMapper); _g_object_unref0 (self->priv->gamepad_view); _g_object_unref0 (self->priv->info_message); - _g_object_unref0 (self->priv->gamepad); + _g_object_unref0 (self->priv->device); _g_object_unref0 (self->priv->mapping_builder); self->priv->mapping_inputs = (g_free (self->priv->mapping_inputs), NULL); G_OBJECT_CLASS (games_gamepad_mapper_parent_class)->finalize (obj); diff -Nru gnome-games-app-3.26.2/src/ui/gamepad-mapper.vala gnome-games-app-3.28.0/src/ui/gamepad-mapper.vala --- gnome-games-app-3.26.2/src/ui/gamepad-mapper.vala 2017-09-21 12:48:06.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/gamepad-mapper.vala 2018-01-30 09:48:30.000000000 +0000 @@ -9,7 +9,7 @@ [GtkChild] private Gtk.Label info_message; - private Gamepad gamepad; + private Manette.Device device; private GamepadMappingBuilder mapping_builder; private GamepadInput[] mapping_inputs; private GamepadInput input; @@ -17,8 +17,8 @@ private ulong gamepad_event_handler_id; - public GamepadMapper (Gamepad gamepad, GamepadViewConfiguration configuration, GamepadInput[] mapping_inputs) { - this.gamepad = gamepad; + public GamepadMapper (Manette.Device device, GamepadViewConfiguration configuration, GamepadInput[] mapping_inputs) { + this.device = device; this.mapping_inputs = mapping_inputs; try { gamepad_view.set_configuration (configuration); @@ -46,69 +46,64 @@ } private void connect_to_gamepad () { - gamepad_event_handler_id = gamepad.event.connect ((event) => { - switch (event.type) { - case EventType.EVENT_GAMEPAD_BUTTON_RELEASE: - on_button_event (event.gamepad_button); - - break; - case EventType.EVENT_GAMEPAD_AXIS: - on_axis_event (event.gamepad_axis); - - break; - case EventType.EVENT_GAMEPAD_HAT: - on_hat_event (event.gamepad_hat); - - break; - default: - break; - } - }); + gamepad_event_handler_id = device.event.connect (on_event); } private void disconnect_from_gamepad () { if (gamepad_event_handler_id != 0) { - gamepad.disconnect (gamepad_event_handler_id); + device.disconnect (gamepad_event_handler_id); gamepad_event_handler_id = 0; } } - private void on_button_event (EventGamepadButton event) { - if (input.type == EventCode.EV_ABS) - return; - - var success = mapping_builder.set_button_mapping (event.gamepad_button.hardware_index, - input); - if (!success) - return; - - next_input (); - } - - private void on_axis_event (EventGamepadAxis event) { - if (input.type == EventCode.EV_KEY) - return; - - if (-0.8 < event.gamepad_axis.value < 0.8) - return; + private void on_event (Manette.Event event) { + switch (event.get_event_type ()) { + case Manette.EventType.EVENT_BUTTON_RELEASE: + if (input.type == EventCode.EV_ABS) + return; + + if (!mapping_builder.set_button_mapping ((uint8) event.get_hardware_index (), + input)) + return; + + break; + case Manette.EventType.EVENT_ABSOLUTE: + uint16 axis; + double value; + + if (input.type == EventCode.EV_KEY) + return; + + if (!event.get_absolute (out axis, out value)) + return; + + if (-0.8 < value < 0.8) + return; + + if (!mapping_builder.set_axis_mapping ((uint8) event.get_hardware_index (), + input)) + return; + + break; + case Manette.EventType.EVENT_HAT: + uint16 axis; + int8 value; + + if (!event.get_hat (out axis, out value)) + return; + + if (value == 0) + return; + + if (!mapping_builder.set_hat_mapping ((uint8) event.get_hardware_index (), + value, + input)) + return; - var success = mapping_builder.set_axis_mapping (event.gamepad_axis.hardware_index, - input); - if (!success) - return; - - next_input (); - } - - private void on_hat_event (EventGamepadHat event) { - if (event.gamepad_hat.value == 0) - return; - - var success = mapping_builder.set_hat_mapping (event.gamepad_hat.hardware_index, - event.gamepad_hat.value, - input); - if (!success) + break; + default: return; + } next_input (); } diff -Nru gnome-games-app-3.26.2/src/ui/gamepad-tester.c gnome-games-app-3.28.0/src/ui/gamepad-tester.c --- gnome-games-app-3.26.2/src/ui/gamepad-tester.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/gamepad-tester.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* gamepad-tester.c generated by valac 0.38.2, the Vala compiler +/* gamepad-tester.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from gamepad-tester.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -6,12 +6,12 @@ #include #include #include -#include +#include #include #include -#include -#include #include +#include +#include #define GAMES_TYPE_GAMEPAD_TESTER (games_gamepad_tester_get_type ()) @@ -34,16 +34,14 @@ typedef struct _GamesGamepadView GamesGamepadView; typedef struct _GamesGamepadViewClass GamesGamepadViewClass; -enum { - GAMES_GAMEPAD_TESTER_DUMMY_PROPERTY, - GAMES_GAMEPAD_TESTER_LAST_PROPERTY -}; -static GParamSpec* games_gamepad_tester_properties[GAMES_GAMEPAD_TESTER_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define GAMES_TYPE_GAMEPAD_VIEW_CONFIGURATION (games_gamepad_view_configuration_get_type ()) #define GAMES_TYPE_GAMEPAD_INPUT_PATH (games_gamepad_input_path_get_type ()) + +#define GAMES_TYPE_GAMEPAD_INPUT (games_gamepad_input_get_type ()) +typedef struct _GamesGamepadInput GamesGamepadInput; typedef struct _GamesGamepadInputPath GamesGamepadInputPath; typedef struct _GamesGamepadViewConfiguration GamesGamepadViewConfiguration; #define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) @@ -59,11 +57,15 @@ struct _GamesGamepadTesterPrivate { GamesGamepadView* gamepad_view; - GamesGamepad* gamepad; + ManetteDevice* device; gulong gamepad_button_press_event_handler_id; gulong gamepad_button_release_event_handler_id; gulong gamepad_axis_event_handler_id; - gulong gamepad_hat_event_handler_id; +}; + +struct _GamesGamepadInput { + guint16 type; + guint16 code; }; struct _GamesGamepadInputPath { @@ -84,8 +86,14 @@ GType games_gamepad_tester_get_type (void) G_GNUC_CONST; GType games_gamepad_view_get_type (void) G_GNUC_CONST; #define GAMES_GAMEPAD_TESTER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_GAMEPAD_TESTER, GamesGamepadTesterPrivate)) +enum { + GAMES_GAMEPAD_TESTER_0_PROPERTY +}; GType games_gamepad_view_configuration_get_type (void) G_GNUC_CONST; GType games_gamepad_input_path_get_type (void) G_GNUC_CONST; +GType games_gamepad_input_get_type (void) G_GNUC_CONST; +GamesGamepadInput* games_gamepad_input_dup (const GamesGamepadInput* self); +void games_gamepad_input_free (GamesGamepadInput* self); GamesGamepadInputPath* games_gamepad_input_path_dup (const GamesGamepadInputPath* self); void games_gamepad_input_path_free (GamesGamepadInputPath* self); void games_gamepad_input_path_copy (const GamesGamepadInputPath* self, GamesGamepadInputPath* dest); @@ -94,25 +102,20 @@ void games_gamepad_view_configuration_free (GamesGamepadViewConfiguration* self); void games_gamepad_view_configuration_copy (const GamesGamepadViewConfiguration* self, GamesGamepadViewConfiguration* dest); void games_gamepad_view_configuration_destroy (GamesGamepadViewConfiguration* self); -GamesGamepadTester* games_gamepad_tester_new (GamesGamepad* gamepad, GamesGamepadViewConfiguration* configuration); -GamesGamepadTester* games_gamepad_tester_construct (GType object_type, GamesGamepad* gamepad, GamesGamepadViewConfiguration* configuration); +GamesGamepadTester* games_gamepad_tester_new (ManetteDevice* device, GamesGamepadViewConfiguration* configuration); +GamesGamepadTester* games_gamepad_tester_construct (GType object_type, ManetteDevice* device, GamesGamepadViewConfiguration* configuration); void games_gamepad_view_set_configuration (GamesGamepadView* self, GamesGamepadViewConfiguration* configuration, GError** error); void games_gamepad_tester_start (GamesGamepadTester* self); void games_gamepad_view_reset (GamesGamepadView* self); static void games_gamepad_tester_connect_to_gamepad (GamesGamepadTester* self); void games_gamepad_tester_stop (GamesGamepadTester* self); static void games_gamepad_tester_disconnect_from_gamepad (GamesGamepadTester* self); -static void __lambda28_ (GamesGamepadTester* self, GamesEvent* event); -static void games_gamepad_tester_on_button_event (GamesGamepadTester* self, GamesEventGamepadButton* event, gboolean pressed); -static void ___lambda28__games_gamepad_button_press_event (GamesGamepad* _sender, GamesEvent* event, gpointer self); -static void __lambda29_ (GamesGamepadTester* self, GamesEvent* event); -static void ___lambda29__games_gamepad_button_release_event (GamesGamepad* _sender, GamesEvent* event, gpointer self); -static void __lambda30_ (GamesGamepadTester* self, GamesEvent* event); -static void games_gamepad_tester_on_axis_event (GamesGamepadTester* self, GamesEventGamepadAxis* event); -static void ___lambda30__games_gamepad_axis_event (GamesGamepad* _sender, GamesEvent* event, gpointer self); -static void __lambda31_ (GamesGamepadTester* self, GamesEvent* event); -static void games_gamepad_tester_on_hat_event (GamesGamepadTester* self, GamesEventGamepadHat* event); -static void ___lambda31__games_gamepad_hat_event (GamesGamepad* _sender, GamesEvent* event, gpointer self); +static void games_gamepad_tester_on_button_press_event (GamesGamepadTester* self, ManetteEvent* event); +static void _games_gamepad_tester_on_button_press_event_manette_device_button_press_event (ManetteDevice* _sender, ManetteEvent* event, gpointer self); +static void games_gamepad_tester_on_button_release_event (GamesGamepadTester* self, ManetteEvent* event); +static void _games_gamepad_tester_on_button_release_event_manette_device_button_release_event (ManetteDevice* _sender, ManetteEvent* event, gpointer self); +static void games_gamepad_tester_on_absolute_axis_event (GamesGamepadTester* self, ManetteEvent* event); +static void _games_gamepad_tester_on_absolute_axis_event_manette_device_absolute_axis_event (ManetteDevice* _sender, ManetteEvent* event, gpointer self); gboolean games_gamepad_view_highlight (GamesGamepadView* self, GamesGamepadInput* input, gboolean highlight); static void games_gamepad_tester_finalize (GObject * obj); @@ -122,18 +125,18 @@ } -GamesGamepadTester* games_gamepad_tester_construct (GType object_type, GamesGamepad* gamepad, GamesGamepadViewConfiguration* configuration) { +GamesGamepadTester* games_gamepad_tester_construct (GType object_type, ManetteDevice* device, GamesGamepadViewConfiguration* configuration) { GamesGamepadTester * self = NULL; - GamesGamepad* _tmp0_; - GamesGamepad* _tmp1_; + ManetteDevice* _tmp0_; + ManetteDevice* _tmp1_; GError * _inner_error_ = NULL; - g_return_val_if_fail (gamepad != NULL, NULL); + g_return_val_if_fail (device != NULL, NULL); g_return_val_if_fail (configuration != NULL, NULL); self = (GamesGamepadTester*) g_object_new (object_type, NULL); - _tmp0_ = gamepad; + _tmp0_ = device; _tmp1_ = _g_object_ref0 (_tmp0_); - _g_object_unref0 (self->priv->gamepad); - self->priv->gamepad = _tmp1_; + _g_object_unref0 (self->priv->device); + self->priv->device = _tmp1_; { GamesGamepadView* _tmp2_; GamesGamepadViewConfiguration _tmp3_; @@ -141,11 +144,11 @@ _tmp3_ = *configuration; games_gamepad_view_set_configuration (_tmp2_, &_tmp3_, &_inner_error_); if (G_UNLIKELY (_inner_error_ != NULL)) { - goto __catch36_g_error; + goto __catch35_g_error; } } - goto __finally36; - __catch36_g_error: + goto __finally35; + __catch35_g_error: { GError* e = NULL; GError* _tmp4_; @@ -154,10 +157,10 @@ _inner_error_ = NULL; _tmp4_ = e; _tmp5_ = _tmp4_->message; - g_critical ("gamepad-tester.vala:21: Could not set up gamepad view: %s", _tmp5_); + g_critical ("gamepad-tester.vala:20: Could not set up gamepad view: %s", _tmp5_); _g_error_free0 (e); } - __finally36: + __finally35: if (G_UNLIKELY (_inner_error_ != NULL)) { g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); g_clear_error (&_inner_error_); @@ -167,8 +170,8 @@ } -GamesGamepadTester* games_gamepad_tester_new (GamesGamepad* gamepad, GamesGamepadViewConfiguration* configuration) { - return games_gamepad_tester_construct (GAMES_TYPE_GAMEPAD_TESTER, gamepad, configuration); +GamesGamepadTester* games_gamepad_tester_new (ManetteDevice* device, GamesGamepadViewConfiguration* configuration) { + return games_gamepad_tester_construct (GAMES_TYPE_GAMEPAD_TESTER, device, configuration); } @@ -187,96 +190,38 @@ } -static void __lambda28_ (GamesGamepadTester* self, GamesEvent* event) { - GamesEvent* _tmp0_; - GamesEventGamepadButton* _tmp1_; - GamesEventGamepadButton* _tmp2_; - g_return_if_fail (event != NULL); - _tmp0_ = event; - _tmp1_ = (GamesEventGamepadButton *) (_tmp0_); - _tmp2_ = _tmp1_; - games_gamepad_tester_on_button_event (self, _tmp2_, TRUE); -} - - -static void ___lambda28__games_gamepad_button_press_event (GamesGamepad* _sender, GamesEvent* event, gpointer self) { - __lambda28_ ((GamesGamepadTester*) self, event); -} - - -static void __lambda29_ (GamesGamepadTester* self, GamesEvent* event) { - GamesEvent* _tmp0_; - GamesEventGamepadButton* _tmp1_; - GamesEventGamepadButton* _tmp2_; - g_return_if_fail (event != NULL); - _tmp0_ = event; - _tmp1_ = (GamesEventGamepadButton *) (_tmp0_); - _tmp2_ = _tmp1_; - games_gamepad_tester_on_button_event (self, _tmp2_, FALSE); -} - - -static void ___lambda29__games_gamepad_button_release_event (GamesGamepad* _sender, GamesEvent* event, gpointer self) { - __lambda29_ ((GamesGamepadTester*) self, event); -} - - -static void __lambda30_ (GamesGamepadTester* self, GamesEvent* event) { - GamesEvent* _tmp0_; - GamesEventGamepadAxis* _tmp1_; - GamesEventGamepadAxis* _tmp2_; - g_return_if_fail (event != NULL); - _tmp0_ = event; - _tmp1_ = (GamesEventGamepadAxis *) (_tmp0_); - _tmp2_ = _tmp1_; - games_gamepad_tester_on_axis_event (self, _tmp2_); -} - - -static void ___lambda30__games_gamepad_axis_event (GamesGamepad* _sender, GamesEvent* event, gpointer self) { - __lambda30_ ((GamesGamepadTester*) self, event); +static void _games_gamepad_tester_on_button_press_event_manette_device_button_press_event (ManetteDevice* _sender, ManetteEvent* event, gpointer self) { + games_gamepad_tester_on_button_press_event ((GamesGamepadTester*) self, event); } -static void __lambda31_ (GamesGamepadTester* self, GamesEvent* event) { - GamesEvent* _tmp0_; - GamesEventGamepadHat* _tmp1_; - GamesEventGamepadHat* _tmp2_; - g_return_if_fail (event != NULL); - _tmp0_ = event; - _tmp1_ = (GamesEventGamepadHat *) (_tmp0_); - _tmp2_ = _tmp1_; - games_gamepad_tester_on_hat_event (self, _tmp2_); +static void _games_gamepad_tester_on_button_release_event_manette_device_button_release_event (ManetteDevice* _sender, ManetteEvent* event, gpointer self) { + games_gamepad_tester_on_button_release_event ((GamesGamepadTester*) self, event); } -static void ___lambda31__games_gamepad_hat_event (GamesGamepad* _sender, GamesEvent* event, gpointer self) { - __lambda31_ ((GamesGamepadTester*) self, event); +static void _games_gamepad_tester_on_absolute_axis_event_manette_device_absolute_axis_event (ManetteDevice* _sender, ManetteEvent* event, gpointer self) { + games_gamepad_tester_on_absolute_axis_event ((GamesGamepadTester*) self, event); } static void games_gamepad_tester_connect_to_gamepad (GamesGamepadTester* self) { - GamesGamepad* _tmp0_; + ManetteDevice* _tmp0_; gulong _tmp1_; - GamesGamepad* _tmp2_; + ManetteDevice* _tmp2_; gulong _tmp3_; - GamesGamepad* _tmp4_; + ManetteDevice* _tmp4_; gulong _tmp5_; - GamesGamepad* _tmp6_; - gulong _tmp7_; g_return_if_fail (self != NULL); - _tmp0_ = self->priv->gamepad; - _tmp1_ = g_signal_connect_object (_tmp0_, "button-press-event", (GCallback) ___lambda28__games_gamepad_button_press_event, self, 0); + _tmp0_ = self->priv->device; + _tmp1_ = g_signal_connect_object (_tmp0_, "button-press-event", (GCallback) _games_gamepad_tester_on_button_press_event_manette_device_button_press_event, self, 0); self->priv->gamepad_button_press_event_handler_id = _tmp1_; - _tmp2_ = self->priv->gamepad; - _tmp3_ = g_signal_connect_object (_tmp2_, "button-release-event", (GCallback) ___lambda29__games_gamepad_button_release_event, self, 0); + _tmp2_ = self->priv->device; + _tmp3_ = g_signal_connect_object (_tmp2_, "button-release-event", (GCallback) _games_gamepad_tester_on_button_release_event_manette_device_button_release_event, self, 0); self->priv->gamepad_button_release_event_handler_id = _tmp3_; - _tmp4_ = self->priv->gamepad; - _tmp5_ = g_signal_connect_object (_tmp4_, "axis-event", (GCallback) ___lambda30__games_gamepad_axis_event, self, 0); + _tmp4_ = self->priv->device; + _tmp5_ = g_signal_connect_object (_tmp4_, "absolute-axis-event", (GCallback) _games_gamepad_tester_on_absolute_axis_event_manette_device_absolute_axis_event, self, 0); self->priv->gamepad_axis_event_handler_id = _tmp5_; - _tmp6_ = self->priv->gamepad; - _tmp7_ = g_signal_connect_object (_tmp6_, "hat-event", (GCallback) ___lambda31__games_gamepad_hat_event, self, 0); - self->priv->gamepad_hat_event_handler_id = _tmp7_; } @@ -284,118 +229,110 @@ gulong _tmp0_; gulong _tmp3_; gulong _tmp6_; - gulong _tmp9_; g_return_if_fail (self != NULL); _tmp0_ = self->priv->gamepad_button_press_event_handler_id; if (_tmp0_ != ((gulong) 0)) { - GamesGamepad* _tmp1_; + ManetteDevice* _tmp1_; gulong _tmp2_; - _tmp1_ = self->priv->gamepad; + _tmp1_ = self->priv->device; _tmp2_ = self->priv->gamepad_button_press_event_handler_id; g_signal_handler_disconnect ((GObject*) _tmp1_, _tmp2_); self->priv->gamepad_button_press_event_handler_id = (gulong) 0; } _tmp3_ = self->priv->gamepad_button_release_event_handler_id; if (_tmp3_ != ((gulong) 0)) { - GamesGamepad* _tmp4_; + ManetteDevice* _tmp4_; gulong _tmp5_; - _tmp4_ = self->priv->gamepad; + _tmp4_ = self->priv->device; _tmp5_ = self->priv->gamepad_button_release_event_handler_id; g_signal_handler_disconnect ((GObject*) _tmp4_, _tmp5_); self->priv->gamepad_button_release_event_handler_id = (gulong) 0; } _tmp6_ = self->priv->gamepad_axis_event_handler_id; if (_tmp6_ != ((gulong) 0)) { - GamesGamepad* _tmp7_; + ManetteDevice* _tmp7_; gulong _tmp8_; - _tmp7_ = self->priv->gamepad; + _tmp7_ = self->priv->device; _tmp8_ = self->priv->gamepad_axis_event_handler_id; g_signal_handler_disconnect ((GObject*) _tmp7_, _tmp8_); self->priv->gamepad_axis_event_handler_id = (gulong) 0; } - _tmp9_ = self->priv->gamepad_hat_event_handler_id; - if (_tmp9_ != ((gulong) 0)) { - GamesGamepad* _tmp10_; - gulong _tmp11_; - _tmp10_ = self->priv->gamepad; - _tmp11_ = self->priv->gamepad_hat_event_handler_id; - g_signal_handler_disconnect ((GObject*) _tmp10_, _tmp11_); - self->priv->gamepad_axis_event_handler_id = (gulong) 0; - } } -static void games_gamepad_tester_on_button_event (GamesGamepadTester* self, GamesEventGamepadButton* event, gboolean pressed) { - gboolean highlight = FALSE; - gboolean _tmp0_; - GamesGamepadView* _tmp1_; - GamesEventGamepadButton* _tmp2_; - guint16 _tmp3_; - GamesGamepadInput _tmp4_ = {0}; +static void games_gamepad_tester_on_button_press_event (GamesGamepadTester* self, ManetteEvent* event) { + guint16 button = 0U; + ManetteEvent* _tmp0_; + guint16 _tmp1_ = 0U; + gboolean _tmp2_; g_return_if_fail (self != NULL); g_return_if_fail (event != NULL); - _tmp0_ = pressed; - highlight = _tmp0_; - _tmp1_ = self->priv->gamepad_view; - _tmp2_ = event; - _tmp3_ = _tmp2_->button; - _tmp4_.type = EV_KEY; - _tmp4_.code = _tmp3_; - games_gamepad_view_highlight (_tmp1_, &_tmp4_, highlight); + _tmp0_ = event; + _tmp2_ = manette_event_get_button (_tmp0_, &_tmp1_); + button = _tmp1_; + if (_tmp2_) { + GamesGamepadView* _tmp3_; + guint16 _tmp4_; + GamesGamepadInput _tmp5_ = {0}; + _tmp3_ = self->priv->gamepad_view; + _tmp4_ = button; + _tmp5_.type = EV_KEY; + _tmp5_.code = _tmp4_; + games_gamepad_view_highlight (_tmp3_, &_tmp5_, TRUE); + } } -static void games_gamepad_tester_on_axis_event (GamesGamepadTester* self, GamesEventGamepadAxis* event) { - gboolean highlight = FALSE; - GamesEventGamepadAxis* _tmp0_; - GamesEventGamepadAxis* _tmp1_; - GamesEventGamepadAxis* _tmp2_; - gdouble _tmp3_; - gdouble _tmp4_; - GamesGamepadView* _tmp5_; - GamesEventGamepadAxis* _tmp6_; - guint16 _tmp7_; - GamesGamepadInput _tmp8_ = {0}; +static void games_gamepad_tester_on_button_release_event (GamesGamepadTester* self, ManetteEvent* event) { + guint16 button = 0U; + ManetteEvent* _tmp0_; + guint16 _tmp1_ = 0U; + gboolean _tmp2_; g_return_if_fail (self != NULL); g_return_if_fail (event != NULL); _tmp0_ = event; - _tmp1_ = (GamesEventGamepadAxis *) ((GamesEvent*) _tmp0_); - _tmp2_ = _tmp1_; - _tmp3_ = _tmp2_->value; - _tmp4_ = _tmp3_; - highlight = !(((-0.8) < _tmp4_) && (_tmp4_ < 0.8)); - _tmp5_ = self->priv->gamepad_view; - _tmp6_ = event; - _tmp7_ = _tmp6_->axis; - _tmp8_.type = EV_ABS; - _tmp8_.code = _tmp7_; - games_gamepad_view_highlight (_tmp5_, &_tmp8_, highlight); + _tmp2_ = manette_event_get_button (_tmp0_, &_tmp1_); + button = _tmp1_; + if (_tmp2_) { + GamesGamepadView* _tmp3_; + guint16 _tmp4_; + GamesGamepadInput _tmp5_ = {0}; + _tmp3_ = self->priv->gamepad_view; + _tmp4_ = button; + _tmp5_.type = EV_KEY; + _tmp5_.code = _tmp4_; + games_gamepad_view_highlight (_tmp3_, &_tmp5_, FALSE); + } } -static void games_gamepad_tester_on_hat_event (GamesGamepadTester* self, GamesEventGamepadHat* event) { - gboolean highlight = FALSE; - GamesEventGamepadHat* _tmp0_; - GamesEventGamepadHat* _tmp1_; - GamesEventGamepadHat* _tmp2_; - gint8 _tmp3_; - GamesGamepadView* _tmp4_; - GamesEventGamepadHat* _tmp5_; - guint16 _tmp6_; - GamesGamepadInput _tmp7_ = {0}; +static void games_gamepad_tester_on_absolute_axis_event (GamesGamepadTester* self, ManetteEvent* event) { + guint16 axis = 0U; + gdouble value = 0.0; + ManetteEvent* _tmp0_; + guint16 _tmp1_ = 0U; + gdouble _tmp2_ = 0.0; + gboolean _tmp3_; g_return_if_fail (self != NULL); g_return_if_fail (event != NULL); _tmp0_ = event; - _tmp1_ = (GamesEventGamepadHat *) ((GamesEvent*) _tmp0_); - _tmp2_ = _tmp1_; - _tmp3_ = _tmp2_->value; - highlight = !(((gint) _tmp3_) == 0); - _tmp4_ = self->priv->gamepad_view; - _tmp5_ = event; - _tmp6_ = _tmp5_->axis; - _tmp7_.type = EV_ABS; - _tmp7_.code = _tmp6_; - games_gamepad_view_highlight (_tmp4_, &_tmp7_, highlight); + _tmp3_ = manette_event_get_absolute (_tmp0_, &_tmp1_, &_tmp2_); + axis = _tmp1_; + value = _tmp2_; + if (_tmp3_) { + GamesGamepadView* _tmp4_; + guint16 _tmp5_; + GamesGamepadInput _tmp6_ = {0}; + gdouble _tmp7_; + gdouble _tmp8_; + _tmp4_ = self->priv->gamepad_view; + _tmp5_ = axis; + _tmp6_.type = EV_ABS; + _tmp6_.code = _tmp5_; + _tmp7_ = value; + _tmp8_ = _tmp7_; + games_gamepad_view_highlight (_tmp4_, &_tmp6_, !(((-0.8) < _tmp8_) && (_tmp8_ < 0.8))); + } } @@ -421,7 +358,7 @@ GamesGamepadTester * self; self = G_TYPE_CHECK_INSTANCE_CAST (obj, GAMES_TYPE_GAMEPAD_TESTER, GamesGamepadTester); _g_object_unref0 (self->priv->gamepad_view); - _g_object_unref0 (self->priv->gamepad); + _g_object_unref0 (self->priv->device); G_OBJECT_CLASS (games_gamepad_tester_parent_class)->finalize (obj); } diff -Nru gnome-games-app-3.26.2/src/ui/gamepad-tester.vala gnome-games-app-3.28.0/src/ui/gamepad-tester.vala --- gnome-games-app-3.26.2/src/ui/gamepad-tester.vala 2017-09-21 12:48:06.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/gamepad-tester.vala 2018-01-30 09:48:30.000000000 +0000 @@ -5,15 +5,14 @@ [GtkChild] private GamepadView gamepad_view; - private Gamepad gamepad; + private Manette.Device device; private ulong gamepad_button_press_event_handler_id; private ulong gamepad_button_release_event_handler_id; private ulong gamepad_axis_event_handler_id; - private ulong gamepad_hat_event_handler_id; - public GamepadTester (Gamepad gamepad, GamepadViewConfiguration configuration) { - this.gamepad = gamepad; + public GamepadTester (Manette.Device device, GamepadViewConfiguration configuration) { + this.device = device; try { gamepad_view.set_configuration (configuration); } @@ -32,51 +31,45 @@ } private void connect_to_gamepad () { - gamepad_button_press_event_handler_id = gamepad.button_press_event.connect ((event) => { - on_button_event (event.gamepad_button, true); - }); - gamepad_button_release_event_handler_id = gamepad.button_release_event.connect ((event) => { - on_button_event (event.gamepad_button, false); - }); - gamepad_axis_event_handler_id = gamepad.axis_event.connect ((event) => { - on_axis_event (event.gamepad_axis); - }); - gamepad_hat_event_handler_id = gamepad.hat_event.connect ((event) => { - on_hat_event (event.gamepad_hat); - }); + gamepad_button_press_event_handler_id = device.button_press_event.connect (on_button_press_event); + gamepad_button_release_event_handler_id = device.button_release_event.connect (on_button_release_event); + gamepad_axis_event_handler_id = device.absolute_axis_event.connect (on_absolute_axis_event); } private void disconnect_from_gamepad () { if (gamepad_button_press_event_handler_id != 0) { - gamepad.disconnect (gamepad_button_press_event_handler_id); + device.disconnect (gamepad_button_press_event_handler_id); gamepad_button_press_event_handler_id = 0; } if (gamepad_button_release_event_handler_id != 0) { - gamepad.disconnect (gamepad_button_release_event_handler_id); + device.disconnect (gamepad_button_release_event_handler_id); gamepad_button_release_event_handler_id = 0; } if (gamepad_axis_event_handler_id != 0) { - gamepad.disconnect (gamepad_axis_event_handler_id); - gamepad_axis_event_handler_id = 0; - } - if (gamepad_hat_event_handler_id != 0) { - gamepad.disconnect (gamepad_hat_event_handler_id); + device.disconnect (gamepad_axis_event_handler_id); gamepad_axis_event_handler_id = 0; } } - private void on_button_event (EventGamepadButton event, bool pressed) { - var highlight = pressed; - gamepad_view.highlight ({ EventCode.EV_KEY, event.button }, highlight); + private void on_button_press_event (Manette.Event event) { + uint16 button; + + if (event.get_button (out button)) + gamepad_view.highlight ({ EventCode.EV_KEY, button }, true); } - private void on_axis_event (EventGamepadAxis event) { - var highlight = !(-0.8 < event.gamepad_axis.value < 0.8); - gamepad_view.highlight ({ EventCode.EV_ABS, event.axis }, highlight); + private void on_button_release_event (Manette.Event event) { + uint16 button; + + if (event.get_button (out button)) + gamepad_view.highlight ({ EventCode.EV_KEY, button }, false); } - private void on_hat_event (EventGamepadHat event) { - var highlight = !(event.gamepad_hat.value == 0); - gamepad_view.highlight ({ EventCode.EV_ABS, event.axis }, highlight); + private void on_absolute_axis_event (Manette.Event event) { + uint16 axis; + double value; + + if (event.get_absolute (out axis, out value)) + gamepad_view.highlight ({ EventCode.EV_ABS, axis }, !(-0.8 < value < 0.8)); } } diff -Nru gnome-games-app-3.26.2/src/ui/gamepad-view.c gnome-games-app-3.28.0/src/ui/gamepad-view.c --- gnome-games-app-3.26.2/src/ui/gamepad-view.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/gamepad-view.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* gamepad-view.c generated by valac 0.38.2, the Vala compiler +/* gamepad-view.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from gamepad-view.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -9,7 +9,6 @@ #include #include #include -#include #include #include #include @@ -30,13 +29,11 @@ #define GAMES_TYPE_GAMEPAD_VIEW_CONFIGURATION (games_gamepad_view_configuration_get_type ()) #define GAMES_TYPE_GAMEPAD_INPUT_PATH (games_gamepad_input_path_get_type ()) + +#define GAMES_TYPE_GAMEPAD_INPUT (games_gamepad_input_get_type ()) +typedef struct _GamesGamepadInput GamesGamepadInput; typedef struct _GamesGamepadInputPath GamesGamepadInputPath; typedef struct _GamesGamepadViewConfiguration GamesGamepadViewConfiguration; -enum { - GAMES_GAMEPAD_VIEW_DUMMY_PROPERTY, - GAMES_GAMEPAD_VIEW_LAST_PROPERTY -}; -static GParamSpec* games_gamepad_view_properties[GAMES_GAMEPAD_VIEW_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _cairo_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_destroy (var), NULL))) #define _cairo_surface_destroy0(var) ((var == NULL) ? NULL : (var = (cairo_surface_destroy (var), NULL))) @@ -51,6 +48,11 @@ GtkDrawingAreaClass parent_class; }; +struct _GamesGamepadInput { + guint16 type; + guint16 code; +}; + struct _GamesGamepadInputPath { GamesGamepadInput input; gchar* path; @@ -77,6 +79,9 @@ GType games_gamepad_view_get_type (void) G_GNUC_CONST; GType games_gamepad_view_configuration_get_type (void) G_GNUC_CONST; GType games_gamepad_input_path_get_type (void) G_GNUC_CONST; +GType games_gamepad_input_get_type (void) G_GNUC_CONST; +GamesGamepadInput* games_gamepad_input_dup (const GamesGamepadInput* self); +void games_gamepad_input_free (GamesGamepadInput* self); GamesGamepadInputPath* games_gamepad_input_path_dup (const GamesGamepadInputPath* self); void games_gamepad_input_path_free (GamesGamepadInputPath* self); void games_gamepad_input_path_copy (const GamesGamepadInputPath* self, GamesGamepadInputPath* dest); @@ -86,6 +91,9 @@ void games_gamepad_view_configuration_copy (const GamesGamepadViewConfiguration* self, GamesGamepadViewConfiguration* dest); void games_gamepad_view_configuration_destroy (GamesGamepadViewConfiguration* self); #define GAMES_GAMEPAD_VIEW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_GAMEPAD_VIEW, GamesGamepadViewPrivate)) +enum { + GAMES_GAMEPAD_VIEW_0_PROPERTY +}; #define GAMES_GAMEPAD_VIEW_DEFAULT_STATE GTK_STATE_FLAG_NORMAL #define GAMES_GAMEPAD_VIEW_HIGHLIGHT_STATE GTK_STATE_FLAG_LINK void games_gamepad_view_set_configuration (GamesGamepadView* self, GamesGamepadViewConfiguration* configuration, GError** error); diff -Nru gnome-games-app-3.26.2/src/ui/gamepad-view-configuration.c gnome-games-app-3.28.0/src/ui/gamepad-view-configuration.c --- gnome-games-app-3.26.2/src/ui/gamepad-view-configuration.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/gamepad-view-configuration.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,22 +1,29 @@ -/* gamepad-view-configuration.c generated by valac 0.38.2, the Vala compiler +/* gamepad-view-configuration.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from gamepad-view-configuration.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ #include #include -#include #include #include #define GAMES_TYPE_GAMEPAD_INPUT_PATH (games_gamepad_input_path_get_type ()) + +#define GAMES_TYPE_GAMEPAD_INPUT (games_gamepad_input_get_type ()) +typedef struct _GamesGamepadInput GamesGamepadInput; typedef struct _GamesGamepadInputPath GamesGamepadInputPath; #define _g_free0(var) (var = (g_free (var), NULL)) #define GAMES_TYPE_GAMEPAD_VIEW_CONFIGURATION (games_gamepad_view_configuration_get_type ()) typedef struct _GamesGamepadViewConfiguration GamesGamepadViewConfiguration; +struct _GamesGamepadInput { + guint16 type; + guint16 code; +}; + struct _GamesGamepadInputPath { GamesGamepadInput input; gchar* path; @@ -32,6 +39,9 @@ GType games_gamepad_input_path_get_type (void) G_GNUC_CONST; +GType games_gamepad_input_get_type (void) G_GNUC_CONST; +GamesGamepadInput* games_gamepad_input_dup (const GamesGamepadInput* self); +void games_gamepad_input_free (GamesGamepadInput* self); GamesGamepadInputPath* games_gamepad_input_path_dup (const GamesGamepadInputPath* self); void games_gamepad_input_path_free (GamesGamepadInputPath* self); void games_gamepad_input_path_copy (const GamesGamepadInputPath* self, GamesGamepadInputPath* dest); @@ -42,7 +52,7 @@ void games_gamepad_view_configuration_copy (const GamesGamepadViewConfiguration* self, GamesGamepadViewConfiguration* dest); void games_gamepad_view_configuration_destroy (GamesGamepadViewConfiguration* self); static void _vala_GamesGamepadInputPath_array_free (GamesGamepadInputPath * array, gint array_length); -static GamesGamepadInputPath* _vala_array_dup10 (GamesGamepadInputPath* self, int length); +static GamesGamepadInputPath* _vala_array_dup14 (GamesGamepadInputPath* self, int length); void games_gamepad_input_path_copy (const GamesGamepadInputPath* self, GamesGamepadInputPath* dest) { @@ -99,7 +109,7 @@ } -static GamesGamepadInputPath* _vala_array_dup10 (GamesGamepadInputPath* self, int length) { +static GamesGamepadInputPath* _vala_array_dup14 (GamesGamepadInputPath* self, int length) { GamesGamepadInputPath* result; int i; result = g_new0 (GamesGamepadInputPath, length); @@ -125,7 +135,7 @@ (*dest).svg_path = _tmp1_; _tmp2_ = (*self).input_paths; _tmp2__length1 = (*self).input_paths_length1; - _tmp3_ = (_tmp2_ != NULL) ? _vala_array_dup10 (_tmp2_, _tmp2__length1) : ((gpointer) _tmp2_); + _tmp3_ = (_tmp2_ != NULL) ? _vala_array_dup14 (_tmp2_, _tmp2__length1) : ((gpointer) _tmp2_); _tmp3__length1 = _tmp2__length1; (*dest).input_paths = (_vala_GamesGamepadInputPath_array_free ((*dest).input_paths, (*dest).input_paths_length1), NULL); (*dest).input_paths = _tmp3_; diff -Nru gnome-games-app-3.26.2/src/ui/game-thumbnail.c gnome-games-app-3.28.0/src/ui/game-thumbnail.c --- gnome-games-app-3.26.2/src/ui/game-thumbnail.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/game-thumbnail.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* game-thumbnail.c generated by valac 0.38.2, the Vala compiler +/* game-thumbnail.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from game-thumbnail.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -42,15 +42,6 @@ typedef struct _GamesCover GamesCover; typedef struct _GamesCoverIface GamesCoverIface; -enum { - GAMES_GAME_THUMBNAIL_DUMMY_PROPERTY, - GAMES_GAME_THUMBNAIL_CENTER_EMBLEM_SIZE_PROPERTY, - GAMES_GAME_THUMBNAIL_SECONDARY_EMBLEM_SIZE_PROPERTY, - GAMES_GAME_THUMBNAIL_ICON_PROPERTY, - GAMES_GAME_THUMBNAIL_COVER_PROPERTY, - GAMES_GAME_THUMBNAIL_LAST_PROPERTY -}; -static GParamSpec* games_game_thumbnail_properties[GAMES_GAME_THUMBNAIL_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define GAMES_GAME_THUMBNAIL_TYPE_DRAWING_CONTEXT (games_game_thumbnail_drawing_context_get_type ()) @@ -107,6 +98,13 @@ GType games_icon_get_type (void) G_GNUC_CONST; GType games_cover_get_type (void) G_GNUC_CONST; #define GAMES_GAME_THUMBNAIL_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_GAME_THUMBNAIL, GamesGameThumbnailPrivate)) +enum { + GAMES_GAME_THUMBNAIL_0_PROPERTY, + GAMES_GAME_THUMBNAIL_CENTER_EMBLEM_SIZE_PROPERTY, + GAMES_GAME_THUMBNAIL_SECONDARY_EMBLEM_SIZE_PROPERTY, + GAMES_GAME_THUMBNAIL_ICON_PROPERTY, + GAMES_GAME_THUMBNAIL_COVER_PROPERTY +}; #define GAMES_GAME_THUMBNAIL_ICON_SCALE 0.75 #define GAMES_GAME_THUMBNAIL_COVER_MARGIN ((gdouble) 0) #define GAMES_GAME_THUMBNAIL_FRAME_RADIUS ((gdouble) 2) @@ -470,7 +468,7 @@ _tmp11_ = _tmp14_; if (G_UNLIKELY (_inner_error_ != NULL)) { _gtk_icon_info_free0 (icon_info); - goto __catch37_g_error; + goto __catch36_g_error; } _tmp15_ = _tmp11_; _tmp11_ = NULL; @@ -479,8 +477,8 @@ _g_object_unref0 (_tmp11_); _gtk_icon_info_free0 (icon_info); } - goto __finally37; - __catch37_g_error: + goto __finally36; + __catch36_g_error: { GError* _error_ = NULL; const gchar* _tmp16_; @@ -506,7 +504,7 @@ _g_object_unref0 (emblem); return; } - __finally37: + __finally36: if (G_UNLIKELY (_inner_error_ != NULL)) { _g_object_unref0 (theme); _g_object_unref0 (emblem); @@ -600,7 +598,7 @@ _tmp16_ = gtk_icon_info_load_icon (_tmp15_, &_inner_error_); _tmp14_ = _tmp16_; if (G_UNLIKELY (_inner_error_ != NULL)) { - goto __catch38_g_error; + goto __catch37_g_error; } _tmp17_ = _tmp14_; _tmp14_ = NULL; @@ -610,8 +608,8 @@ _g_object_unref0 (theme); return result; } - goto __finally38; - __catch38_g_error: + goto __finally37; + __catch37_g_error: { GError* e = NULL; GError* _tmp18_; @@ -634,7 +632,7 @@ _g_object_unref0 (theme); return result; } - __finally38: + __finally37: _gtk_icon_info_free0 (icon_info); _g_object_unref0 (theme); g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); @@ -746,7 +744,7 @@ _tmp31_ = gtk_icon_info_load_icon (_tmp30_, &_inner_error_); _tmp29_ = _tmp31_; if (G_UNLIKELY (_inner_error_ != NULL)) { - goto __catch39_g_error; + goto __catch38_g_error; } _tmp32_ = _tmp29_; _tmp29_ = NULL; @@ -754,8 +752,8 @@ self->priv->cover_cache = _tmp32_; _g_object_unref0 (_tmp29_); } - goto __finally39; - __catch39_g_error: + goto __finally38; + __catch38_g_error: { GError* e = NULL; GError* _tmp33_; @@ -774,7 +772,7 @@ _g_free0 (_tmp37_); _g_error_free0 (e); } - __finally39: + __finally38: if (G_UNLIKELY (_inner_error_ != NULL)) { _gtk_icon_info_free0 (icon_info); _g_object_unref0 (theme); @@ -1047,7 +1045,7 @@ gint _tmp0_; _tmp0_ = value; self->priv->_center_emblem_size = _tmp0_; - g_object_notify_by_pspec ((GObject *) self, games_game_thumbnail_properties[GAMES_GAME_THUMBNAIL_CENTER_EMBLEM_SIZE_PROPERTY]); + g_object_notify ((GObject *) self, "center-emblem-size"); } } @@ -1068,7 +1066,7 @@ gint _tmp0_; _tmp0_ = value; self->priv->_secondary_emblem_size = _tmp0_; - g_object_notify_by_pspec ((GObject *) self, games_game_thumbnail_properties[GAMES_GAME_THUMBNAIL_SECONDARY_EMBLEM_SIZE_PROPERTY]); + g_object_notify ((GObject *) self, "secondary-emblem-size"); } } @@ -1099,7 +1097,7 @@ _g_object_unref0 (self->priv->_icon); self->priv->_icon = _tmp3_; gtk_widget_queue_draw ((GtkWidget*) self); - g_object_notify_by_pspec ((GObject *) self, games_game_thumbnail_properties[GAMES_GAME_THUMBNAIL_ICON_PROPERTY]); + g_object_notify ((GObject *) self, "icon"); } @@ -1146,11 +1144,13 @@ _tmp7_ = self->priv->_cover; if (_tmp7_ != NULL) { GamesCover* _tmp8_; + gulong _tmp9_; _tmp8_ = self->priv->_cover; - g_signal_connect_object (_tmp8_, "changed", (GCallback) _games_game_thumbnail_invalidate_cover_games_cover_changed, self, 0); + _tmp9_ = g_signal_connect_object (_tmp8_, "changed", (GCallback) _games_game_thumbnail_invalidate_cover_games_cover_changed, self, 0); + self->priv->cover_changed_id = _tmp9_; } games_game_thumbnail_invalidate_cover (self); - g_object_notify_by_pspec ((GObject *) self, games_game_thumbnail_properties[GAMES_GAME_THUMBNAIL_COVER_PROPERTY]); + g_object_notify ((GObject *) self, "cover"); } @@ -1224,10 +1224,10 @@ G_OBJECT_CLASS (klass)->get_property = _vala_games_game_thumbnail_get_property; G_OBJECT_CLASS (klass)->set_property = _vala_games_game_thumbnail_set_property; G_OBJECT_CLASS (klass)->finalize = games_game_thumbnail_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_GAME_THUMBNAIL_CENTER_EMBLEM_SIZE_PROPERTY, games_game_thumbnail_properties[GAMES_GAME_THUMBNAIL_CENTER_EMBLEM_SIZE_PROPERTY] = g_param_spec_int ("center-emblem-size", "center-emblem-size", "center-emblem-size", G_MININT, G_MAXINT, 32, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_GAME_THUMBNAIL_SECONDARY_EMBLEM_SIZE_PROPERTY, games_game_thumbnail_properties[GAMES_GAME_THUMBNAIL_SECONDARY_EMBLEM_SIZE_PROPERTY] = g_param_spec_int ("secondary-emblem-size", "secondary-emblem-size", "secondary-emblem-size", G_MININT, G_MAXINT, 8, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_GAME_THUMBNAIL_ICON_PROPERTY, games_game_thumbnail_properties[GAMES_GAME_THUMBNAIL_ICON_PROPERTY] = g_param_spec_object ("icon", "icon", "icon", GAMES_TYPE_ICON, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_GAME_THUMBNAIL_COVER_PROPERTY, games_game_thumbnail_properties[GAMES_GAME_THUMBNAIL_COVER_PROPERTY] = g_param_spec_object ("cover", "cover", "cover", GAMES_TYPE_COVER, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_GAME_THUMBNAIL_CENTER_EMBLEM_SIZE_PROPERTY, g_param_spec_int ("center-emblem-size", "center-emblem-size", "center-emblem-size", G_MININT, G_MAXINT, 32, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_GAME_THUMBNAIL_SECONDARY_EMBLEM_SIZE_PROPERTY, g_param_spec_int ("secondary-emblem-size", "secondary-emblem-size", "secondary-emblem-size", G_MININT, G_MAXINT, 8, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_GAME_THUMBNAIL_ICON_PROPERTY, g_param_spec_object ("icon", "icon", "icon", GAMES_TYPE_ICON, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_GAME_THUMBNAIL_COVER_PROPERTY, g_param_spec_object ("cover", "cover", "cover", GAMES_TYPE_COVER, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); gtk_widget_class_set_css_name (GTK_WIDGET_CLASS (klass), "gamesgamethumbnail"); } diff -Nru gnome-games-app-3.26.2/src/ui/game-thumbnail.vala gnome-games-app-3.28.0/src/ui/game-thumbnail.vala --- gnome-games-app-3.26.2/src/ui/game-thumbnail.vala 2017-06-16 05:40:52.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/game-thumbnail.vala 2018-01-30 09:48:30.000000000 +0000 @@ -40,7 +40,7 @@ _cover = value; if (_cover != null) - _cover.changed.connect (invalidate_cover); + cover_changed_id = _cover.changed.connect (invalidate_cover); invalidate_cover (); } diff -Nru gnome-games-app-3.26.2/src/ui/media-menu-button.c gnome-games-app-3.28.0/src/ui/media-menu-button.c --- gnome-games-app-3.26.2/src/ui/media-menu-button.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/media-menu-button.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* media-menu-button.c generated by valac 0.38.2, the Vala compiler +/* media-menu-button.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from media-menu-button.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -29,12 +29,6 @@ typedef struct _GamesMediaSet GamesMediaSet; typedef struct _GamesMediaSetClass GamesMediaSetClass; -enum { - GAMES_MEDIA_MENU_BUTTON_DUMMY_PROPERTY, - GAMES_MEDIA_MENU_BUTTON_MEDIA_SET_PROPERTY, - GAMES_MEDIA_MENU_BUTTON_LAST_PROPERTY -}; -static GParamSpec* games_media_menu_button_properties[GAMES_MEDIA_MENU_BUTTON_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) struct _GamesMediaMenuButton { @@ -57,6 +51,10 @@ GType games_media_menu_button_get_type (void) G_GNUC_CONST; GType games_media_set_get_type (void) G_GNUC_CONST; #define GAMES_MEDIA_MENU_BUTTON_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_MEDIA_MENU_BUTTON, GamesMediaMenuButtonPrivate)) +enum { + GAMES_MEDIA_MENU_BUTTON_0_PROPERTY, + GAMES_MEDIA_MENU_BUTTON_MEDIA_SET_PROPERTY +}; static void games_media_menu_button_on_media_set_changed (GamesMediaMenuButton* self); GamesMediaSet* games_media_menu_button_get_media_set (GamesMediaMenuButton* self); gint games_media_set_get_size (GamesMediaSet* self); @@ -142,7 +140,7 @@ _tmp1_ = _g_object_ref0 (_tmp0_); _g_object_unref0 (self->priv->_media_set); self->priv->_media_set = _tmp1_; - g_object_notify_by_pspec ((GObject *) self, games_media_menu_button_properties[GAMES_MEDIA_MENU_BUTTON_MEDIA_SET_PROPERTY]); + g_object_notify ((GObject *) self, "media-set"); } } @@ -154,7 +152,7 @@ G_OBJECT_CLASS (klass)->get_property = _vala_games_media_menu_button_get_property; G_OBJECT_CLASS (klass)->set_property = _vala_games_media_menu_button_set_property; G_OBJECT_CLASS (klass)->finalize = games_media_menu_button_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_MEDIA_MENU_BUTTON_MEDIA_SET_PROPERTY, games_media_menu_button_properties[GAMES_MEDIA_MENU_BUTTON_MEDIA_SET_PROPERTY] = g_param_spec_object ("media-set", "media-set", "media-set", GAMES_TYPE_MEDIA_SET, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_MEDIA_MENU_BUTTON_MEDIA_SET_PROPERTY, g_param_spec_object ("media-set", "media-set", "media-set", GAMES_TYPE_MEDIA_SET, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); GamesMediaMenuButton_private_offset = g_type_class_get_instance_private_offset (klass); gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/Games/ui/media-menu-button.ui"); gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "media_image", FALSE, GamesMediaMenuButton_private_offset + G_STRUCT_OFFSET (GamesMediaMenuButtonPrivate, media_image)); diff -Nru gnome-games-app-3.26.2/src/ui/media-selector.c gnome-games-app-3.28.0/src/ui/media-selector.c --- gnome-games-app-3.26.2/src/ui/media-selector.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/media-selector.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* media-selector.c generated by valac 0.38.2, the Vala compiler +/* media-selector.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from media-selector.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -31,14 +31,8 @@ typedef struct _GamesMediaSet GamesMediaSet; typedef struct _GamesMediaSetClass GamesMediaSetClass; -enum { - GAMES_MEDIA_SELECTOR_DUMMY_PROPERTY, - GAMES_MEDIA_SELECTOR_MEDIA_SET_PROPERTY, - GAMES_MEDIA_SELECTOR_LAST_PROPERTY -}; -static GParamSpec* games_media_selector_properties[GAMES_MEDIA_SELECTOR_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) -typedef struct _Block11Data Block11Data; +typedef struct _Block10Data Block10Data; #define GAMES_TYPE_MEDIA (games_media_get_type ()) #define GAMES_MEDIA(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_MEDIA, GamesMedia)) @@ -84,7 +78,7 @@ GtkListBox* list_box; }; -struct _Block11Data { +struct _Block10Data { int _ref_count_; GamesMediaSelector* self; gint media_number; @@ -102,12 +96,16 @@ GType games_media_selector_get_type (void) G_GNUC_CONST; GType games_media_set_get_type (void) G_GNUC_CONST; #define GAMES_MEDIA_SELECTOR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_MEDIA_SELECTOR, GamesMediaSelectorPrivate)) +enum { + GAMES_MEDIA_SELECTOR_0_PROPERTY, + GAMES_MEDIA_SELECTOR_MEDIA_SET_PROPERTY +}; static void games_media_selector_update_media (GamesMediaSelector* self); -static Block11Data* block11_data_ref (Block11Data* _data11_); -static void block11_data_unref (void * _userdata_); +static Block10Data* block10_data_ref (Block10Data* _data10_); +static void block10_data_unref (void * _userdata_); GType games_media_get_type (void) G_GNUC_CONST; void games_media_set_foreach_media (GamesMediaSet* self, GamesMediaSetMediaCallback media_callback, void* media_callback_target); -static void __lambda8_ (Block11Data* _data11_, GamesMedia* media); +static void __lambda8_ (Block10Data* _data10_, GamesMedia* media); GType games_title_get_type (void) G_GNUC_CONST; GamesTitle* games_media_get_title (GamesMedia* self); gchar* games_title_get_title (GamesTitle* self, GError** error); @@ -130,25 +128,25 @@ static void _vala_games_media_selector_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); -static Block11Data* block11_data_ref (Block11Data* _data11_) { - g_atomic_int_inc (&_data11_->_ref_count_); - return _data11_; +static Block10Data* block10_data_ref (Block10Data* _data10_) { + g_atomic_int_inc (&_data10_->_ref_count_); + return _data10_; } -static void block11_data_unref (void * _userdata_) { - Block11Data* _data11_; - _data11_ = (Block11Data*) _userdata_; - if (g_atomic_int_dec_and_test (&_data11_->_ref_count_)) { +static void block10_data_unref (void * _userdata_) { + Block10Data* _data10_; + _data10_ = (Block10Data*) _userdata_; + if (g_atomic_int_dec_and_test (&_data10_->_ref_count_)) { GamesMediaSelector* self; - self = _data11_->self; + self = _data10_->self; _g_object_unref0 (self); - g_slice_free (Block11Data, _data11_); + g_slice_free (Block10Data, _data10_); } } -static void __lambda8_ (Block11Data* _data11_, GamesMedia* media) { +static void __lambda8_ (Block10Data* _data10_, GamesMedia* media) { GamesMediaSelector* self; gchar* media_name = NULL; GamesMedia* _tmp0_; @@ -165,7 +163,7 @@ GtkListBox* _tmp20_; gint _tmp21_; GError * _inner_error_ = NULL; - self = _data11_->self; + self = _data10_->self; g_return_if_fail (media != NULL); _tmp0_ = media; _tmp1_ = games_media_get_title (_tmp0_); @@ -173,7 +171,7 @@ if (_tmp2_ == NULL) { gint _tmp3_; gchar* _tmp4_; - _tmp3_ = _data11_->media_number; + _tmp3_ = _data10_->media_number; _tmp4_ = g_strdup_printf (_ ("Media %d"), _tmp3_); _g_free0 (media_name); media_name = _tmp4_; @@ -191,7 +189,7 @@ _tmp9_ = games_title_get_title (_tmp8_, &_inner_error_); _tmp5_ = _tmp9_; if (G_UNLIKELY (_inner_error_ != NULL)) { - goto __catch40_g_error; + goto __catch39_g_error; } _tmp10_ = _tmp5_; _tmp5_ = NULL; @@ -199,8 +197,8 @@ media_name = _tmp10_; _g_free0 (_tmp5_); } - goto __finally40; - __catch40_g_error: + goto __finally39; + __catch39_g_error: { GError* e = NULL; GError* _tmp11_; @@ -216,7 +214,7 @@ media_name = _tmp13_; _g_error_free0 (e); } - __finally40: + __finally39: if (G_UNLIKELY (_inner_error_ != NULL)) { _g_free0 (media_name); g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); @@ -231,13 +229,13 @@ _tmp16_ = self->priv->_media_set; _tmp17_ = games_media_set_get_selected_media_number (_tmp16_); _tmp18_ = _tmp17_; - _tmp19_ = _data11_->media_number; + _tmp19_ = _data10_->media_number; is_current_media = _tmp18_ == _tmp19_; games_checkmark_item_set_checkmark_visible (checkmark_item, is_current_media); _tmp20_ = self->priv->list_box; gtk_container_add ((GtkContainer*) _tmp20_, (GtkWidget*) checkmark_item); - _tmp21_ = _data11_->media_number; - _data11_->media_number = _tmp21_ + 1; + _tmp21_ = _data10_->media_number; + _data10_->media_number = _tmp21_ + 1; _g_object_unref0 (checkmark_item); _g_free0 (media_name); } @@ -249,24 +247,24 @@ static void games_media_selector_update_media (GamesMediaSelector* self) { - Block11Data* _data11_; + Block10Data* _data10_; GamesMediaSet* _tmp0_; GamesMediaSet* _tmp1_; g_return_if_fail (self != NULL); - _data11_ = g_slice_new0 (Block11Data); - _data11_->_ref_count_ = 1; - _data11_->self = g_object_ref (self); - _data11_->media_number = 0; + _data10_ = g_slice_new0 (Block10Data); + _data10_->_ref_count_ = 1; + _data10_->self = g_object_ref (self); + _data10_->media_number = 0; _tmp0_ = self->priv->_media_set; if (_tmp0_ == NULL) { - block11_data_unref (_data11_); - _data11_ = NULL; + block10_data_unref (_data10_); + _data10_ = NULL; return; } _tmp1_ = self->priv->_media_set; - games_media_set_foreach_media (_tmp1_, ___lambda8__games_media_set_media_callback, _data11_); - block11_data_unref (_data11_); - _data11_ = NULL; + games_media_set_foreach_media (_tmp1_, ___lambda8__games_media_set_media_callback, _data10_); + block10_data_unref (_data10_); + _data10_ = NULL; } @@ -390,7 +388,7 @@ self->priv->_media_set = _tmp1_; games_media_selector_remove_media (self); games_media_selector_update_media (self); - g_object_notify_by_pspec ((GObject *) self, games_media_selector_properties[GAMES_MEDIA_SELECTOR_MEDIA_SET_PROPERTY]); + g_object_notify ((GObject *) self, "media-set"); } @@ -400,7 +398,7 @@ g_type_class_add_private (klass, sizeof (GamesMediaSelectorPrivate)); G_OBJECT_CLASS (klass)->set_property = _vala_games_media_selector_set_property; G_OBJECT_CLASS (klass)->finalize = games_media_selector_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_MEDIA_SELECTOR_MEDIA_SET_PROPERTY, games_media_selector_properties[GAMES_MEDIA_SELECTOR_MEDIA_SET_PROPERTY] = g_param_spec_object ("media-set", "media-set", "media-set", GAMES_TYPE_MEDIA_SET, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_MEDIA_SELECTOR_MEDIA_SET_PROPERTY, g_param_spec_object ("media-set", "media-set", "media-set", GAMES_TYPE_MEDIA_SET, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_WRITABLE)); GamesMediaSelector_private_offset = g_type_class_get_instance_private_offset (klass); gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/Games/ui/media-selector.ui"); gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "list_box", FALSE, GamesMediaSelector_private_offset + G_STRUCT_OFFSET (GamesMediaSelectorPrivate, list_box)); diff -Nru gnome-games-app-3.26.2/src/ui/preferences-page.c gnome-games-app-3.28.0/src/ui/preferences-page.c --- gnome-games-app-3.26.2/src/ui/preferences-page.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/preferences-page.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* preferences-page.c generated by valac 0.38.2, the Vala compiler +/* preferences-page.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from preferences-page.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/src/ui/preferences-page-controllers.c gnome-games-app-3.28.0/src/ui/preferences-page-controllers.c --- gnome-games-app-3.26.2/src/ui/preferences-page-controllers.c 2017-11-07 18:57:22.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/preferences-page-controllers.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* preferences-page-controllers.c generated by valac 0.38.2, the Vala compiler +/* preferences-page-controllers.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from preferences-page-controllers.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -6,8 +6,7 @@ #include #include #include -#include -#include +#include #define GAMES_TYPE_PREFERENCES_PAGE (games_preferences_page_get_type ()) @@ -28,16 +27,8 @@ typedef struct _GamesPreferencesPageControllers GamesPreferencesPageControllers; typedef struct _GamesPreferencesPageControllersClass GamesPreferencesPageControllersClass; typedef struct _GamesPreferencesPageControllersPrivate GamesPreferencesPageControllersPrivate; -enum { - GAMES_PREFERENCES_PAGE_CONTROLLERS_DUMMY_PROPERTY, - GAMES_PREFERENCES_PAGE_CONTROLLERS_HEADER_BAR_PROPERTY, - GAMES_PREFERENCES_PAGE_CONTROLLERS_IMMERSIVE_MODE_PROPERTY, - GAMES_PREFERENCES_PAGE_CONTROLLERS_LAST_PROPERTY -}; -static GParamSpec* games_preferences_page_controllers_properties[GAMES_PREFERENCES_PAGE_CONTROLLERS_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) -typedef struct _Block12Data Block12Data; -typedef struct _Block13Data Block13Data; +#define __vala_ManetteMonitorIter_free0(var) ((var == NULL) ? NULL : (var = (_vala_ManetteMonitorIter_free (var), NULL))) #define GAMES_TYPE_GAMEPAD_CONFIGURER (games_gamepad_configurer_get_type ()) #define GAMES_GAMEPAD_CONFIGURER(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_GAMEPAD_CONFIGURER, GamesGamepadConfigurer)) @@ -73,26 +64,12 @@ GtkListBox* gamepads_list_box; GtkBox* extra_stack_child_holder; GtkHeaderBar* default_header_bar; - GamesGamepadMonitor* gamepad_monitor; + ManetteMonitor* monitor; GBinding* header_bar_binding; GBinding* immersive_mode_binding; gulong back_handler_id; }; -struct _Block12Data { - int _ref_count_; - GamesPreferencesPageControllers* self; - gint i; -}; - -struct _Block13Data { - int _ref_count_; - GamesPreferencesPageControllers* self; - GamesGamepad* gamepad; - gint i; - gint row_index; -}; - static gpointer games_preferences_page_controllers_parent_class = NULL; static GamesPreferencesPageIface * games_preferences_page_controllers_games_preferences_page_parent_iface = NULL; @@ -100,36 +77,34 @@ GType games_preferences_page_get_type (void) G_GNUC_CONST; GType games_preferences_page_controllers_get_type (void) G_GNUC_CONST; #define GAMES_PREFERENCES_PAGE_CONTROLLERS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_PREFERENCES_PAGE_CONTROLLERS, GamesPreferencesPageControllersPrivate)) +enum { + GAMES_PREFERENCES_PAGE_CONTROLLERS_0_PROPERTY, + GAMES_PREFERENCES_PAGE_CONTROLLERS_HEADER_BAR_PROPERTY, + GAMES_PREFERENCES_PAGE_CONTROLLERS_IMMERSIVE_MODE_PROPERTY +}; static void games_preferences_page_controllers_real_visible_page_changed (GamesPreferencesPage* base); static void games_preferences_page_controllers_on_back (GamesPreferencesPageControllers* self, GObject* emitter); static void games_preferences_page_controllers_rebuild_gamepad_list (GamesPreferencesPageControllers* self); static void games_preferences_page_controllers_clear_gamepad_list (GamesPreferencesPageControllers* self); static void games_preferences_page_controllers_build_gamepad_list (GamesPreferencesPageControllers* self); -static Block12Data* block12_data_ref (Block12Data* _data12_); -static void block12_data_unref (void * _userdata_); -static void __lambda35_ (Block12Data* _data12_, GamesGamepad* gamepad); -static void ___lambda35__games_gamepad_callback (GamesGamepad* gamepad, gpointer self); -static void __lambda34_ (GamesPreferencesPageControllers* self, GtkWidget* child); -static void ___lambda34__gtk_callback (GtkWidget* widget, gpointer self); +static void _vala_ManetteMonitorIter_free (ManetteMonitorIter* self); +static void __lambda25_ (GamesPreferencesPageControllers* self, GtkWidget* child); +static void ___lambda25__gtk_callback (GtkWidget* widget, gpointer self); static void games_preferences_page_controllers_gamepads_list_box_row_activated (GamesPreferencesPageControllers* self, GtkListBoxRow* row_item); -static Block13Data* block13_data_ref (Block13Data* _data13_); -static void block13_data_unref (void * _userdata_); -static void __lambda36_ (Block13Data* _data13_, GamesGamepad* gamepad_); -static void ___lambda36__games_gamepad_callback (GamesGamepad* gamepad, gpointer self); GType games_gamepad_configurer_get_type (void) G_GNUC_CONST; -GamesGamepadConfigurer* games_gamepad_configurer_new (GamesGamepad* gamepad); -GamesGamepadConfigurer* games_gamepad_configurer_construct (GType object_type, GamesGamepad* gamepad); +GamesGamepadConfigurer* games_gamepad_configurer_new (ManetteDevice* device); +GamesGamepadConfigurer* games_gamepad_configurer_construct (GType object_type, ManetteDevice* device); static void _games_preferences_page_controllers_on_back_games_gamepad_configurer_back (GamesGamepadConfigurer* _sender, gpointer self); static void _games_preferences_page_controllers_gamepads_list_box_row_activated_gtk_list_box_row_activated (GtkListBox* _sender, GtkListBoxRow* row, gpointer self); void games_preferences_page_set_header_bar (GamesPreferencesPage* self, GtkHeaderBar* value); void games_preferences_page_set_immersive_mode (GamesPreferencesPage* self, gboolean value); -static void __lambda33_ (GamesPreferencesPageControllers* self, GtkWidget* child); -static void ___lambda33__gtk_callback (GtkWidget* widget, gpointer self); +static void __lambda24_ (GamesPreferencesPageControllers* self, GtkWidget* child); +static void ___lambda24__gtk_callback (GtkWidget* widget, gpointer self); GamesPreferencesPageControllers* games_preferences_page_controllers_new (void); GamesPreferencesPageControllers* games_preferences_page_controllers_construct (GType object_type); static GObject * games_preferences_page_controllers_constructor (GType type, guint n_construct_properties, GObjectConstructParam * construct_properties); -static void _games_preferences_page_controllers_rebuild_gamepad_list_games_gamepad_monitor_gamepad_unplugged (GamesGamepadMonitor* _sender, gpointer self); -static void _games_preferences_page_controllers_rebuild_gamepad_list_games_gamepad_monitor_gamepad_plugged (GamesGamepadMonitor* _sender, GamesGamepad* gamepad, gpointer self); +static void _games_preferences_page_controllers_rebuild_gamepad_list_manette_monitor_device_connected (ManetteMonitor* _sender, ManetteDevice* device, gpointer self); +static void _games_preferences_page_controllers_rebuild_gamepad_list_manette_monitor_device_disconnected (ManetteMonitor* _sender, ManetteDevice* device, gpointer self); static void games_preferences_page_controllers_finalize (GObject * obj); GtkHeaderBar* games_preferences_page_get_header_bar (GamesPreferencesPage* self); gboolean games_preferences_page_get_immersive_mode (GamesPreferencesPage* self); @@ -151,77 +126,81 @@ } -static Block12Data* block12_data_ref (Block12Data* _data12_) { - g_atomic_int_inc (&_data12_->_ref_count_); - return _data12_; -} - - -static void block12_data_unref (void * _userdata_) { - Block12Data* _data12_; - _data12_ = (Block12Data*) _userdata_; - if (g_atomic_int_dec_and_test (&_data12_->_ref_count_)) { - GamesPreferencesPageControllers* self; - self = _data12_->self; - _g_object_unref0 (self); - g_slice_free (Block12Data, _data12_); - } -} - - -static void __lambda35_ (Block12Data* _data12_, GamesGamepad* gamepad) { - GamesPreferencesPageControllers* self; - GtkBox* box = NULL; - GtkBox* _tmp0_; - GamesGamepad* _tmp1_; - const gchar* _tmp2_; - const gchar* _tmp3_; - GtkLabel* _tmp4_; - GtkLabel* _tmp5_; - GtkListBox* _tmp6_; - self = _data12_->self; - g_return_if_fail (gamepad != NULL); - _data12_->i = _data12_->i + 1; - _tmp0_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); - g_object_ref_sink (_tmp0_); - box = _tmp0_; - _tmp1_ = gamepad; - _tmp2_ = games_gamepad_get_name (_tmp1_); - _tmp3_ = _tmp2_; - _tmp4_ = (GtkLabel*) gtk_label_new (_tmp3_); - g_object_ref_sink (_tmp4_); - _tmp5_ = _tmp4_; - gtk_box_pack_start (box, (GtkWidget*) _tmp5_, FALSE, FALSE, (guint) 0); - _g_object_unref0 (_tmp5_); - g_object_set ((GtkWidget*) box, "margin", 6, NULL); - gtk_widget_show_all ((GtkWidget*) box); - _tmp6_ = self->priv->gamepads_list_box; - gtk_container_add ((GtkContainer*) _tmp6_, (GtkWidget*) box); - _g_object_unref0 (box); +static gpointer _g_object_ref0 (gpointer self) { + return self ? g_object_ref (self) : NULL; } -static void ___lambda35__games_gamepad_callback (GamesGamepad* gamepad, gpointer self) { - __lambda35_ (self, gamepad); +static void _vala_ManetteMonitorIter_free (ManetteMonitorIter* self) { + g_boxed_free (manette_monitor_iter_get_type (), self); } static void games_preferences_page_controllers_build_gamepad_list (GamesPreferencesPageControllers* self) { - Block12Data* _data12_; - GamesGamepadMonitor* _tmp0_; + ManetteDevice* device = NULL; + gint i = 0; + ManetteMonitorIter* iterator = NULL; + ManetteMonitor* _tmp0_; + ManetteMonitorIter* _tmp1_; g_return_if_fail (self != NULL); - _data12_ = g_slice_new0 (Block12Data); - _data12_->_ref_count_ = 1; - _data12_->self = g_object_ref (self); - _data12_->i = 0; - _tmp0_ = self->priv->gamepad_monitor; - games_gamepad_monitor_foreach_gamepad (_tmp0_, ___lambda35__games_gamepad_callback, _data12_); - block12_data_unref (_data12_); - _data12_ = NULL; + device = NULL; + i = 0; + _tmp0_ = self->priv->monitor; + _tmp1_ = manette_monitor_iterate (_tmp0_); + iterator = _tmp1_; + while (TRUE) { + ManetteMonitorIter* _tmp2_; + ManetteDevice* _tmp3_ = NULL; + gboolean _tmp4_; + ManetteDevice* _tmp5_; + gint _tmp6_; + GtkBox* box = NULL; + GtkBox* _tmp7_; + GtkBox* _tmp8_; + ManetteDevice* _tmp9_; + const gchar* _tmp10_; + GtkLabel* _tmp11_; + GtkLabel* _tmp12_; + GtkBox* _tmp13_; + GtkBox* _tmp14_; + GtkListBox* _tmp15_; + GtkBox* _tmp16_; + _tmp2_ = iterator; + _tmp4_ = manette_monitor_iter_next (_tmp2_, &_tmp3_); + _g_object_unref0 (device); + _tmp5_ = _g_object_ref0 (_tmp3_); + device = _tmp5_; + if (!_tmp4_) { + break; + } + _tmp6_ = i; + i = _tmp6_ + 1; + _tmp7_ = (GtkBox*) gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); + g_object_ref_sink (_tmp7_); + box = _tmp7_; + _tmp8_ = box; + _tmp9_ = device; + _tmp10_ = manette_device_get_name (_tmp9_); + _tmp11_ = (GtkLabel*) gtk_label_new (_tmp10_); + g_object_ref_sink (_tmp11_); + _tmp12_ = _tmp11_; + gtk_box_pack_start (_tmp8_, (GtkWidget*) _tmp12_, FALSE, FALSE, (guint) 0); + _g_object_unref0 (_tmp12_); + _tmp13_ = box; + g_object_set ((GtkWidget*) _tmp13_, "margin", 6, NULL); + _tmp14_ = box; + gtk_widget_show_all ((GtkWidget*) _tmp14_); + _tmp15_ = self->priv->gamepads_list_box; + _tmp16_ = box; + gtk_container_add ((GtkContainer*) _tmp15_, (GtkWidget*) _tmp16_); + _g_object_unref0 (box); + } + __vala_ManetteMonitorIter_free0 (iterator); + _g_object_unref0 (device); } -static void __lambda34_ (GamesPreferencesPageControllers* self, GtkWidget* child) { +static void __lambda25_ (GamesPreferencesPageControllers* self, GtkWidget* child) { GtkWidget* _tmp0_; g_return_if_fail (child != NULL); _tmp0_ = child; @@ -229,8 +208,8 @@ } -static void ___lambda34__gtk_callback (GtkWidget* widget, gpointer self) { - __lambda34_ ((GamesPreferencesPageControllers*) self, widget); +static void ___lambda25__gtk_callback (GtkWidget* widget, gpointer self) { + __lambda25_ ((GamesPreferencesPageControllers*) self, widget); } @@ -238,56 +217,7 @@ GtkListBox* _tmp0_; g_return_if_fail (self != NULL); _tmp0_ = self->priv->gamepads_list_box; - gtk_container_foreach ((GtkContainer*) _tmp0_, ___lambda34__gtk_callback, self); -} - - -static Block13Data* block13_data_ref (Block13Data* _data13_) { - g_atomic_int_inc (&_data13_->_ref_count_); - return _data13_; -} - - -static void block13_data_unref (void * _userdata_) { - Block13Data* _data13_; - _data13_ = (Block13Data*) _userdata_; - if (g_atomic_int_dec_and_test (&_data13_->_ref_count_)) { - GamesPreferencesPageControllers* self; - self = _data13_->self; - _g_object_unref0 (_data13_->gamepad); - _g_object_unref0 (self); - g_slice_free (Block13Data, _data13_); - } -} - - -static gpointer _g_object_ref0 (gpointer self) { - return self ? g_object_ref (self) : NULL; -} - - -static void __lambda36_ (Block13Data* _data13_, GamesGamepad* gamepad_) { - GamesPreferencesPageControllers* self; - gint _tmp0_; - gint _tmp1_; - self = _data13_->self; - g_return_if_fail (gamepad_ != NULL); - _tmp0_ = _data13_->i; - _data13_->i = _tmp0_ + 1; - _tmp1_ = _data13_->row_index; - if (_tmp0_ == _tmp1_) { - GamesGamepad* _tmp2_; - GamesGamepad* _tmp3_; - _tmp2_ = gamepad_; - _tmp3_ = _g_object_ref0 (_tmp2_); - _g_object_unref0 (_data13_->gamepad); - _data13_->gamepad = _tmp3_; - } -} - - -static void ___lambda36__games_gamepad_callback (GamesGamepad* gamepad, gpointer self) { - __lambda36_ (self, gamepad); + gtk_container_foreach ((GtkContainer*) _tmp0_, ___lambda25__gtk_callback, self); } @@ -297,66 +227,99 @@ static void games_preferences_page_controllers_gamepads_list_box_row_activated (GamesPreferencesPageControllers* self, GtkListBoxRow* row_item) { - Block13Data* _data13_; + ManetteDevice* device = NULL; + ManetteDevice* other_device = NULL; + gint i = 0; + gint row_index = 0; GtkListBoxRow* _tmp0_; gint _tmp1_; - GamesGamepadMonitor* _tmp2_; - GamesGamepad* _tmp3_; + ManetteMonitorIter* iterator = NULL; + ManetteMonitor* _tmp2_; + ManetteMonitorIter* _tmp3_; + ManetteDevice* _tmp12_; GamesGamepadConfigurer* configurer = NULL; - GamesGamepad* _tmp4_; - GamesGamepadConfigurer* _tmp5_; - GamesGamepadConfigurer* _tmp6_; - gulong _tmp7_; - GamesGamepadConfigurer* _tmp8_; - GBinding* _tmp9_; - GBinding* _tmp10_; - GamesGamepadConfigurer* _tmp11_; - GBinding* _tmp12_; - GBinding* _tmp13_; - GtkBox* _tmp14_; + ManetteDevice* _tmp13_; + GamesGamepadConfigurer* _tmp14_; GamesGamepadConfigurer* _tmp15_; + gulong _tmp16_; + GamesGamepadConfigurer* _tmp17_; + GBinding* _tmp18_; + GBinding* _tmp19_; + GamesGamepadConfigurer* _tmp20_; + GBinding* _tmp21_; + GBinding* _tmp22_; + GtkBox* _tmp23_; + GamesGamepadConfigurer* _tmp24_; g_return_if_fail (self != NULL); g_return_if_fail (row_item != NULL); - _data13_ = g_slice_new0 (Block13Data); - _data13_->_ref_count_ = 1; - _data13_->self = g_object_ref (self); - _data13_->gamepad = NULL; - _data13_->i = 0; + device = NULL; + other_device = NULL; + i = 0; _tmp0_ = row_item; _tmp1_ = gtk_list_box_row_get_index (_tmp0_); - _data13_->row_index = _tmp1_; - _tmp2_ = self->priv->gamepad_monitor; - games_gamepad_monitor_foreach_gamepad (_tmp2_, ___lambda36__games_gamepad_callback, _data13_); - _tmp3_ = _data13_->gamepad; - if (_tmp3_ == NULL) { - block13_data_unref (_data13_); - _data13_ = NULL; + row_index = _tmp1_; + _tmp2_ = self->priv->monitor; + _tmp3_ = manette_monitor_iterate (_tmp2_); + iterator = _tmp3_; + while (TRUE) { + ManetteMonitorIter* _tmp4_; + ManetteDevice* _tmp5_ = NULL; + gboolean _tmp6_; + ManetteDevice* _tmp7_; + gint _tmp8_; + gint _tmp9_; + _tmp4_ = iterator; + _tmp6_ = manette_monitor_iter_next (_tmp4_, &_tmp5_); + _g_object_unref0 (other_device); + _tmp7_ = _g_object_ref0 (_tmp5_); + other_device = _tmp7_; + if (!_tmp6_) { + break; + } + _tmp8_ = i; + i = _tmp8_ + 1; + _tmp9_ = row_index; + if (_tmp8_ == _tmp9_) { + ManetteDevice* _tmp10_; + ManetteDevice* _tmp11_; + _tmp10_ = other_device; + _tmp11_ = _g_object_ref0 (_tmp10_); + _g_object_unref0 (device); + device = _tmp11_; + } + } + _tmp12_ = device; + if (_tmp12_ == NULL) { + __vala_ManetteMonitorIter_free0 (iterator); + _g_object_unref0 (other_device); + _g_object_unref0 (device); return; } - _tmp4_ = _data13_->gamepad; - _tmp5_ = games_gamepad_configurer_new (_tmp4_); - g_object_ref_sink (_tmp5_); - configurer = _tmp5_; - _tmp6_ = configurer; - _tmp7_ = g_signal_connect_object (_tmp6_, "back", (GCallback) _games_preferences_page_controllers_on_back_games_gamepad_configurer_back, self, 0); - self->priv->back_handler_id = _tmp7_; - _tmp8_ = configurer; - _tmp9_ = g_object_bind_property_with_closures ((GObject*) _tmp8_, "header-bar", (GObject*) self, "header-bar", G_BINDING_SYNC_CREATE, (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL)), (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL))); - _tmp10_ = _g_object_ref0 (_tmp9_); + _tmp13_ = device; + _tmp14_ = games_gamepad_configurer_new (_tmp13_); + g_object_ref_sink (_tmp14_); + configurer = _tmp14_; + _tmp15_ = configurer; + _tmp16_ = g_signal_connect_object (_tmp15_, "back", (GCallback) _games_preferences_page_controllers_on_back_games_gamepad_configurer_back, self, 0); + self->priv->back_handler_id = _tmp16_; + _tmp17_ = configurer; + _tmp18_ = g_object_bind_property_with_closures ((GObject*) _tmp17_, "header-bar", (GObject*) self, "header-bar", G_BINDING_SYNC_CREATE, (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL)), (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL))); + _tmp19_ = _g_object_ref0 (_tmp18_); _g_object_unref0 (self->priv->header_bar_binding); - self->priv->header_bar_binding = _tmp10_; - _tmp11_ = configurer; - _tmp12_ = g_object_bind_property_with_closures ((GObject*) _tmp11_, "immersive-mode", (GObject*) self, "immersive-mode", G_BINDING_SYNC_CREATE, (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL)), (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL))); - _tmp13_ = _g_object_ref0 (_tmp12_); + self->priv->header_bar_binding = _tmp19_; + _tmp20_ = configurer; + _tmp21_ = g_object_bind_property_with_closures ((GObject*) _tmp20_, "immersive-mode", (GObject*) self, "immersive-mode", G_BINDING_SYNC_CREATE, (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL)), (GClosure*) ((NULL == NULL) ? NULL : g_cclosure_new ((GCallback) NULL, NULL, (GClosureNotify) NULL))); + _tmp22_ = _g_object_ref0 (_tmp21_); _g_object_unref0 (self->priv->immersive_mode_binding); - self->priv->immersive_mode_binding = _tmp13_; - _tmp14_ = self->priv->extra_stack_child_holder; - _tmp15_ = configurer; - gtk_box_pack_start (_tmp14_, (GtkWidget*) _tmp15_, TRUE, TRUE, (guint) 0); + self->priv->immersive_mode_binding = _tmp22_; + _tmp23_ = self->priv->extra_stack_child_holder; + _tmp24_ = configurer; + gtk_box_pack_start (_tmp23_, (GtkWidget*) _tmp24_, TRUE, TRUE, (guint) 0); gtk_stack_set_visible_child_name ((GtkStack*) self, "extra_stack_child"); _g_object_unref0 (configurer); - block13_data_unref (_data13_); - _data13_ = NULL; + __vala_ManetteMonitorIter_free0 (iterator); + _g_object_unref0 (other_device); + _g_object_unref0 (device); } @@ -365,7 +328,7 @@ } -static void __lambda33_ (GamesPreferencesPageControllers* self, GtkWidget* child) { +static void __lambda24_ (GamesPreferencesPageControllers* self, GtkWidget* child) { GtkWidget* _tmp0_; g_return_if_fail (child != NULL); _tmp0_ = child; @@ -373,8 +336,8 @@ } -static void ___lambda33__gtk_callback (GtkWidget* widget, gpointer self) { - __lambda33_ ((GamesPreferencesPageControllers*) self, widget); +static void ___lambda24__gtk_callback (GtkWidget* widget, gpointer self) { + __lambda24_ ((GamesPreferencesPageControllers*) self, widget); } @@ -405,7 +368,7 @@ games_preferences_page_set_immersive_mode ((GamesPreferencesPage*) self, FALSE); gtk_stack_set_visible_child_name ((GtkStack*) self, "main_stack_child"); _tmp5_ = self->priv->extra_stack_child_holder; - gtk_container_foreach ((GtkContainer*) _tmp5_, ___lambda33__gtk_callback, self); + gtk_container_foreach ((GtkContainer*) _tmp5_, ___lambda24__gtk_callback, self); } @@ -442,7 +405,7 @@ _tmp1_ = _g_object_ref0 (_tmp0_); _g_object_unref0 (self->priv->_header_bar); self->priv->_header_bar = _tmp1_; - g_object_notify_by_pspec ((GObject *) self, games_preferences_page_controllers_properties[GAMES_PREFERENCES_PAGE_CONTROLLERS_HEADER_BAR_PROPERTY]); + g_object_notify ((GObject *) self, "header-bar"); } } @@ -465,17 +428,17 @@ gboolean _tmp0_; _tmp0_ = value; self->priv->_immersive_mode = _tmp0_; - g_object_notify_by_pspec ((GObject *) self, games_preferences_page_controllers_properties[GAMES_PREFERENCES_PAGE_CONTROLLERS_IMMERSIVE_MODE_PROPERTY]); + g_object_notify ((GObject *) self, "immersive-mode"); } } -static void _games_preferences_page_controllers_rebuild_gamepad_list_games_gamepad_monitor_gamepad_unplugged (GamesGamepadMonitor* _sender, gpointer self) { +static void _games_preferences_page_controllers_rebuild_gamepad_list_manette_monitor_device_connected (ManetteMonitor* _sender, ManetteDevice* device, gpointer self) { games_preferences_page_controllers_rebuild_gamepad_list ((GamesPreferencesPageControllers*) self); } -static void _games_preferences_page_controllers_rebuild_gamepad_list_games_gamepad_monitor_gamepad_plugged (GamesGamepadMonitor* _sender, GamesGamepad* gamepad, gpointer self) { +static void _games_preferences_page_controllers_rebuild_gamepad_list_manette_monitor_device_disconnected (ManetteMonitor* _sender, ManetteDevice* device, gpointer self) { games_preferences_page_controllers_rebuild_gamepad_list ((GamesPreferencesPageControllers*) self); } @@ -485,22 +448,22 @@ GObjectClass * parent_class; GamesPreferencesPageControllers * self; GtkHeaderBar* _tmp0_; - GamesGamepadMonitor* _tmp1_; - GamesGamepadMonitor* _tmp2_; - GamesGamepadMonitor* _tmp3_; + ManetteMonitor* _tmp1_; + ManetteMonitor* _tmp2_; + ManetteMonitor* _tmp3_; parent_class = G_OBJECT_CLASS (games_preferences_page_controllers_parent_class); obj = parent_class->constructor (type, n_construct_properties, construct_properties); self = G_TYPE_CHECK_INSTANCE_CAST (obj, GAMES_TYPE_PREFERENCES_PAGE_CONTROLLERS, GamesPreferencesPageControllers); _tmp0_ = self->priv->default_header_bar; games_preferences_page_set_header_bar ((GamesPreferencesPage*) self, _tmp0_); games_preferences_page_set_immersive_mode ((GamesPreferencesPage*) self, FALSE); - _tmp1_ = games_gamepad_monitor_get_instance (); - _g_object_unref0 (self->priv->gamepad_monitor); - self->priv->gamepad_monitor = _tmp1_; - _tmp2_ = self->priv->gamepad_monitor; - g_signal_connect_object (_tmp2_, "gamepad-unplugged", (GCallback) _games_preferences_page_controllers_rebuild_gamepad_list_games_gamepad_monitor_gamepad_unplugged, self, 0); - _tmp3_ = self->priv->gamepad_monitor; - g_signal_connect_object (_tmp3_, "gamepad-plugged", (GCallback) _games_preferences_page_controllers_rebuild_gamepad_list_games_gamepad_monitor_gamepad_plugged, self, 0); + _tmp1_ = manette_monitor_new (); + _g_object_unref0 (self->priv->monitor); + self->priv->monitor = _tmp1_; + _tmp2_ = self->priv->monitor; + g_signal_connect_object (_tmp2_, "device-connected", (GCallback) _games_preferences_page_controllers_rebuild_gamepad_list_manette_monitor_device_connected, self, 0); + _tmp3_ = self->priv->monitor; + g_signal_connect_object (_tmp3_, "device-disconnected", (GCallback) _games_preferences_page_controllers_rebuild_gamepad_list_manette_monitor_device_disconnected, self, 0); games_preferences_page_controllers_build_gamepad_list (self); return obj; } @@ -514,8 +477,8 @@ G_OBJECT_CLASS (klass)->set_property = _vala_games_preferences_page_controllers_set_property; G_OBJECT_CLASS (klass)->constructor = games_preferences_page_controllers_constructor; G_OBJECT_CLASS (klass)->finalize = games_preferences_page_controllers_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_PREFERENCES_PAGE_CONTROLLERS_HEADER_BAR_PROPERTY, games_preferences_page_controllers_properties[GAMES_PREFERENCES_PAGE_CONTROLLERS_HEADER_BAR_PROPERTY] = g_param_spec_object ("header-bar", "header-bar", "header-bar", gtk_header_bar_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_PREFERENCES_PAGE_CONTROLLERS_IMMERSIVE_MODE_PROPERTY, games_preferences_page_controllers_properties[GAMES_PREFERENCES_PAGE_CONTROLLERS_IMMERSIVE_MODE_PROPERTY] = g_param_spec_boolean ("immersive-mode", "immersive-mode", "immersive-mode", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_PREFERENCES_PAGE_CONTROLLERS_HEADER_BAR_PROPERTY, g_param_spec_object ("header-bar", "header-bar", "header-bar", gtk_header_bar_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_PREFERENCES_PAGE_CONTROLLERS_IMMERSIVE_MODE_PROPERTY, g_param_spec_boolean ("immersive-mode", "immersive-mode", "immersive-mode", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); GamesPreferencesPageControllers_private_offset = g_type_class_get_instance_private_offset (klass); gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/Games/ui/preferences-page-controllers.ui"); gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "gamepads_list_box", FALSE, GamesPreferencesPageControllers_private_offset + G_STRUCT_OFFSET (GamesPreferencesPageControllersPrivate, gamepads_list_box)); @@ -548,7 +511,7 @@ _g_object_unref0 (self->priv->gamepads_list_box); _g_object_unref0 (self->priv->extra_stack_child_holder); _g_object_unref0 (self->priv->default_header_bar); - _g_object_unref0 (self->priv->gamepad_monitor); + _g_object_unref0 (self->priv->monitor); _g_object_unref0 (self->priv->header_bar_binding); _g_object_unref0 (self->priv->immersive_mode_binding); G_OBJECT_CLASS (games_preferences_page_controllers_parent_class)->finalize (obj); diff -Nru gnome-games-app-3.26.2/src/ui/preferences-page-controllers.vala gnome-games-app-3.28.0/src/ui/preferences-page-controllers.vala --- gnome-games-app-3.26.2/src/ui/preferences-page-controllers.vala 2017-09-21 12:48:06.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/preferences-page-controllers.vala 2018-01-30 09:48:30.000000000 +0000 @@ -12,7 +12,7 @@ [GtkChild] private Gtk.HeaderBar default_header_bar; - private GamepadMonitor gamepad_monitor; + private Manette.Monitor monitor; private Binding header_bar_binding; private Binding immersive_mode_binding; @@ -22,9 +22,9 @@ header_bar = default_header_bar; immersive_mode = false; - gamepad_monitor = GamepadMonitor.get_instance (); - gamepad_monitor.gamepad_unplugged.connect (rebuild_gamepad_list); - gamepad_monitor.gamepad_plugged.connect (rebuild_gamepad_list); + monitor = new Manette.Monitor (); + monitor.device_connected.connect (rebuild_gamepad_list); + monitor.device_disconnected.connect (rebuild_gamepad_list); build_gamepad_list (); } @@ -38,15 +38,17 @@ } private void build_gamepad_list () { + Manette.Device device = null; var i = 0; - gamepad_monitor.foreach_gamepad ((gamepad) => { + var iterator = monitor.iterate (); + while (iterator.next (out device)) { i += 1; var box = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 0); - box.pack_start (new Gtk.Label (gamepad.name), false, false); + box.pack_start (new Gtk.Label (device.get_name ()), false, false); box.margin = 6; box.show_all (); gamepads_list_box.add (box); - }); + }; } private void clear_gamepad_list () { @@ -55,17 +57,21 @@ [GtkCallback] private void gamepads_list_box_row_activated (Gtk.ListBoxRow row_item) { - Gamepad? gamepad = null; + Manette.Device? device = null; + Manette.Device other_device = null; var i = 0; var row_index = row_item.get_index (); - gamepad_monitor.foreach_gamepad ((gamepad_) => { + + var iterator = monitor.iterate (); + while (iterator.next (out other_device)) { if (i++ == row_index) - gamepad = gamepad_; - }); + device = other_device; + }; - if (gamepad == null) + if (device == null) return; - var configurer = new GamepadConfigurer(gamepad); + + var configurer = new GamepadConfigurer(device); back_handler_id = configurer.back.connect (on_back); header_bar_binding = configurer.bind_property ("header-bar", this, "header-bar", BindingFlags.SYNC_CREATE); diff -Nru gnome-games-app-3.26.2/src/ui/preferences-page-plugins.c gnome-games-app-3.28.0/src/ui/preferences-page-plugins.c --- gnome-games-app-3.26.2/src/ui/preferences-page-plugins.c 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/preferences-page-plugins.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* preferences-page-plugins.c generated by valac 0.38.2, the Vala compiler +/* preferences-page-plugins.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from preferences-page-plugins.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -26,13 +26,6 @@ typedef struct _GamesPreferencesPagePlugins GamesPreferencesPagePlugins; typedef struct _GamesPreferencesPagePluginsClass GamesPreferencesPagePluginsClass; typedef struct _GamesPreferencesPagePluginsPrivate GamesPreferencesPagePluginsPrivate; -enum { - GAMES_PREFERENCES_PAGE_PLUGINS_DUMMY_PROPERTY, - GAMES_PREFERENCES_PAGE_PLUGINS_HEADER_BAR_PROPERTY, - GAMES_PREFERENCES_PAGE_PLUGINS_IMMERSIVE_MODE_PROPERTY, - GAMES_PREFERENCES_PAGE_PLUGINS_LAST_PROPERTY -}; -static GParamSpec* games_preferences_page_plugins_properties[GAMES_PREFERENCES_PAGE_PLUGINS_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define GAMES_TYPE_PLUGIN_REGISTRAR (games_plugin_registrar_get_type ()) @@ -106,6 +99,11 @@ GType games_preferences_page_get_type (void) G_GNUC_CONST; GType games_preferences_page_plugins_get_type (void) G_GNUC_CONST; #define GAMES_PREFERENCES_PAGE_PLUGINS_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_PREFERENCES_PAGE_PLUGINS, GamesPreferencesPagePluginsPrivate)) +enum { + GAMES_PREFERENCES_PAGE_PLUGINS_0_PROPERTY, + GAMES_PREFERENCES_PAGE_PLUGINS_HEADER_BAR_PROPERTY, + GAMES_PREFERENCES_PAGE_PLUGINS_IMMERSIVE_MODE_PROPERTY +}; GType games_plugin_registrar_get_type (void) G_GNUC_CONST; static void games_preferences_page_plugins_add_plugin_registrar (GamesPreferencesPagePlugins* self, GamesPluginRegistrar* plugin_registrar); GType games_preferences_page_plugins_item_get_type (void) G_GNUC_CONST; @@ -187,7 +185,7 @@ static void games_preferences_page_plugins_real_set_header_bar (GamesPreferencesPage* base, GtkHeaderBar* value) { GamesPreferencesPagePlugins* self; self = (GamesPreferencesPagePlugins*) base; - g_object_notify_by_pspec ((GObject *) self, games_preferences_page_plugins_properties[GAMES_PREFERENCES_PAGE_PLUGINS_HEADER_BAR_PROPERTY]); + g_object_notify ((GObject *) self, "header-bar"); } @@ -203,7 +201,7 @@ static void games_preferences_page_plugins_real_set_immersive_mode (GamesPreferencesPage* base, gboolean value) { GamesPreferencesPagePlugins* self; self = (GamesPreferencesPagePlugins*) base; - g_object_notify_by_pspec ((GObject *) self, games_preferences_page_plugins_properties[GAMES_PREFERENCES_PAGE_PLUGINS_IMMERSIVE_MODE_PROPERTY]); + g_object_notify ((GObject *) self, "immersive-mode"); } @@ -259,8 +257,8 @@ G_OBJECT_CLASS (klass)->set_property = _vala_games_preferences_page_plugins_set_property; G_OBJECT_CLASS (klass)->constructor = games_preferences_page_plugins_constructor; G_OBJECT_CLASS (klass)->finalize = games_preferences_page_plugins_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_PREFERENCES_PAGE_PLUGINS_HEADER_BAR_PROPERTY, games_preferences_page_plugins_properties[GAMES_PREFERENCES_PAGE_PLUGINS_HEADER_BAR_PROPERTY] = g_param_spec_object ("header-bar", "header-bar", "header-bar", gtk_header_bar_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_PREFERENCES_PAGE_PLUGINS_IMMERSIVE_MODE_PROPERTY, games_preferences_page_plugins_properties[GAMES_PREFERENCES_PAGE_PLUGINS_IMMERSIVE_MODE_PROPERTY] = g_param_spec_boolean ("immersive-mode", "immersive-mode", "immersive-mode", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_PREFERENCES_PAGE_PLUGINS_HEADER_BAR_PROPERTY, g_param_spec_object ("header-bar", "header-bar", "header-bar", gtk_header_bar_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_PREFERENCES_PAGE_PLUGINS_IMMERSIVE_MODE_PROPERTY, g_param_spec_boolean ("immersive-mode", "immersive-mode", "immersive-mode", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); GamesPreferencesPagePlugins_private_offset = g_type_class_get_instance_private_offset (klass); gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/Games/ui/preferences-page-plugins.ui"); gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "header_bar", FALSE, GamesPreferencesPagePlugins_private_offset + G_STRUCT_OFFSET (GamesPreferencesPagePluginsPrivate, _header_bar)); diff -Nru gnome-games-app-3.26.2/src/ui/preferences-page-plugins-item.c gnome-games-app-3.28.0/src/ui/preferences-page-plugins-item.c --- gnome-games-app-3.26.2/src/ui/preferences-page-plugins-item.c 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/preferences-page-plugins-item.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* preferences-page-plugins-item.c generated by valac 0.38.2, the Vala compiler +/* preferences-page-plugins-item.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from preferences-page-plugins-item.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -20,11 +20,6 @@ typedef struct _GamesPreferencesPagePluginsItem GamesPreferencesPagePluginsItem; typedef struct _GamesPreferencesPagePluginsItemClass GamesPreferencesPagePluginsItemClass; typedef struct _GamesPreferencesPagePluginsItemPrivate GamesPreferencesPagePluginsItemPrivate; -enum { - GAMES_PREFERENCES_PAGE_PLUGINS_ITEM_DUMMY_PROPERTY, - GAMES_PREFERENCES_PAGE_PLUGINS_ITEM_LAST_PROPERTY -}; -static GParamSpec* games_preferences_page_plugins_item_properties[GAMES_PREFERENCES_PAGE_PLUGINS_ITEM_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define GAMES_TYPE_PLUGIN_REGISTRAR (games_plugin_registrar_get_type ()) @@ -56,6 +51,9 @@ GType games_preferences_page_plugins_item_get_type (void) G_GNUC_CONST; #define GAMES_PREFERENCES_PAGE_PLUGINS_ITEM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_PREFERENCES_PAGE_PLUGINS_ITEM, GamesPreferencesPagePluginsItemPrivate)) +enum { + GAMES_PREFERENCES_PAGE_PLUGINS_ITEM_0_PROPERTY +}; GType games_plugin_registrar_get_type (void) G_GNUC_CONST; GamesPreferencesPagePluginsItem* games_preferences_page_plugins_item_new (GamesPluginRegistrar* plugin_registrar); GamesPreferencesPagePluginsItem* games_preferences_page_plugins_item_construct (GType object_type, GamesPluginRegistrar* plugin_registrar); diff -Nru gnome-games-app-3.26.2/src/ui/preferences-page-video.c gnome-games-app-3.28.0/src/ui/preferences-page-video.c --- gnome-games-app-3.26.2/src/ui/preferences-page-video.c 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/preferences-page-video.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* preferences-page-video.c generated by valac 0.38.2, the Vala compiler +/* preferences-page-video.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from preferences-page-video.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -30,14 +30,6 @@ typedef struct _GamesPreferencesPageVideo GamesPreferencesPageVideo; typedef struct _GamesPreferencesPageVideoClass GamesPreferencesPageVideoClass; typedef struct _GamesPreferencesPageVideoPrivate GamesPreferencesPageVideoPrivate; -enum { - GAMES_PREFERENCES_PAGE_VIDEO_DUMMY_PROPERTY, - GAMES_PREFERENCES_PAGE_VIDEO_HEADER_BAR_PROPERTY, - GAMES_PREFERENCES_PAGE_VIDEO_IMMERSIVE_MODE_PROPERTY, - GAMES_PREFERENCES_PAGE_VIDEO_FILTER_ACTIVE_PROPERTY, - GAMES_PREFERENCES_PAGE_VIDEO_LAST_PROPERTY -}; -static GParamSpec* games_preferences_page_video_properties[GAMES_PREFERENCES_PAGE_VIDEO_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) @@ -89,6 +81,12 @@ GType games_preferences_page_get_type (void) G_GNUC_CONST; GType games_preferences_page_video_get_type (void) G_GNUC_CONST; #define GAMES_PREFERENCES_PAGE_VIDEO_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_PREFERENCES_PAGE_VIDEO, GamesPreferencesPageVideoPrivate)) +enum { + GAMES_PREFERENCES_PAGE_VIDEO_0_PROPERTY, + GAMES_PREFERENCES_PAGE_VIDEO_HEADER_BAR_PROPERTY, + GAMES_PREFERENCES_PAGE_VIDEO_IMMERSIVE_MODE_PROPERTY, + GAMES_PREFERENCES_PAGE_VIDEO_FILTER_ACTIVE_PROPERTY +}; static void games_preferences_page_video_filter_list_box_row_activated (GamesPreferencesPageVideo* self, GtkListBoxRow* row_item); void games_preferences_page_video_set_filter_active (GamesPreferencesPageVideo* self, const gchar* value); static void _games_preferences_page_video_filter_list_box_row_activated_gtk_list_box_row_activated (GtkListBox* _sender, GtkListBoxRow* row, gpointer self); @@ -159,7 +157,7 @@ static void games_preferences_page_video_real_set_header_bar (GamesPreferencesPage* base, GtkHeaderBar* value) { GamesPreferencesPageVideo* self; self = (GamesPreferencesPageVideo*) base; - g_object_notify_by_pspec ((GObject *) self, games_preferences_page_video_properties[GAMES_PREFERENCES_PAGE_VIDEO_HEADER_BAR_PROPERTY]); + g_object_notify ((GObject *) self, "header-bar"); } @@ -175,7 +173,7 @@ static void games_preferences_page_video_real_set_immersive_mode (GamesPreferencesPage* base, gboolean value) { GamesPreferencesPageVideo* self; self = (GamesPreferencesPageVideo*) base; - g_object_notify_by_pspec ((GObject *) self, games_preferences_page_video_properties[GAMES_PREFERENCES_PAGE_VIDEO_IMMERSIVE_MODE_PROPERTY]); + g_object_notify ((GObject *) self, "immersive-mode"); } @@ -260,7 +258,7 @@ _tmp17_ = g_strdup (_tmp16_); _g_free0 (self->priv->_filter_active); self->priv->_filter_active = _tmp17_; - g_object_notify_by_pspec ((GObject *) self, games_preferences_page_video_properties[GAMES_PREFERENCES_PAGE_VIDEO_FILTER_ACTIVE_PROPERTY]); + g_object_notify ((GObject *) self, "filter-active"); } @@ -324,9 +322,9 @@ G_OBJECT_CLASS (klass)->set_property = _vala_games_preferences_page_video_set_property; G_OBJECT_CLASS (klass)->constructor = games_preferences_page_video_constructor; G_OBJECT_CLASS (klass)->finalize = games_preferences_page_video_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_PREFERENCES_PAGE_VIDEO_HEADER_BAR_PROPERTY, games_preferences_page_video_properties[GAMES_PREFERENCES_PAGE_VIDEO_HEADER_BAR_PROPERTY] = g_param_spec_object ("header-bar", "header-bar", "header-bar", gtk_header_bar_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_PREFERENCES_PAGE_VIDEO_IMMERSIVE_MODE_PROPERTY, games_preferences_page_video_properties[GAMES_PREFERENCES_PAGE_VIDEO_IMMERSIVE_MODE_PROPERTY] = g_param_spec_boolean ("immersive-mode", "immersive-mode", "immersive-mode", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_PREFERENCES_PAGE_VIDEO_FILTER_ACTIVE_PROPERTY, games_preferences_page_video_properties[GAMES_PREFERENCES_PAGE_VIDEO_FILTER_ACTIVE_PROPERTY] = g_param_spec_string ("filter-active", "filter-active", "filter-active", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_PREFERENCES_PAGE_VIDEO_HEADER_BAR_PROPERTY, g_param_spec_object ("header-bar", "header-bar", "header-bar", gtk_header_bar_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_PREFERENCES_PAGE_VIDEO_IMMERSIVE_MODE_PROPERTY, g_param_spec_boolean ("immersive-mode", "immersive-mode", "immersive-mode", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_PREFERENCES_PAGE_VIDEO_FILTER_ACTIVE_PROPERTY, g_param_spec_string ("filter-active", "filter-active", "filter-active", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); GamesPreferencesPageVideo_private_offset = g_type_class_get_instance_private_offset (klass); gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/Games/ui/preferences-page-video.ui"); gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "header_bar", FALSE, GamesPreferencesPageVideo_private_offset + G_STRUCT_OFFSET (GamesPreferencesPageVideoPrivate, _header_bar)); @@ -347,26 +345,32 @@ static void games_preferences_page_video_instance_init (GamesPreferencesPageVideo * self) { gchar* _tmp0_; gchar* _tmp1_; - gchar** _tmp2_; - gchar* _tmp3_; + gchar* _tmp2_; + gchar** _tmp3_; gchar* _tmp4_; - gchar** _tmp5_; + gchar* _tmp5_; + gchar* _tmp6_; + gchar** _tmp7_; self->priv = GAMES_PREFERENCES_PAGE_VIDEO_GET_PRIVATE (self); _tmp0_ = g_strdup (_ ("Smooth")); _tmp1_ = g_strdup (_ ("Sharp")); - _tmp2_ = g_new0 (gchar*, 2 + 1); - _tmp2_[0] = _tmp0_; - _tmp2_[1] = _tmp1_; - self->priv->filter_display_names = _tmp2_; - self->priv->filter_display_names_length1 = 2; + _tmp2_ = g_strdup (_ ("CRT")); + _tmp3_ = g_new0 (gchar*, 3 + 1); + _tmp3_[0] = _tmp0_; + _tmp3_[1] = _tmp1_; + _tmp3_[2] = _tmp2_; + self->priv->filter_display_names = _tmp3_; + self->priv->filter_display_names_length1 = 3; self->priv->_filter_display_names_size_ = self->priv->filter_display_names_length1; - _tmp3_ = g_strdup ("smooth"); - _tmp4_ = g_strdup ("sharp"); - _tmp5_ = g_new0 (gchar*, 2 + 1); - _tmp5_[0] = _tmp3_; - _tmp5_[1] = _tmp4_; - self->priv->filter_names = _tmp5_; - self->priv->filter_names_length1 = 2; + _tmp4_ = g_strdup ("smooth"); + _tmp5_ = g_strdup ("sharp"); + _tmp6_ = g_strdup ("crt"); + _tmp7_ = g_new0 (gchar*, 3 + 1); + _tmp7_[0] = _tmp4_; + _tmp7_[1] = _tmp5_; + _tmp7_[2] = _tmp6_; + self->priv->filter_names = _tmp7_; + self->priv->filter_names_length1 = 3; self->priv->_filter_names_size_ = self->priv->filter_names_length1; gtk_widget_init_template (GTK_WIDGET (self)); } diff -Nru gnome-games-app-3.26.2/src/ui/preferences-page-video.vala gnome-games-app-3.28.0/src/ui/preferences-page-video.vala --- gnome-games-app-3.26.2/src/ui/preferences-page-video.vala 2017-09-21 12:48:06.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/preferences-page-video.vala 2018-01-30 09:48:30.000000000 +0000 @@ -31,8 +31,8 @@ } // same as video-filters in gschema - private string[] filter_display_names = { _("Smooth"), _("Sharp") }; - private string[] filter_names = { "smooth", "sharp" }; + private string[] filter_display_names = { _("Smooth"), _("Sharp"), _("CRT") }; + private string[] filter_names = { "smooth", "sharp", "crt" }; [GtkChild] private Gtk.ListBox filter_list_box; private Settings settings; diff -Nru gnome-games-app-3.26.2/src/ui/preferences-window.c gnome-games-app-3.28.0/src/ui/preferences-window.c --- gnome-games-app-3.26.2/src/ui/preferences-window.c 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/preferences-window.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* preferences-window.c generated by valac 0.38.2, the Vala compiler +/* preferences-window.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from preferences-window.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -18,13 +18,6 @@ typedef struct _GamesPreferencesWindow GamesPreferencesWindow; typedef struct _GamesPreferencesWindowClass GamesPreferencesWindowClass; typedef struct _GamesPreferencesWindowPrivate GamesPreferencesWindowPrivate; -enum { - GAMES_PREFERENCES_WINDOW_DUMMY_PROPERTY, - GAMES_PREFERENCES_WINDOW_RIGHT_HEADER_BAR_PROPERTY, - GAMES_PREFERENCES_WINDOW_IMMERSIVE_MODE_PROPERTY, - GAMES_PREFERENCES_WINDOW_LAST_PROPERTY -}; -static GParamSpec* games_preferences_window_properties[GAMES_PREFERENCES_WINDOW_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define GAMES_TYPE_PREFERENCES_PAGE (games_preferences_page_get_type ()) @@ -71,6 +64,11 @@ GType games_preferences_window_get_type (void) G_GNUC_CONST; #define GAMES_PREFERENCES_WINDOW_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_PREFERENCES_WINDOW, GamesPreferencesWindowPrivate)) +enum { + GAMES_PREFERENCES_WINDOW_0_PROPERTY, + GAMES_PREFERENCES_WINDOW_RIGHT_HEADER_BAR_PROPERTY, + GAMES_PREFERENCES_WINDOW_IMMERSIVE_MODE_PROPERTY +}; GamesPreferencesWindow* games_preferences_window_new (void); GamesPreferencesWindow* games_preferences_window_construct (GType object_type); static void __lambda13_ (GamesPreferencesWindow* self, GtkWidget* child); @@ -223,7 +221,7 @@ _tmp10_ = _g_object_ref0 (_tmp9_); _g_object_unref0 (self->priv->_right_header_bar); self->priv->_right_header_bar = _tmp10_; - g_object_notify_by_pspec ((GObject *) self, games_preferences_window_properties[GAMES_PREFERENCES_WINDOW_RIGHT_HEADER_BAR_PROPERTY]); + g_object_notify ((GObject *) self, "right-header-bar"); } @@ -275,7 +273,7 @@ } _tmp13_ = value; self->priv->_immersive_mode = _tmp13_; - g_object_notify_by_pspec ((GObject *) self, games_preferences_window_properties[GAMES_PREFERENCES_WINDOW_IMMERSIVE_MODE_PROPERTY]); + g_object_notify ((GObject *) self, "immersive-mode"); } @@ -286,8 +284,8 @@ G_OBJECT_CLASS (klass)->get_property = _vala_games_preferences_window_get_property; G_OBJECT_CLASS (klass)->set_property = _vala_games_preferences_window_set_property; G_OBJECT_CLASS (klass)->finalize = games_preferences_window_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_PREFERENCES_WINDOW_RIGHT_HEADER_BAR_PROPERTY, games_preferences_window_properties[GAMES_PREFERENCES_WINDOW_RIGHT_HEADER_BAR_PROPERTY] = g_param_spec_object ("right-header-bar", "right-header-bar", "right-header-bar", gtk_header_bar_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_PREFERENCES_WINDOW_IMMERSIVE_MODE_PROPERTY, games_preferences_window_properties[GAMES_PREFERENCES_WINDOW_IMMERSIVE_MODE_PROPERTY] = g_param_spec_boolean ("immersive-mode", "immersive-mode", "immersive-mode", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_PREFERENCES_WINDOW_RIGHT_HEADER_BAR_PROPERTY, g_param_spec_object ("right-header-bar", "right-header-bar", "right-header-bar", gtk_header_bar_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_PREFERENCES_WINDOW_IMMERSIVE_MODE_PROPERTY, g_param_spec_boolean ("immersive-mode", "immersive-mode", "immersive-mode", FALSE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE)); GamesPreferencesWindow_private_offset = g_type_class_get_instance_private_offset (klass); gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/Games/ui/preferences-window.ui"); gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "titlebar_box", FALSE, GamesPreferencesWindow_private_offset + G_STRUCT_OFFSET (GamesPreferencesWindowPrivate, titlebar_box)); diff -Nru gnome-games-app-3.26.2/src/ui/quit-dialog.c gnome-games-app-3.28.0/src/ui/quit-dialog.c --- gnome-games-app-3.26.2/src/ui/quit-dialog.c 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/quit-dialog.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* quit-dialog.c generated by valac 0.38.2, the Vala compiler +/* quit-dialog.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from quit-dialog.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -18,11 +18,6 @@ typedef struct _GamesQuitDialog GamesQuitDialog; typedef struct _GamesQuitDialogClass GamesQuitDialogClass; typedef struct _GamesQuitDialogPrivate GamesQuitDialogPrivate; -enum { - GAMES_QUIT_DIALOG_DUMMY_PROPERTY, - GAMES_QUIT_DIALOG_LAST_PROPERTY -}; -static GParamSpec* games_quit_dialog_properties[GAMES_QUIT_DIALOG_LAST_PROPERTY]; struct _GamesQuitDialog { GtkMessageDialog parent_instance; @@ -37,6 +32,9 @@ static gpointer games_quit_dialog_parent_class = NULL; GType games_quit_dialog_get_type (void) G_GNUC_CONST; +enum { + GAMES_QUIT_DIALOG_0_PROPERTY +}; GamesQuitDialog* games_quit_dialog_new (void); GamesQuitDialog* games_quit_dialog_construct (GType object_type); diff -Nru gnome-games-app-3.26.2/src/ui/remote-display.c gnome-games-app-3.28.0/src/ui/remote-display.c --- gnome-games-app-3.26.2/src/ui/remote-display.c 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/remote-display.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* remote-display.c generated by valac 0.38.2, the Vala compiler +/* remote-display.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from remote-display.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -18,11 +18,6 @@ typedef struct _GamesRemoteDisplay GamesRemoteDisplay; typedef struct _GamesRemoteDisplayClass GamesRemoteDisplayClass; typedef struct _GamesRemoteDisplayPrivate GamesRemoteDisplayPrivate; -enum { - GAMES_REMOTE_DISPLAY_DUMMY_PROPERTY, - GAMES_REMOTE_DISPLAY_LAST_PROPERTY -}; -static GParamSpec* games_remote_display_properties[GAMES_REMOTE_DISPLAY_LAST_PROPERTY]; struct _GamesRemoteDisplay { GtkBox parent_instance; @@ -37,6 +32,9 @@ static gpointer games_remote_display_parent_class = NULL; GType games_remote_display_get_type (void) G_GNUC_CONST; +enum { + GAMES_REMOTE_DISPLAY_0_PROPERTY +}; GamesRemoteDisplay* games_remote_display_new (void); GamesRemoteDisplay* games_remote_display_construct (GType object_type); diff -Nru gnome-games-app-3.26.2/src/ui/reset-gamepad-mapping-dialog.c gnome-games-app-3.28.0/src/ui/reset-gamepad-mapping-dialog.c --- gnome-games-app-3.26.2/src/ui/reset-gamepad-mapping-dialog.c 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/reset-gamepad-mapping-dialog.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* reset-gamepad-mapping-dialog.c generated by valac 0.38.2, the Vala compiler +/* reset-gamepad-mapping-dialog.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from reset-gamepad-mapping-dialog.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -18,11 +18,6 @@ typedef struct _GamesResetGamepadMappingDialog GamesResetGamepadMappingDialog; typedef struct _GamesResetGamepadMappingDialogClass GamesResetGamepadMappingDialogClass; typedef struct _GamesResetGamepadMappingDialogPrivate GamesResetGamepadMappingDialogPrivate; -enum { - GAMES_RESET_GAMEPAD_MAPPING_DIALOG_DUMMY_PROPERTY, - GAMES_RESET_GAMEPAD_MAPPING_DIALOG_LAST_PROPERTY -}; -static GParamSpec* games_reset_gamepad_mapping_dialog_properties[GAMES_RESET_GAMEPAD_MAPPING_DIALOG_LAST_PROPERTY]; struct _GamesResetGamepadMappingDialog { GtkMessageDialog parent_instance; @@ -37,6 +32,9 @@ static gpointer games_reset_gamepad_mapping_dialog_parent_class = NULL; GType games_reset_gamepad_mapping_dialog_get_type (void) G_GNUC_CONST; +enum { + GAMES_RESET_GAMEPAD_MAPPING_DIALOG_0_PROPERTY +}; GamesResetGamepadMappingDialog* games_reset_gamepad_mapping_dialog_new (void); GamesResetGamepadMappingDialog* games_reset_gamepad_mapping_dialog_construct (GType object_type); diff -Nru gnome-games-app-3.26.2/src/ui/resume-dialog.c gnome-games-app-3.28.0/src/ui/resume-dialog.c --- gnome-games-app-3.26.2/src/ui/resume-dialog.c 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/resume-dialog.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* resume-dialog.c generated by valac 0.38.2, the Vala compiler +/* resume-dialog.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from resume-dialog.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -18,11 +18,6 @@ typedef struct _GamesResumeDialog GamesResumeDialog; typedef struct _GamesResumeDialogClass GamesResumeDialogClass; typedef struct _GamesResumeDialogPrivate GamesResumeDialogPrivate; -enum { - GAMES_RESUME_DIALOG_DUMMY_PROPERTY, - GAMES_RESUME_DIALOG_LAST_PROPERTY -}; -static GParamSpec* games_resume_dialog_properties[GAMES_RESUME_DIALOG_LAST_PROPERTY]; struct _GamesResumeDialog { GtkMessageDialog parent_instance; @@ -37,6 +32,9 @@ static gpointer games_resume_dialog_parent_class = NULL; GType games_resume_dialog_get_type (void) G_GNUC_CONST; +enum { + GAMES_RESUME_DIALOG_0_PROPERTY +}; GamesResumeDialog* games_resume_dialog_new (void); GamesResumeDialog* games_resume_dialog_construct (GType object_type); diff -Nru gnome-games-app-3.26.2/src/ui/resume-failed-dialog.c gnome-games-app-3.28.0/src/ui/resume-failed-dialog.c --- gnome-games-app-3.26.2/src/ui/resume-failed-dialog.c 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/resume-failed-dialog.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* resume-failed-dialog.c generated by valac 0.38.2, the Vala compiler +/* resume-failed-dialog.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from resume-failed-dialog.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -18,11 +18,6 @@ typedef struct _GamesResumeFailedDialog GamesResumeFailedDialog; typedef struct _GamesResumeFailedDialogClass GamesResumeFailedDialogClass; typedef struct _GamesResumeFailedDialogPrivate GamesResumeFailedDialogPrivate; -enum { - GAMES_RESUME_FAILED_DIALOG_DUMMY_PROPERTY, - GAMES_RESUME_FAILED_DIALOG_LAST_PROPERTY -}; -static GParamSpec* games_resume_failed_dialog_properties[GAMES_RESUME_FAILED_DIALOG_LAST_PROPERTY]; struct _GamesResumeFailedDialog { GtkMessageDialog parent_instance; @@ -37,6 +32,9 @@ static gpointer games_resume_failed_dialog_parent_class = NULL; GType games_resume_failed_dialog_get_type (void) G_GNUC_CONST; +enum { + GAMES_RESUME_FAILED_DIALOG_0_PROPERTY +}; GamesResumeFailedDialog* games_resume_failed_dialog_new (void); GamesResumeFailedDialog* games_resume_failed_dialog_construct (GType object_type); diff -Nru gnome-games-app-3.26.2/src/ui/search-bar.c gnome-games-app-3.28.0/src/ui/search-bar.c --- gnome-games-app-3.26.2/src/ui/search-bar.c 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/search-bar.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* search-bar.c generated by valac 0.38.2, the Vala compiler +/* search-bar.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from search-bar.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -20,12 +20,6 @@ typedef struct _GamesSearchBar GamesSearchBar; typedef struct _GamesSearchBarClass GamesSearchBarClass; typedef struct _GamesSearchBarPrivate GamesSearchBarPrivate; -enum { - GAMES_SEARCH_BAR_DUMMY_PROPERTY, - GAMES_SEARCH_BAR_TEXT_PROPERTY, - GAMES_SEARCH_BAR_LAST_PROPERTY -}; -static GParamSpec* games_search_bar_properties[GAMES_SEARCH_BAR_LAST_PROPERTY]; #define _g_free0(var) (var = (g_free (var), NULL)) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) @@ -48,6 +42,10 @@ GType games_search_bar_get_type (void) G_GNUC_CONST; #define GAMES_SEARCH_BAR_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_SEARCH_BAR, GamesSearchBarPrivate)) +enum { + GAMES_SEARCH_BAR_0_PROPERTY, + GAMES_SEARCH_BAR_TEXT_PROPERTY +}; static void games_search_bar_on_search_changed (GamesSearchBar* self); static void games_search_bar_set_text (GamesSearchBar* self, const gchar* value); static void _games_search_bar_on_search_changed_gtk_search_entry_search_changed (GtkSearchEntry* _sender, gpointer self); @@ -126,7 +124,7 @@ _tmp1_ = g_strdup (_tmp0_); _g_free0 (self->priv->_text); self->priv->_text = _tmp1_; - g_object_notify_by_pspec ((GObject *) self, games_search_bar_properties[GAMES_SEARCH_BAR_TEXT_PROPERTY]); + g_object_notify ((GObject *) self, "text"); } } @@ -138,7 +136,7 @@ G_OBJECT_CLASS (klass)->get_property = _vala_games_search_bar_get_property; G_OBJECT_CLASS (klass)->set_property = _vala_games_search_bar_set_property; G_OBJECT_CLASS (klass)->finalize = games_search_bar_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_SEARCH_BAR_TEXT_PROPERTY, games_search_bar_properties[GAMES_SEARCH_BAR_TEXT_PROPERTY] = g_param_spec_string ("text", "text", "text", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_SEARCH_BAR_TEXT_PROPERTY, g_param_spec_string ("text", "text", "text", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); GamesSearchBar_private_offset = g_type_class_get_instance_private_offset (klass); gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass), "/org/gnome/Games/ui/search-bar.ui"); gtk_widget_class_bind_template_child_full (GTK_WIDGET_CLASS (klass), "entry", FALSE, GamesSearchBar_private_offset + G_STRUCT_OFFSET (GamesSearchBarPrivate, entry)); diff -Nru gnome-games-app-3.26.2/src/ui/ui-state.c gnome-games-app-3.28.0/src/ui/ui-state.c --- gnome-games-app-3.26.2/src/ui/ui-state.c 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/ui/ui-state.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* ui-state.c generated by valac 0.38.2, the Vala compiler +/* ui-state.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from ui-state.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/src/utils/composite-cover.c gnome-games-app-3.28.0/src/utils/composite-cover.c --- gnome-games-app-3.26.2/src/utils/composite-cover.c 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/utils/composite-cover.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* composite-cover.c generated by valac 0.38.2, the Vala compiler +/* composite-cover.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from composite-cover.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -26,11 +26,6 @@ typedef struct _GamesCompositeCover GamesCompositeCover; typedef struct _GamesCompositeCoverClass GamesCompositeCoverClass; typedef struct _GamesCompositeCoverPrivate GamesCompositeCoverPrivate; -enum { - GAMES_COMPOSITE_COVER_DUMMY_PROPERTY, - GAMES_COMPOSITE_COVER_LAST_PROPERTY -}; -static GParamSpec* games_composite_cover_properties[GAMES_COMPOSITE_COVER_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) struct _GamesCoverIface { @@ -60,9 +55,12 @@ GType games_cover_get_type (void) G_GNUC_CONST; GType games_composite_cover_get_type (void) G_GNUC_CONST; #define GAMES_COMPOSITE_COVER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_COMPOSITE_COVER, GamesCompositeCoverPrivate)) +enum { + GAMES_COMPOSITE_COVER_0_PROPERTY +}; GamesCompositeCover* games_composite_cover_new (GamesCover** covers, int covers_length1); GamesCompositeCover* games_composite_cover_construct (GType object_type, GamesCover** covers, int covers_length1); -static GamesCover** _vala_array_dup11 (GamesCover** self, int length); +static GamesCover** _vala_array_dup15 (GamesCover** self, int length); static void games_composite_cover_on_cover_changed (GamesCompositeCover* self); static void _games_composite_cover_on_cover_changed_games_cover_changed (GamesCover* _sender, gpointer self); static GIcon* games_composite_cover_real_get_cover (GamesCover* base); @@ -77,7 +75,7 @@ } -static GamesCover** _vala_array_dup11 (GamesCover** self, int length) { +static GamesCover** _vala_array_dup15 (GamesCover** self, int length) { GamesCover** result; int i; result = g_new0 (GamesCover*, length + 1); @@ -106,7 +104,7 @@ self = (GamesCompositeCover*) g_object_new (object_type, NULL); _tmp0_ = covers; _tmp0__length1 = covers_length1; - _tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup11 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_); + _tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup15 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_); _tmp1__length1 = _tmp0__length1; self->priv->covers = (_vala_array_free (self->priv->covers, self->priv->covers_length1, (GDestroyNotify) g_object_unref), NULL); self->priv->covers = _tmp1_; diff -Nru gnome-games-app-3.26.2/src/utils/composite-title.c gnome-games-app-3.28.0/src/utils/composite-title.c --- gnome-games-app-3.26.2/src/utils/composite-title.c 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/utils/composite-title.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* composite-title.c generated by valac 0.38.2, the Vala compiler +/* composite-title.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from composite-title.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -27,11 +27,6 @@ typedef struct _GamesCompositeTitle GamesCompositeTitle; typedef struct _GamesCompositeTitleClass GamesCompositeTitleClass; typedef struct _GamesCompositeTitlePrivate GamesCompositeTitlePrivate; -enum { - GAMES_COMPOSITE_TITLE_DUMMY_PROPERTY, - GAMES_COMPOSITE_TITLE_LAST_PROPERTY -}; -static GParamSpec* games_composite_title_properties[GAMES_COMPOSITE_TITLE_LAST_PROPERTY]; #define _g_free0(var) (var = (g_free (var), NULL)) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) @@ -67,9 +62,12 @@ GType games_title_get_type (void) G_GNUC_CONST; GType games_composite_title_get_type (void) G_GNUC_CONST; #define GAMES_COMPOSITE_TITLE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_COMPOSITE_TITLE, GamesCompositeTitlePrivate)) +enum { + GAMES_COMPOSITE_TITLE_0_PROPERTY +}; GamesCompositeTitle* games_composite_title_new (GamesTitle** titles, int titles_length1); GamesCompositeTitle* games_composite_title_construct (GType object_type, GamesTitle** titles, int titles_length1); -static GamesTitle** _vala_array_dup12 (GamesTitle** self, int length); +static GamesTitle** _vala_array_dup16 (GamesTitle** self, int length); static gchar* games_composite_title_real_get_title (GamesTitle* base, GError** error); gchar* games_title_get_title (GamesTitle* self, GError** error); static void games_composite_title_finalize (GObject * obj); @@ -82,7 +80,7 @@ } -static GamesTitle** _vala_array_dup12 (GamesTitle** self, int length) { +static GamesTitle** _vala_array_dup16 (GamesTitle** self, int length) { GamesTitle** result; int i; result = g_new0 (GamesTitle*, length + 1); @@ -106,7 +104,7 @@ self = (GamesCompositeTitle*) g_object_new (object_type, NULL); _tmp0_ = titles; _tmp0__length1 = titles_length1; - _tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup12 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_); + _tmp1_ = (_tmp0_ != NULL) ? _vala_array_dup16 (_tmp0_, _tmp0__length1) : ((gpointer) _tmp0_); _tmp1__length1 = _tmp0__length1; self->priv->titles = (_vala_array_free (self->priv->titles, self->priv->titles_length1, (GDestroyNotify) g_object_unref), NULL); self->priv->titles = _tmp1_; @@ -164,7 +162,7 @@ _tmp4_ = games_title_get_title (_tmp3_, &_inner_error_); _tmp2_ = _tmp4_; if (G_UNLIKELY (_inner_error_ != NULL)) { - goto __catch41_g_error; + goto __catch40_g_error; } _tmp5_ = _tmp2_; _tmp2_ = NULL; @@ -174,8 +172,8 @@ _g_error_free0 (last_error); return result; } - goto __finally41; - __catch41_g_error: + goto __finally40; + __catch40_g_error: { GError* e = NULL; GError* _tmp6_; @@ -188,7 +186,7 @@ last_error = _tmp7_; _g_error_free0 (e); } - __finally41: + __finally40: if (G_UNLIKELY (_inner_error_ != NULL)) { g_propagate_error (error, _inner_error_); _g_object_unref0 (title); diff -Nru gnome-games-app-3.26.2/src/utils/cue-sheet/cue-sheet.c gnome-games-app-3.28.0/src/utils/cue-sheet/cue-sheet.c --- gnome-games-app-3.26.2/src/utils/cue-sheet/cue-sheet.c 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/utils/cue-sheet/cue-sheet.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* cue-sheet.c generated by valac 0.38.2, the Vala compiler +/* cue-sheet.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from cue-sheet.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -31,13 +31,6 @@ typedef struct _GamesCueSheetTrackNode GamesCueSheetTrackNode; typedef struct _GamesCueSheetTrackNodeClass GamesCueSheetTrackNodeClass; -enum { - GAMES_CUE_SHEET_DUMMY_PROPERTY, - GAMES_CUE_SHEET_FILE_PROPERTY, - GAMES_CUE_SHEET_TRACKS_NUMBER_PROPERTY, - GAMES_CUE_SHEET_LAST_PROPERTY -}; -static GParamSpec* games_cue_sheet_properties[GAMES_CUE_SHEET_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) #define _g_regex_unref0(var) ((var == NULL) ? NULL : (var = (g_regex_unref (var), NULL))) @@ -113,6 +106,11 @@ GType games_cue_sheet_get_type (void) G_GNUC_CONST; GType games_cue_sheet_track_node_get_type (void) G_GNUC_CONST; #define GAMES_CUE_SHEET_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_CUE_SHEET, GamesCueSheetPrivate)) +enum { + GAMES_CUE_SHEET_0_PROPERTY, + GAMES_CUE_SHEET_FILE_PROPERTY, + GAMES_CUE_SHEET_TRACKS_NUMBER_PROPERTY +}; #define GAMES_CUE_SHEET_NEW_LINE "\n" GamesCueSheet* games_cue_sheet_new (GFile* file, GError** error); GamesCueSheet* games_cue_sheet_construct (GType object_type, GFile* file, GError** error); @@ -1442,8 +1440,8 @@ g_type_class_add_private (klass, sizeof (GamesCueSheetPrivate)); G_OBJECT_CLASS (klass)->get_property = _vala_games_cue_sheet_get_property; G_OBJECT_CLASS (klass)->finalize = games_cue_sheet_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_CUE_SHEET_FILE_PROPERTY, games_cue_sheet_properties[GAMES_CUE_SHEET_FILE_PROPERTY] = g_param_spec_object ("file", "file", "file", g_file_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_CUE_SHEET_TRACKS_NUMBER_PROPERTY, games_cue_sheet_properties[GAMES_CUE_SHEET_TRACKS_NUMBER_PROPERTY] = g_param_spec_uint ("tracks-number", "tracks-number", "tracks-number", 0, G_MAXUINT, 0U, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_CUE_SHEET_FILE_PROPERTY, g_param_spec_object ("file", "file", "file", g_file_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_CUE_SHEET_TRACKS_NUMBER_PROPERTY, g_param_spec_uint ("tracks-number", "tracks-number", "tracks-number", 0, G_MAXUINT, 0U, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE)); } diff -Nru gnome-games-app-3.26.2/src/utils/cue-sheet/cue-sheet-error.c gnome-games-app-3.28.0/src/utils/cue-sheet/cue-sheet-error.c --- gnome-games-app-3.26.2/src/utils/cue-sheet/cue-sheet-error.c 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/utils/cue-sheet/cue-sheet-error.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* cue-sheet-error.c generated by valac 0.38.2, the Vala compiler +/* cue-sheet-error.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from cue-sheet-error.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/src/utils/cue-sheet/cue-sheet-file-format.c gnome-games-app-3.28.0/src/utils/cue-sheet/cue-sheet-file-format.c --- gnome-games-app-3.26.2/src/utils/cue-sheet/cue-sheet-file-format.c 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/utils/cue-sheet/cue-sheet-file-format.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* cue-sheet-file-format.c generated by valac 0.38.2, the Vala compiler +/* cue-sheet-file-format.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from cue-sheet-file-format.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/src/utils/cue-sheet/cue-sheet-file-node.c gnome-games-app-3.28.0/src/utils/cue-sheet/cue-sheet-file-node.c --- gnome-games-app-3.26.2/src/utils/cue-sheet/cue-sheet-file-node.c 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/utils/cue-sheet/cue-sheet-file-node.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* cue-sheet-file-node.c generated by valac 0.38.2, the Vala compiler +/* cue-sheet-file-node.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from cue-sheet-file-node.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -22,14 +22,6 @@ typedef struct _GamesCueSheetFileNodePrivate GamesCueSheetFileNodePrivate; #define GAMES_TYPE_CUE_SHEET_FILE_FORMAT (games_cue_sheet_file_format_get_type ()) -enum { - GAMES_CUE_SHEET_FILE_NODE_DUMMY_PROPERTY, - GAMES_CUE_SHEET_FILE_NODE_FILE_NAME_PROPERTY, - GAMES_CUE_SHEET_FILE_NODE_FILE_FORMAT_PROPERTY, - GAMES_CUE_SHEET_FILE_NODE_FILE_PROPERTY, - GAMES_CUE_SHEET_FILE_NODE_LAST_PROPERTY -}; -static GParamSpec* games_cue_sheet_file_node_properties[GAMES_CUE_SHEET_FILE_NODE_LAST_PROPERTY]; #define _g_free0(var) (var = (g_free (var), NULL)) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) @@ -65,6 +57,12 @@ GType games_cue_sheet_file_node_get_type (void) G_GNUC_CONST; GType games_cue_sheet_file_format_get_type (void) G_GNUC_CONST; #define GAMES_CUE_SHEET_FILE_NODE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_CUE_SHEET_FILE_NODE, GamesCueSheetFileNodePrivate)) +enum { + GAMES_CUE_SHEET_FILE_NODE_0_PROPERTY, + GAMES_CUE_SHEET_FILE_NODE_FILE_NAME_PROPERTY, + GAMES_CUE_SHEET_FILE_NODE_FILE_FORMAT_PROPERTY, + GAMES_CUE_SHEET_FILE_NODE_FILE_PROPERTY +}; GamesCueSheetFileNode* games_cue_sheet_file_node_new (GFile* file, GamesCueSheetFileFormat file_format); GamesCueSheetFileNode* games_cue_sheet_file_node_construct (GType object_type, GFile* file, GamesCueSheetFileFormat file_format); const gchar* games_cue_sheet_file_node_get_file_name (GamesCueSheetFileNode* self); @@ -114,7 +112,7 @@ _tmp1_ = g_strdup (_tmp0_); _g_free0 (self->priv->_file_name); self->priv->_file_name = _tmp1_; - g_object_notify_by_pspec ((GObject *) self, games_cue_sheet_file_node_properties[GAMES_CUE_SHEET_FILE_NODE_FILE_NAME_PROPERTY]); + g_object_notify ((GObject *) self, "file-name"); } } @@ -135,7 +133,7 @@ GamesCueSheetFileFormat _tmp0_; _tmp0_ = value; self->priv->_file_format = _tmp0_; - g_object_notify_by_pspec ((GObject *) self, games_cue_sheet_file_node_properties[GAMES_CUE_SHEET_FILE_NODE_FILE_FORMAT_PROPERTY]); + g_object_notify ((GObject *) self, "file-format"); } } @@ -164,7 +162,7 @@ _tmp1_ = _g_object_ref0 (_tmp0_); _g_object_unref0 (self->priv->_file); self->priv->_file = _tmp1_; - g_object_notify_by_pspec ((GObject *) self, games_cue_sheet_file_node_properties[GAMES_CUE_SHEET_FILE_NODE_FILE_PROPERTY]); + g_object_notify ((GObject *) self, "file"); } } @@ -175,9 +173,9 @@ G_OBJECT_CLASS (klass)->get_property = _vala_games_cue_sheet_file_node_get_property; G_OBJECT_CLASS (klass)->set_property = _vala_games_cue_sheet_file_node_set_property; G_OBJECT_CLASS (klass)->finalize = games_cue_sheet_file_node_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_CUE_SHEET_FILE_NODE_FILE_NAME_PROPERTY, games_cue_sheet_file_node_properties[GAMES_CUE_SHEET_FILE_NODE_FILE_NAME_PROPERTY] = g_param_spec_string ("file-name", "file-name", "file-name", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_CUE_SHEET_FILE_NODE_FILE_FORMAT_PROPERTY, games_cue_sheet_file_node_properties[GAMES_CUE_SHEET_FILE_NODE_FILE_FORMAT_PROPERTY] = g_param_spec_enum ("file-format", "file-format", "file-format", GAMES_TYPE_CUE_SHEET_FILE_FORMAT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_CUE_SHEET_FILE_NODE_FILE_PROPERTY, games_cue_sheet_file_node_properties[GAMES_CUE_SHEET_FILE_NODE_FILE_PROPERTY] = g_param_spec_object ("file", "file", "file", g_file_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_CUE_SHEET_FILE_NODE_FILE_NAME_PROPERTY, g_param_spec_string ("file-name", "file-name", "file-name", NULL, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_CUE_SHEET_FILE_NODE_FILE_FORMAT_PROPERTY, g_param_spec_enum ("file-format", "file-format", "file-format", GAMES_TYPE_CUE_SHEET_FILE_FORMAT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_CUE_SHEET_FILE_NODE_FILE_PROPERTY, g_param_spec_object ("file", "file", "file", g_file_get_type (), G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); } diff -Nru gnome-games-app-3.26.2/src/utils/cue-sheet/cue-sheet-track-mode.c gnome-games-app-3.28.0/src/utils/cue-sheet/cue-sheet-track-mode.c --- gnome-games-app-3.26.2/src/utils/cue-sheet/cue-sheet-track-mode.c 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/utils/cue-sheet/cue-sheet-track-mode.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* cue-sheet-track-mode.c generated by valac 0.38.2, the Vala compiler +/* cue-sheet-track-mode.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from cue-sheet-track-mode.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/src/utils/cue-sheet/cue-sheet-track-node.c gnome-games-app-3.28.0/src/utils/cue-sheet/cue-sheet-track-node.c --- gnome-games-app-3.26.2/src/utils/cue-sheet/cue-sheet-track-node.c 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/utils/cue-sheet/cue-sheet-track-node.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* cue-sheet-track-node.c generated by valac 0.38.2, the Vala compiler +/* cue-sheet-track-node.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from cue-sheet-track-node.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -29,14 +29,6 @@ typedef struct _GamesCueSheetFileNodeClass GamesCueSheetFileNodeClass; #define GAMES_TYPE_CUE_SHEET_TRACK_MODE (games_cue_sheet_track_mode_get_type ()) -enum { - GAMES_CUE_SHEET_TRACK_NODE_DUMMY_PROPERTY, - GAMES_CUE_SHEET_TRACK_NODE_FILE_PROPERTY, - GAMES_CUE_SHEET_TRACK_NODE_TRACK_NUMBER_PROPERTY, - GAMES_CUE_SHEET_TRACK_NODE_TRACK_MODE_PROPERTY, - GAMES_CUE_SHEET_TRACK_NODE_LAST_PROPERTY -}; -static GParamSpec* games_cue_sheet_track_node_properties[GAMES_CUE_SHEET_TRACK_NODE_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) struct _GamesCueSheetTrackNode { @@ -73,6 +65,12 @@ GType games_cue_sheet_file_node_get_type (void) G_GNUC_CONST; GType games_cue_sheet_track_mode_get_type (void) G_GNUC_CONST; #define GAMES_CUE_SHEET_TRACK_NODE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_CUE_SHEET_TRACK_NODE, GamesCueSheetTrackNodePrivate)) +enum { + GAMES_CUE_SHEET_TRACK_NODE_0_PROPERTY, + GAMES_CUE_SHEET_TRACK_NODE_FILE_PROPERTY, + GAMES_CUE_SHEET_TRACK_NODE_TRACK_NUMBER_PROPERTY, + GAMES_CUE_SHEET_TRACK_NODE_TRACK_MODE_PROPERTY +}; GamesCueSheetTrackNode* games_cue_sheet_track_node_new (GamesCueSheetFileNode* file, gint track_number, GamesCueSheetTrackMode track_mode); GamesCueSheetTrackNode* games_cue_sheet_track_node_construct (GType object_type, GamesCueSheetFileNode* file, gint track_number, GamesCueSheetTrackMode track_mode); GamesCueSheetFileNode* games_cue_sheet_track_node_get_file (GamesCueSheetTrackNode* self); @@ -129,7 +127,7 @@ _tmp1_ = _g_object_ref0 (_tmp0_); _g_object_unref0 (self->priv->_file); self->priv->_file = _tmp1_; - g_object_notify_by_pspec ((GObject *) self, games_cue_sheet_track_node_properties[GAMES_CUE_SHEET_TRACK_NODE_FILE_PROPERTY]); + g_object_notify ((GObject *) self, "file"); } } @@ -150,7 +148,7 @@ gint _tmp0_; _tmp0_ = value; self->priv->_track_number = _tmp0_; - g_object_notify_by_pspec ((GObject *) self, games_cue_sheet_track_node_properties[GAMES_CUE_SHEET_TRACK_NODE_TRACK_NUMBER_PROPERTY]); + g_object_notify ((GObject *) self, "track-number"); } } @@ -171,7 +169,7 @@ GamesCueSheetTrackMode _tmp0_; _tmp0_ = value; self->priv->_track_mode = _tmp0_; - g_object_notify_by_pspec ((GObject *) self, games_cue_sheet_track_node_properties[GAMES_CUE_SHEET_TRACK_NODE_TRACK_MODE_PROPERTY]); + g_object_notify ((GObject *) self, "track-mode"); } } @@ -182,9 +180,9 @@ G_OBJECT_CLASS (klass)->get_property = _vala_games_cue_sheet_track_node_get_property; G_OBJECT_CLASS (klass)->set_property = _vala_games_cue_sheet_track_node_set_property; G_OBJECT_CLASS (klass)->finalize = games_cue_sheet_track_node_finalize; - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_CUE_SHEET_TRACK_NODE_FILE_PROPERTY, games_cue_sheet_track_node_properties[GAMES_CUE_SHEET_TRACK_NODE_FILE_PROPERTY] = g_param_spec_object ("file", "file", "file", GAMES_TYPE_CUE_SHEET_FILE_NODE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_CUE_SHEET_TRACK_NODE_TRACK_NUMBER_PROPERTY, games_cue_sheet_track_node_properties[GAMES_CUE_SHEET_TRACK_NODE_TRACK_NUMBER_PROPERTY] = g_param_spec_int ("track-number", "track-number", "track-number", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); - g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_CUE_SHEET_TRACK_NODE_TRACK_MODE_PROPERTY, games_cue_sheet_track_node_properties[GAMES_CUE_SHEET_TRACK_NODE_TRACK_MODE_PROPERTY] = g_param_spec_enum ("track-mode", "track-mode", "track-mode", GAMES_TYPE_CUE_SHEET_TRACK_MODE, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_CUE_SHEET_TRACK_NODE_FILE_PROPERTY, g_param_spec_object ("file", "file", "file", GAMES_TYPE_CUE_SHEET_FILE_NODE, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_CUE_SHEET_TRACK_NODE_TRACK_NUMBER_PROPERTY, g_param_spec_int ("track-number", "track-number", "track-number", G_MININT, G_MAXINT, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); + g_object_class_install_property (G_OBJECT_CLASS (klass), GAMES_CUE_SHEET_TRACK_NODE_TRACK_MODE_PROPERTY, g_param_spec_enum ("track-mode", "track-mode", "track-mode", GAMES_TYPE_CUE_SHEET_TRACK_MODE, 0, G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB | G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT_ONLY)); } diff -Nru gnome-games-app-3.26.2/src/utils/directory.c gnome-games-app-3.28.0/src/utils/directory.c --- gnome-games-app-3.26.2/src/utils/directory.c 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/utils/directory.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* directory.c generated by valac 0.38.2, the Vala compiler +/* directory.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from directory.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -20,11 +20,6 @@ typedef struct _GamesDirectory GamesDirectory; typedef struct _GamesDirectoryClass GamesDirectoryClass; typedef struct _GamesDirectoryPrivate GamesDirectoryPrivate; -enum { - GAMES_DIRECTORY_DUMMY_PROPERTY, - GAMES_DIRECTORY_LAST_PROPERTY -}; -static GParamSpec* games_directory_properties[GAMES_DIRECTORY_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) struct _GamesDirectory { @@ -46,6 +41,9 @@ GType games_directory_get_type (void) G_GNUC_CONST; #define GAMES_DIRECTORY_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_DIRECTORY, GamesDirectoryPrivate)) +enum { + GAMES_DIRECTORY_0_PROPERTY +}; GamesDirectory* games_directory_new (GFile* file); GamesDirectory* games_directory_construct (GType object_type, GFile* file); void games_directory_foreach (GamesDirectory* self, const gchar* attributes, GamesDirectoryFileInfoTest file_info_test, void* file_info_test_target, GError** error); diff -Nru gnome-games-app-3.26.2/src/utils/filename-title.c gnome-games-app-3.28.0/src/utils/filename-title.c --- gnome-games-app-3.26.2/src/utils/filename-title.c 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/utils/filename-title.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* filename-title.c generated by valac 0.38.2, the Vala compiler +/* filename-title.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from filename-title.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -38,11 +38,6 @@ typedef struct _GamesUri GamesUri; typedef struct _GamesUriClass GamesUriClass; -enum { - GAMES_FILENAME_TITLE_DUMMY_PROPERTY, - GAMES_FILENAME_TITLE_LAST_PROPERTY -}; -static GParamSpec* games_filename_title_properties[GAMES_FILENAME_TITLE_LAST_PROPERTY]; #define _games_uri_unref0(var) ((var == NULL) ? NULL : (var = (games_uri_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) @@ -82,6 +77,9 @@ gpointer games_value_get_uri (const GValue* value); GType games_uri_get_type (void) G_GNUC_CONST; #define GAMES_FILENAME_TITLE_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_FILENAME_TITLE, GamesFilenameTitlePrivate)) +enum { + GAMES_FILENAME_TITLE_0_PROPERTY +}; GamesFilenameTitle* games_filename_title_new (GamesUri* uri); GamesFilenameTitle* games_filename_title_construct (GType object_type, GamesUri* uri); static gchar* games_filename_title_real_get_title (GamesTitle* base, GError** error); diff -Nru gnome-games-app-3.26.2/src/utils/fingerprint.c gnome-games-app-3.28.0/src/utils/fingerprint.c --- gnome-games-app-3.26.2/src/utils/fingerprint.c 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/utils/fingerprint.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* fingerprint.c generated by valac 0.38.2, the Vala compiler +/* fingerprint.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from fingerprint.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -41,11 +41,6 @@ typedef struct _GamesFingerprintUid GamesFingerprintUid; typedef struct _GamesFingerprintUidClass GamesFingerprintUidClass; typedef struct _GamesFingerprintUidPrivate GamesFingerprintUidPrivate; -enum { - GAMES_FINGERPRINT_UID_DUMMY_PROPERTY, - GAMES_FINGERPRINT_UID_LAST_PROPERTY -}; -static GParamSpec* games_fingerprint_uid_properties[GAMES_FINGERPRINT_UID_LAST_PROPERTY]; #define _games_uri_unref0(var) ((var == NULL) ? NULL : (var = (games_uri_unref (var), NULL))) struct _GamesUidIface { @@ -87,6 +82,9 @@ GType games_uid_get_type (void) G_GNUC_CONST; GType games_fingerprint_uid_get_type (void) G_GNUC_CONST; #define GAMES_FINGERPRINT_UID_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_FINGERPRINT_UID, GamesFingerprintUidPrivate)) +enum { + GAMES_FINGERPRINT_UID_0_PROPERTY +}; GamesFingerprintUid* games_fingerprint_uid_new (GamesUri* uri, const gchar* prefix); GamesFingerprintUid* games_fingerprint_uid_construct (GType object_type, GamesUri* uri, const gchar* prefix); GamesFingerprintUid* games_fingerprint_uid_new_for_chunk (GamesUri* uri, const gchar* prefix, gsize start, gsize length); diff -Nru gnome-games-app-3.26.2/src/utils/grep.c gnome-games-app-3.28.0/src/utils/grep.c --- gnome-games-app-3.26.2/src/utils/grep.c 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/utils/grep.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* grep.c generated by valac 0.38.2, the Vala compiler +/* grep.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from grep.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -154,7 +154,7 @@ _tmp13_ = _tmp18_; if (G_UNLIKELY (_inner_error_ != NULL)) { if (_inner_error_->domain == G_SPAWN_ERROR) { - goto __catch42_g_spawn_error; + goto __catch41_g_spawn_error; } _g_free0 (output); env = (_vala_array_free (env, env_length1, (GDestroyNotify) g_free), NULL); @@ -166,8 +166,8 @@ } success = _tmp13_; } - goto __finally42; - __catch42_g_spawn_error: + goto __finally41; + __catch41_g_spawn_error: { GError* e = NULL; gsize* _tmp19_; @@ -189,7 +189,7 @@ _g_free0 (working_dir); return result; } - __finally42: + __finally41: if (G_UNLIKELY (_inner_error_ != NULL)) { _g_free0 (output); env = (_vala_array_free (env, env_length1, (GDestroyNotify) g_free), NULL); diff -Nru gnome-games-app-3.26.2/src/utils/local-cover.c gnome-games-app-3.28.0/src/utils/local-cover.c --- gnome-games-app-3.26.2/src/utils/local-cover.c 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/utils/local-cover.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* local-cover.c generated by valac 0.38.2, the Vala compiler +/* local-cover.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from local-cover.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -39,16 +39,11 @@ typedef struct _GamesUri GamesUri; typedef struct _GamesUriClass GamesUriClass; -enum { - GAMES_LOCAL_COVER_DUMMY_PROPERTY, - GAMES_LOCAL_COVER_LAST_PROPERTY -}; -static GParamSpec* games_local_cover_properties[GAMES_LOCAL_COVER_LAST_PROPERTY]; #define _games_uri_unref0(var) ((var == NULL) ? NULL : (var = (games_uri_unref (var), NULL))) #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) #define _g_error_free0(var) ((var == NULL) ? NULL : (var = (g_error_free (var), NULL))) -typedef struct _Block14Data Block14Data; +typedef struct _Block11Data Block11Data; #define GAMES_TYPE_DIRECTORY (games_directory_get_type ()) #define GAMES_DIRECTORY(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAMES_TYPE_DIRECTORY, GamesDirectory)) @@ -59,7 +54,7 @@ typedef struct _GamesDirectory GamesDirectory; typedef struct _GamesDirectoryClass GamesDirectoryClass; -typedef struct _Block15Data Block15Data; +typedef struct _Block12Data Block12Data; struct _GamesCoverIface { GTypeInterface parent_iface; @@ -81,7 +76,7 @@ GIcon* icon; }; -struct _Block14Data { +struct _Block11Data { int _ref_count_; GamesLocalCover* self; GFile* parent; @@ -91,7 +86,7 @@ }; typedef gboolean (*GamesDirectoryFileInfoTest) (GFileInfo* file_info, void* user_data, GError** error); -struct _Block15Data { +struct _Block12Data { int _ref_count_; GamesLocalCover* self; GFile* parent; @@ -112,24 +107,27 @@ gpointer games_value_get_uri (const GValue* value); GType games_uri_get_type (void) G_GNUC_CONST; #define GAMES_LOCAL_COVER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_LOCAL_COVER, GamesLocalCoverPrivate)) +enum { + GAMES_LOCAL_COVER_0_PROPERTY +}; GamesLocalCover* games_local_cover_new (GamesUri* uri); GamesLocalCover* games_local_cover_construct (GType object_type, GamesUri* uri); static GIcon* games_local_cover_real_get_cover (GamesCover* base); static gchar* games_local_cover_get_cover_path (GamesLocalCover* self, GError** error); static gchar* games_local_cover_get_sibbling_cover_path (GamesLocalCover* self, GError** error); static gchar* games_local_cover_get_directory_cover_path (GamesLocalCover* self, GError** error); -static Block14Data* block14_data_ref (Block14Data* _data14_); -static void block14_data_unref (void * _userdata_); +static Block11Data* block11_data_ref (Block11Data* _data11_); +static void block11_data_unref (void * _userdata_); GFile* games_uri_to_file (GamesUri* self); GType games_directory_get_type (void) G_GNUC_CONST; GamesDirectory* games_directory_new (GFile* file); GamesDirectory* games_directory_construct (GType object_type, GFile* file); void games_directory_foreach (GamesDirectory* self, const gchar* attributes, GamesDirectoryFileInfoTest file_info_test, void* file_info_test_target, GError** error); -static gboolean __lambda16_ (Block14Data* _data14_, GFileInfo* sibbling, GError** error); +static gboolean __lambda16_ (Block11Data* _data11_, GFileInfo* sibbling, GError** error); static gboolean ___lambda16__games_directory_file_info_test (GFileInfo* file_info, gpointer self, GError** error); -static Block15Data* block15_data_ref (Block15Data* _data15_); -static void block15_data_unref (void * _userdata_); -static gboolean __lambda17_ (Block15Data* _data15_, GFileInfo* sibbling, GError** error); +static Block12Data* block12_data_ref (Block12Data* _data12_); +static void block12_data_unref (void * _userdata_); +static gboolean __lambda17_ (Block12Data* _data12_, GFileInfo* sibbling, GError** error); static gboolean ___lambda17__games_directory_file_info_test (GFileInfo* file_info, gpointer self, GError** error); static void games_local_cover_finalize (GObject * obj); static void _vala_array_destroy (gpointer array, gint array_length, GDestroyNotify destroy_func); @@ -198,7 +196,7 @@ _tmp4_ = games_local_cover_get_cover_path (self, &_inner_error_); _tmp3_ = _tmp4_; if (G_UNLIKELY (_inner_error_ != NULL)) { - goto __catch43_g_error; + goto __catch42_g_error; } _tmp5_ = _tmp3_; _tmp3_ = NULL; @@ -206,8 +204,8 @@ cover_path = _tmp5_; _g_free0 (_tmp3_); } - goto __finally43; - __catch43_g_error: + goto __finally42; + __catch42_g_error: { GError* e = NULL; GError* _tmp6_; @@ -222,7 +220,7 @@ _g_free0 (cover_path); return result; } - __finally43: + __finally42: if (G_UNLIKELY (_inner_error_ != NULL)) { _g_free0 (cover_path); g_critical ("file %s: line %d: uncaught error: %s (%s, %d)", __FILE__, __LINE__, _inner_error_->message, g_quark_to_string (_inner_error_->domain), _inner_error_->code); @@ -317,24 +315,24 @@ } -static Block14Data* block14_data_ref (Block14Data* _data14_) { - g_atomic_int_inc (&_data14_->_ref_count_); - return _data14_; +static Block11Data* block11_data_ref (Block11Data* _data11_) { + g_atomic_int_inc (&_data11_->_ref_count_); + return _data11_; } -static void block14_data_unref (void * _userdata_) { - Block14Data* _data14_; - _data14_ = (Block14Data*) _userdata_; - if (g_atomic_int_dec_and_test (&_data14_->_ref_count_)) { +static void block11_data_unref (void * _userdata_) { + Block11Data* _data11_; + _data11_ = (Block11Data*) _userdata_; + if (g_atomic_int_dec_and_test (&_data11_->_ref_count_)) { GamesLocalCover* self; - self = _data14_->self; - _g_free0 (_data14_->cover_path); - _g_free0 (_data14_->prefix); - _g_free0 (_data14_->basename); - _g_object_unref0 (_data14_->parent); + self = _data11_->self; + _g_free0 (_data11_->cover_path); + _g_free0 (_data11_->prefix); + _g_free0 (_data11_->basename); + _g_object_unref0 (_data11_->parent); _g_object_unref0 (self); - g_slice_free (Block14Data, _data14_); + g_slice_free (Block11Data, _data11_); } } @@ -343,44 +341,44 @@ gchar* result = NULL; const gchar* _tmp0_; gboolean _tmp1_ = FALSE; - gboolean _tmp2_ = FALSE; - gchar** _tmp3_; - gint _tmp3__length1; + gchar** _tmp2_; + gint _tmp2__length1; _tmp0_ = separator; if (_tmp0_ == NULL) { separator = ""; } - _tmp3_ = str_array; - _tmp3__length1 = str_array_length1; - if (_tmp3_ != NULL) { - _tmp2_ = TRUE; - } else { + _tmp2_ = str_array; + _tmp2__length1 = str_array_length1; + if (_tmp2_ != NULL) { + gboolean _tmp3_ = FALSE; gchar** _tmp4_; gint _tmp4__length1; _tmp4_ = str_array; _tmp4__length1 = str_array_length1; - _tmp2_ = _tmp4__length1 > 0; - } - if (_tmp2_) { - _tmp1_ = TRUE; - } else { - gboolean _tmp5_ = FALSE; - gchar** _tmp6_; - gint _tmp6__length1; - _tmp6_ = str_array; - _tmp6__length1 = str_array_length1; - if (_tmp6__length1 == -1) { - gchar** _tmp7_; - gint _tmp7__length1; - const gchar* _tmp8_; - _tmp7_ = str_array; - _tmp7__length1 = str_array_length1; - _tmp8_ = _tmp7_[0]; - _tmp5_ = _tmp8_ != NULL; + if (_tmp4__length1 > 0) { + _tmp3_ = TRUE; } else { - _tmp5_ = FALSE; + gboolean _tmp5_ = FALSE; + gchar** _tmp6_; + gint _tmp6__length1; + _tmp6_ = str_array; + _tmp6__length1 = str_array_length1; + if (_tmp6__length1 == -1) { + gchar** _tmp7_; + gint _tmp7__length1; + const gchar* _tmp8_; + _tmp7_ = str_array; + _tmp7__length1 = str_array_length1; + _tmp8_ = _tmp7_[0]; + _tmp5_ = _tmp8_ != NULL; + } else { + _tmp5_ = FALSE; + } + _tmp3_ = _tmp5_; } - _tmp1_ = _tmp5_; + _tmp1_ = _tmp3_; + } else { + _tmp1_ = FALSE; } if (_tmp1_) { gint i = 0; @@ -583,7 +581,7 @@ } -static gboolean __lambda16_ (Block14Data* _data14_, GFileInfo* sibbling, GError** error) { +static gboolean __lambda16_ (Block11Data* _data11_, GFileInfo* sibbling, GError** error) { GamesLocalCover* self; gboolean result = FALSE; gchar* sibbling_basename = NULL; @@ -607,21 +605,21 @@ GFile* _tmp15_; GFile* _tmp16_; gchar* _tmp17_; - self = _data14_->self; + self = _data11_->self; g_return_val_if_fail (sibbling != NULL, FALSE); _tmp0_ = sibbling; _tmp1_ = g_file_info_get_name (_tmp0_); _tmp2_ = g_strdup (_tmp1_); sibbling_basename = _tmp2_; _tmp3_ = sibbling_basename; - _tmp4_ = _data14_->basename; + _tmp4_ = _data11_->basename; if (g_strcmp0 (_tmp3_, _tmp4_) == 0) { result = FALSE; _g_free0 (sibbling_basename); return result; } _tmp5_ = sibbling_basename; - _tmp6_ = _data14_->prefix; + _tmp6_ = _data11_->prefix; _tmp7_ = g_str_has_prefix (_tmp5_, _tmp6_); if (!_tmp7_) { result = FALSE; @@ -640,14 +638,14 @@ _g_free0 (sibbling_basename); return result; } - _tmp13_ = _data14_->parent; + _tmp13_ = _data11_->parent; _tmp14_ = sibbling_basename; _tmp15_ = g_file_get_child (_tmp13_, _tmp14_); sibbling_file = _tmp15_; _tmp16_ = sibbling_file; _tmp17_ = g_file_get_path (_tmp16_); - _g_free0 (_data14_->cover_path); - _data14_->cover_path = _tmp17_; + _g_free0 (_data11_->cover_path); + _data11_->cover_path = _tmp17_; result = TRUE; _g_object_unref0 (sibbling_file); _g_free0 (type); @@ -665,7 +663,7 @@ static gchar* games_local_cover_get_sibbling_cover_path (GamesLocalCover* self, GError** error) { gchar* result = NULL; - Block14Data* _data14_; + Block11Data* _data11_; GFile* file = NULL; GamesUri* _tmp0_; GFile* _tmp1_; @@ -692,27 +690,27 @@ gchar* _tmp22_; GError * _inner_error_ = NULL; g_return_val_if_fail (self != NULL, NULL); - _data14_ = g_slice_new0 (Block14Data); - _data14_->_ref_count_ = 1; - _data14_->self = g_object_ref (self); + _data11_ = g_slice_new0 (Block11Data); + _data11_->_ref_count_ = 1; + _data11_->self = g_object_ref (self); _tmp0_ = self->priv->uri; _tmp1_ = games_uri_to_file (_tmp0_); file = _tmp1_; _tmp2_ = file; _tmp3_ = g_file_get_parent (_tmp2_); - _data14_->parent = _tmp3_; - _tmp4_ = _data14_->parent; + _data11_->parent = _tmp3_; + _tmp4_ = _data11_->parent; if (_tmp4_ == NULL) { result = NULL; _g_object_unref0 (file); - block14_data_unref (_data14_); - _data14_ = NULL; + block11_data_unref (_data11_); + _data11_ = NULL; return result; } _tmp5_ = file; _tmp6_ = g_file_get_basename (_tmp5_); - _data14_->basename = _tmp6_; - _tmp7_ = _data14_->basename; + _data11_->basename = _tmp6_; + _tmp7_ = _data11_->basename; _tmp9_ = _tmp8_ = g_strsplit (_tmp7_, ".", 0); splitted_basename = _tmp9_; splitted_basename_length1 = _vala_array_length (_tmp8_); @@ -722,7 +720,7 @@ if (_tmp11__length1 == 1) { const gchar* _tmp12_; gchar* _tmp13_; - _tmp12_ = _data14_->basename; + _tmp12_ = _data11_->basename; _tmp13_ = g_strdup (_tmp12_); _g_free0 (_tmp10_); _tmp10_ = _tmp13_; @@ -741,57 +739,57 @@ _tmp10_ = _tmp16_; } _tmp17_ = g_strdup (_tmp10_); - _data14_->prefix = _tmp17_; - _data14_->cover_path = NULL; - _tmp18_ = _data14_->parent; + _data11_->prefix = _tmp17_; + _data11_->cover_path = NULL; + _tmp18_ = _data11_->parent; _tmp19_ = games_directory_new (_tmp18_); directory = _tmp19_; _tmp20_ = directory; - games_directory_foreach (_tmp20_, "*", ___lambda16__games_directory_file_info_test, _data14_, &_inner_error_); + games_directory_foreach (_tmp20_, "*", ___lambda16__games_directory_file_info_test, _data11_, &_inner_error_); if (G_UNLIKELY (_inner_error_ != NULL)) { g_propagate_error (error, _inner_error_); _g_object_unref0 (directory); _g_free0 (_tmp10_); splitted_basename = (_vala_array_free (splitted_basename, splitted_basename_length1, (GDestroyNotify) g_free), NULL); _g_object_unref0 (file); - block14_data_unref (_data14_); - _data14_ = NULL; + block11_data_unref (_data11_); + _data11_ = NULL; return NULL; } - _tmp21_ = _data14_->cover_path; + _tmp21_ = _data11_->cover_path; _tmp22_ = g_strdup (_tmp21_); result = _tmp22_; _g_object_unref0 (directory); _g_free0 (_tmp10_); splitted_basename = (_vala_array_free (splitted_basename, splitted_basename_length1, (GDestroyNotify) g_free), NULL); _g_object_unref0 (file); - block14_data_unref (_data14_); - _data14_ = NULL; + block11_data_unref (_data11_); + _data11_ = NULL; return result; } -static Block15Data* block15_data_ref (Block15Data* _data15_) { - g_atomic_int_inc (&_data15_->_ref_count_); - return _data15_; +static Block12Data* block12_data_ref (Block12Data* _data12_) { + g_atomic_int_inc (&_data12_->_ref_count_); + return _data12_; } -static void block15_data_unref (void * _userdata_) { - Block15Data* _data15_; - _data15_ = (Block15Data*) _userdata_; - if (g_atomic_int_dec_and_test (&_data15_->_ref_count_)) { +static void block12_data_unref (void * _userdata_) { + Block12Data* _data12_; + _data12_ = (Block12Data*) _userdata_; + if (g_atomic_int_dec_and_test (&_data12_->_ref_count_)) { GamesLocalCover* self; - self = _data15_->self; - _g_free0 (_data15_->cover_path); - _g_object_unref0 (_data15_->parent); + self = _data12_->self; + _g_free0 (_data12_->cover_path); + _g_object_unref0 (_data12_->parent); _g_object_unref0 (self); - g_slice_free (Block15Data, _data15_); + g_slice_free (Block12Data, _data12_); } } -static gboolean __lambda17_ (Block15Data* _data15_, GFileInfo* sibbling, GError** error) { +static gboolean __lambda17_ (Block12Data* _data12_, GFileInfo* sibbling, GError** error) { GamesLocalCover* self; gboolean result = FALSE; gchar* sibbling_basename = NULL; @@ -813,7 +811,7 @@ GFile* _tmp15_; GFile* _tmp16_; gchar* _tmp17_; - self = _data15_->self; + self = _data12_->self; g_return_val_if_fail (sibbling != NULL, FALSE); _tmp0_ = sibbling; _tmp1_ = g_file_info_get_name (_tmp0_); @@ -847,14 +845,14 @@ _g_free0 (sibbling_basename); return result; } - _tmp13_ = _data15_->parent; + _tmp13_ = _data12_->parent; _tmp14_ = sibbling_basename; _tmp15_ = g_file_get_child (_tmp13_, _tmp14_); sibbling_file = _tmp15_; _tmp16_ = sibbling_file; _tmp17_ = g_file_get_path (_tmp16_); - _g_free0 (_data15_->cover_path); - _data15_->cover_path = _tmp17_; + _g_free0 (_data12_->cover_path); + _data12_->cover_path = _tmp17_; result = TRUE; _g_object_unref0 (sibbling_file); _g_free0 (type); @@ -872,7 +870,7 @@ static gchar* games_local_cover_get_directory_cover_path (GamesLocalCover* self, GError** error) { gchar* result = NULL; - Block15Data* _data15_; + Block12Data* _data12_; GFile* file = NULL; GamesUri* _tmp0_; GFile* _tmp1_; @@ -887,44 +885,44 @@ gchar* _tmp9_; GError * _inner_error_ = NULL; g_return_val_if_fail (self != NULL, NULL); - _data15_ = g_slice_new0 (Block15Data); - _data15_->_ref_count_ = 1; - _data15_->self = g_object_ref (self); + _data12_ = g_slice_new0 (Block12Data); + _data12_->_ref_count_ = 1; + _data12_->self = g_object_ref (self); _tmp0_ = self->priv->uri; _tmp1_ = games_uri_to_file (_tmp0_); file = _tmp1_; _tmp2_ = file; _tmp3_ = g_file_get_parent (_tmp2_); - _data15_->parent = _tmp3_; - _tmp4_ = _data15_->parent; + _data12_->parent = _tmp3_; + _tmp4_ = _data12_->parent; if (_tmp4_ == NULL) { result = NULL; _g_object_unref0 (file); - block15_data_unref (_data15_); - _data15_ = NULL; + block12_data_unref (_data12_); + _data12_ = NULL; return result; } - _data15_->cover_path = NULL; - _tmp5_ = _data15_->parent; + _data12_->cover_path = NULL; + _tmp5_ = _data12_->parent; _tmp6_ = games_directory_new (_tmp5_); directory = _tmp6_; _tmp7_ = directory; - games_directory_foreach (_tmp7_, "*", ___lambda17__games_directory_file_info_test, _data15_, &_inner_error_); + games_directory_foreach (_tmp7_, "*", ___lambda17__games_directory_file_info_test, _data12_, &_inner_error_); if (G_UNLIKELY (_inner_error_ != NULL)) { g_propagate_error (error, _inner_error_); _g_object_unref0 (directory); _g_object_unref0 (file); - block15_data_unref (_data15_); - _data15_ = NULL; + block12_data_unref (_data12_); + _data12_ = NULL; return NULL; } - _tmp8_ = _data15_->cover_path; + _tmp8_ = _data12_->cover_path; _tmp9_ = g_strdup (_tmp8_); result = _tmp9_; _g_object_unref0 (directory); _g_object_unref0 (file); - block15_data_unref (_data15_); - _data15_ = NULL; + block12_data_unref (_data12_); + _data12_ = NULL; return result; } diff -Nru gnome-games-app-3.26.2/src/utils/string-input-stream.c gnome-games-app-3.28.0/src/utils/string-input-stream.c --- gnome-games-app-3.26.2/src/utils/string-input-stream.c 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/utils/string-input-stream.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* string-input-stream.c generated by valac 0.38.2, the Vala compiler +/* string-input-stream.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from string-input-stream.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -20,11 +20,6 @@ typedef struct _GamesStringInputStream GamesStringInputStream; typedef struct _GamesStringInputStreamClass GamesStringInputStreamClass; typedef struct _GamesStringInputStreamPrivate GamesStringInputStreamPrivate; -enum { - GAMES_STRING_INPUT_STREAM_DUMMY_PROPERTY, - GAMES_STRING_INPUT_STREAM_LAST_PROPERTY -}; -static GParamSpec* games_string_input_stream_properties[GAMES_STRING_INPUT_STREAM_LAST_PROPERTY]; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _g_free0(var) (var = (g_free (var), NULL)) @@ -46,6 +41,9 @@ GType games_string_input_stream_get_type (void) G_GNUC_CONST; #define GAMES_STRING_INPUT_STREAM_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_STRING_INPUT_STREAM, GamesStringInputStreamPrivate)) +enum { + GAMES_STRING_INPUT_STREAM_0_PROPERTY +}; GamesStringInputStream* games_string_input_stream_new (GFile* file); GamesStringInputStream* games_string_input_stream_construct (GType object_type, GFile* file); gboolean games_string_input_stream_has_string (GamesStringInputStream* self, gsize offset, const gchar* value, GError** error); diff -Nru gnome-games-app-3.26.2/src/utils/uri.c gnome-games-app-3.28.0/src/utils/uri.c --- gnome-games-app-3.26.2/src/utils/uri.c 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/utils/uri.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* uri.c generated by valac 0.38.2, the Vala compiler +/* uri.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from uri.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -21,11 +21,6 @@ typedef struct _GamesUri GamesUri; typedef struct _GamesUriClass GamesUriClass; typedef struct _GamesUriPrivate GamesUriPrivate; -enum { - GAMES_URI_DUMMY_PROPERTY, - GAMES_URI_LAST_PROPERTY -}; -static GParamSpec* games_uri_properties[GAMES_URI_LAST_PROPERTY]; #define _g_free0(var) (var = (g_free (var), NULL)) #define _games_uri_unref0(var) ((var == NULL) ? NULL : (var = (games_uri_unref (var), NULL))) #define _g_match_info_unref0(var) ((var == NULL) ? NULL : (var = (g_match_info_unref (var), NULL))) @@ -68,6 +63,9 @@ gpointer games_value_get_uri (const GValue* value); GType games_uri_get_type (void) G_GNUC_CONST; #define GAMES_URI_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_URI, GamesUriPrivate)) +enum { + GAMES_URI_0_PROPERTY +}; GamesUri* games_uri_new (const gchar* uri); GamesUri* games_uri_construct (GType object_type, const gchar* uri); GamesUri* games_uri_new_from_uri_and_scheme (GamesUri* uri, const gchar* scheme, GError** error); diff -Nru gnome-games-app-3.26.2/src/utils/uri-error.c gnome-games-app-3.28.0/src/utils/uri-error.c --- gnome-games-app-3.26.2/src/utils/uri-error.c 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/utils/uri-error.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* uri-error.c generated by valac 0.38.2, the Vala compiler +/* uri-error.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from uri-error.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ diff -Nru gnome-games-app-3.26.2/src/utils/xml-doc.c gnome-games-app-3.28.0/src/utils/xml-doc.c --- gnome-games-app-3.26.2/src/utils/xml-doc.c 2017-11-07 18:57:23.000000000 +0000 +++ gnome-games-app-3.28.0/src/utils/xml-doc.c 2018-03-12 14:40:13.000000000 +0000 @@ -1,4 +1,4 @@ -/* xml-doc.c generated by valac 0.38.2, the Vala compiler +/* xml-doc.c generated by valac 0.36.12.13-3ae08, the Vala compiler * generated from xml-doc.vala, do not modify */ /* This file is part of GNOME Games. License: GPL-3.0+.*/ @@ -22,12 +22,7 @@ typedef struct _GamesXmlDoc GamesXmlDoc; typedef struct _GamesXmlDocClass GamesXmlDocClass; typedef struct _GamesXmlDocPrivate GamesXmlDocPrivate; -enum { - GAMES_XML_DOC_DUMMY_PROPERTY, - GAMES_XML_DOC_LAST_PROPERTY -}; -static GParamSpec* games_xml_doc_properties[GAMES_XML_DOC_LAST_PROPERTY]; -typedef struct _Block16Data Block16Data; +typedef struct _Block13Data Block13Data; #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL))) #define _xmlXPathFreeContext0(var) ((var == NULL) ? NULL : (var = (xmlXPathFreeContext (var), NULL))) @@ -44,7 +39,7 @@ xmlDoc* doc; }; -struct _Block16Data { +struct _Block13Data { int _ref_count_; GamesXmlDoc* self; gchar** contents; @@ -58,18 +53,21 @@ GType games_xml_doc_get_type (void) G_GNUC_CONST; #define GAMES_XML_DOC_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), GAMES_TYPE_XML_DOC, GamesXmlDocPrivate)) +enum { + GAMES_XML_DOC_0_PROPERTY +}; GamesXmlDoc* games_xml_doc_new_from_data (guint8* data, int data_length1, GError** error); GamesXmlDoc* games_xml_doc_construct_from_data (GType object_type, guint8* data, int data_length1, GError** error); gchar* games_xml_doc_get_content (GamesXmlDoc* self, const gchar* xpath, xmlNode* current_node); static xmlNode* games_xml_doc_get_node (GamesXmlDoc* self, const gchar* xpath, xmlNode* from_node); gchar** games_xml_doc_get_contents (GamesXmlDoc* self, const gchar* xpath, xmlNode* current_node, int* result_length1); -static Block16Data* block16_data_ref (Block16Data* _data16_); -static void block16_data_unref (void * _userdata_); +static Block13Data* block13_data_ref (Block13Data* _data13_); +static void block13_data_unref (void * _userdata_); static void games_xml_doc_foreach_node (GamesXmlDoc* self, const gchar* xpath, xmlNode* from_node, GamesXmlDocNodeCallback callback, void* callback_target); -static void __lambda6_ (Block16Data* _data16_, xmlNode* node); +static void __lambda6_ (Block13Data* _data13_, xmlNode* node); static void _vala_array_add24 (gchar** * array, int* length, int* size, gchar* value); static void ___lambda6__games_xml_doc_node_callback (xmlNode* node, gpointer self); -static gchar** _vala_array_dup13 (gchar** self, int length); +static gchar** _vala_array_dup17 (gchar** self, int length); gint games_xml_doc_count_nodes (GamesXmlDoc* self, const gchar* xpath, xmlNode* from_node); GamesXmlDoc* games_xml_doc_new (void); GamesXmlDoc* games_xml_doc_construct (GType object_type); @@ -128,21 +126,21 @@ } -static Block16Data* block16_data_ref (Block16Data* _data16_) { - g_atomic_int_inc (&_data16_->_ref_count_); - return _data16_; +static Block13Data* block13_data_ref (Block13Data* _data13_) { + g_atomic_int_inc (&_data13_->_ref_count_); + return _data13_; } -static void block16_data_unref (void * _userdata_) { - Block16Data* _data16_; - _data16_ = (Block16Data*) _userdata_; - if (g_atomic_int_dec_and_test (&_data16_->_ref_count_)) { +static void block13_data_unref (void * _userdata_) { + Block13Data* _data13_; + _data13_ = (Block13Data*) _userdata_; + if (g_atomic_int_dec_and_test (&_data13_->_ref_count_)) { GamesXmlDoc* self; - self = _data16_->self; - _data16_->contents = (_vala_array_free (_data16_->contents, _data16_->contents_length1, (GDestroyNotify) g_free), NULL); + self = _data13_->self; + _data13_->contents = (_vala_array_free (_data13_->contents, _data13_->contents_length1, (GDestroyNotify) g_free), NULL); _g_object_unref0 (self); - g_slice_free (Block16Data, _data16_); + g_slice_free (Block13Data, _data13_); } } @@ -157,14 +155,14 @@ } -static void __lambda6_ (Block16Data* _data16_, xmlNode* node) { +static void __lambda6_ (Block13Data* _data13_, xmlNode* node) { GamesXmlDoc* self; xmlNode* _tmp0_; gchar* _tmp1_; - self = _data16_->self; + self = _data13_->self; _tmp0_ = node; _tmp1_ = (gchar*) xmlNodeGetContent (_tmp0_); - _vala_array_add24 (&_data16_->contents, &_data16_->contents_length1, &_data16_->_contents_size_, _tmp1_); + _vala_array_add24 (&_data13_->contents, &_data13_->contents_length1, &_data13_->_contents_size_, _tmp1_); } @@ -173,7 +171,7 @@ } -static gchar** _vala_array_dup13 (gchar** self, int length) { +static gchar** _vala_array_dup17 (gchar** self, int length) { gchar** result; int i; result = g_new0 (gchar*, length + 1); @@ -188,7 +186,7 @@ gchar** games_xml_doc_get_contents (GamesXmlDoc* self, const gchar* xpath, xmlNode* current_node, int* result_length1) { gchar** result = NULL; - Block16Data* _data16_; + Block13Data* _data13_; gchar** _tmp0_; const gchar* _tmp1_; xmlNode* _tmp2_; @@ -198,26 +196,26 @@ gint _tmp4__length1; g_return_val_if_fail (self != NULL, NULL); g_return_val_if_fail (xpath != NULL, NULL); - _data16_ = g_slice_new0 (Block16Data); - _data16_->_ref_count_ = 1; - _data16_->self = g_object_ref (self); + _data13_ = g_slice_new0 (Block13Data); + _data13_->_ref_count_ = 1; + _data13_->self = g_object_ref (self); _tmp0_ = g_new0 (gchar*, 0 + 1); - _data16_->contents = _tmp0_; - _data16_->contents_length1 = 0; - _data16_->_contents_size_ = _data16_->contents_length1; + _data13_->contents = _tmp0_; + _data13_->contents_length1 = 0; + _data13_->_contents_size_ = _data13_->contents_length1; _tmp1_ = xpath; _tmp2_ = current_node; - games_xml_doc_foreach_node (self, _tmp1_, _tmp2_, ___lambda6__games_xml_doc_node_callback, _data16_); - _tmp3_ = (_data16_->contents != NULL) ? _vala_array_dup13 (_data16_->contents, _data16_->contents_length1) : ((gpointer) _data16_->contents); - _tmp3__length1 = _data16_->contents_length1; + games_xml_doc_foreach_node (self, _tmp1_, _tmp2_, ___lambda6__games_xml_doc_node_callback, _data13_); + _tmp3_ = (_data13_->contents != NULL) ? _vala_array_dup17 (_data13_->contents, _data13_->contents_length1) : ((gpointer) _data13_->contents); + _tmp3__length1 = _data13_->contents_length1; _tmp4_ = _tmp3_; _tmp4__length1 = _tmp3__length1; if (result_length1) { *result_length1 = _tmp4__length1; } result = _tmp4_; - block16_data_unref (_data16_); - _data16_ = NULL; + block13_data_unref (_data13_); + _data13_ = NULL; return result; }