From dcc15ddb7198aaf8f4758c627b7afd7530a53cf9 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sat, 22 Jan 2022 23:43:11 +0000 Subject: [PATCH 1/3] Don't create invalid wxArtProvider-based wxBitmapBundles If the art ID is unknown, return an invalid bitmap bundle immediately rather than returning a non-empty, i.e. apparently valid, bundle which will be unusable later, as its GetBitmap() will always return an invalid bitmap. This allows to just skip using the image if wxArtProvider can't create it, for whatever reason, rather than asserting when trying to use an invalid bitmap later, which can often be fatal because it can often have from wxEVT_PAINT handler and so result in reentering assert handler. --- src/common/artprov.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/common/artprov.cpp b/src/common/artprov.cpp index 4a06f88e96..6bd9309f1f 100644 --- a/src/common/artprov.cpp +++ b/src/common/artprov.cpp @@ -400,6 +400,12 @@ wxBitmapBundle wxArtProvider::CreateBitmapBundle(const wxArtID& id, const wxArtClient& client, const wxSize& size) { + // Check that we have a valid art ID to ensure that wxBitmapBundleImplArt + // will be able to create valid bitmaps when it is used, because it is + // expected that a non-empty bundle always has at least one valid bitmap. + if ( !GetBitmap(id, client, size).IsOk() ) + return wxBitmapBundle(); + return wxBitmapBundle::FromImpl(new wxBitmapBundleImplArt(id, client, size)); } From a2ad755b1cfc9487fcf57971040ecdf537b64c12 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 23 Jan 2022 00:39:38 +0000 Subject: [PATCH 2/3] Add script for converting arbitrary binary data to C arrays This is similar to the existing png2c, but works for any binary data, not just PNG files. Another small difference is that this script puts 16 bytes per line instead of 8 -- this still results in reasonably short lines, but twice shorter files, so seems to be worth it. --- misc/scripts/bin2c.py | 47 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100755 misc/scripts/bin2c.py diff --git a/misc/scripts/bin2c.py b/misc/scripts/bin2c.py new file mode 100755 index 0000000000..bd5d89d590 --- /dev/null +++ b/misc/scripts/bin2c.py @@ -0,0 +1,47 @@ +#!/usr/bin/env python +# +# This is a slightly generalized version of bin2c.py and is based on it. + +import sys +import os +import os.path +import re +import array + +if len(sys.argv) < 2: + print("""Usage: bin2c binary_file... + +Output input files data as C arrays to standard output.""") + sys.exit(1) + +r = re.compile("^([a-zA-Z._][a-zA-Z._0-9]*)[.]([a-zA-Z_0-9]+)$") +for path in sys.argv[1:]: + filename = os.path.basename(path).replace('-','_') + m = r.match(filename) + + # Allow only filenames that make sense as C variable names + if not(m): + print("Skipped file (unsuitable filename): " + filename) + continue + + # Read file as character array + bytes = array.array('B', open(path, "rb").read()) + count = len(bytes) + + # Create the C header + text = "/* %s - %d bytes */\n" \ + "static const unsigned char %s_%s_data[] = {\n" % ( + filename, count, m.group(1), m.group(2)) + + i = 0 + for byte in bytes: + if i % 16 == 0: + text += "\n " + i += 1 + text += " 0x%02x" % byte + if i != count: + text += "," + + text += "\n};" + + print(text) From 2208f53ba384d135171501c421ead5c3eb47fbe2 Mon Sep 17 00:00:00 2001 From: Vadim Zeitlin Date: Sun, 23 Jan 2022 00:43:50 +0000 Subject: [PATCH 3/3] Add wxART_WX_LOGO and use it in the webview sample Embed SVG data of the wx logo into the library itself to make it available to all wx programs, including the samples. This is a bit wasteful, but <12KiB is not really noticeable compared to the library size. --- {samples/webview => art}/wxlogo.svg | 0 art/wxlogo_svg.cpp | 743 ++++++++++++++++++++++++++++ build/cmake/samples/CMakeLists.txt | 2 +- include/wx/artprov.h | 2 + interface/wx/artprov.h | 3 + samples/webview/Makefile.in | 2 +- samples/webview/makefile.gcc | 2 +- samples/webview/makefile.vc | 2 +- samples/webview/webview.bkl | 1 - samples/webview/webview.cpp | 2 +- src/common/artstd.cpp | 36 ++ 11 files changed, 789 insertions(+), 6 deletions(-) rename {samples/webview => art}/wxlogo.svg (100%) create mode 100644 art/wxlogo_svg.cpp diff --git a/samples/webview/wxlogo.svg b/art/wxlogo.svg similarity index 100% rename from samples/webview/wxlogo.svg rename to art/wxlogo.svg diff --git a/art/wxlogo_svg.cpp b/art/wxlogo_svg.cpp new file mode 100644 index 0000000000..26ad5d6475 --- /dev/null +++ b/art/wxlogo_svg.cpp @@ -0,0 +1,743 @@ +/* wxlogo.svg - 11822 bytes */ +static const unsigned char wxlogo_svg_data[] = { + + 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, 0x20, 0x73, 0x74, 0x61, 0x6e, 0x64, 0x61, 0x6c, 0x6f, 0x6e, 0x65, 0x3d, + 0x22, 0x6e, 0x6f, 0x22, 0x3f, 0x3e, 0x0a, 0x3c, 0x21, 0x2d, 0x2d, 0x20, 0x43, 0x72, 0x65, 0x61, + 0x74, 0x65, 0x64, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x49, 0x6e, 0x6b, 0x73, 0x63, 0x61, 0x70, + 0x65, 0x20, 0x28, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x69, 0x6e, + 0x6b, 0x73, 0x63, 0x61, 0x70, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x29, 0x20, 0x2d, 0x2d, 0x3e, + 0x0a, 0x0a, 0x3c, 0x73, 0x76, 0x67, 0x0a, 0x20, 0x20, 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3a, + 0x64, 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x70, 0x75, 0x72, 0x6c, 0x2e, + 0x6f, 0x72, 0x67, 0x2f, 0x64, 0x63, 0x2f, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, + 0x31, 0x2e, 0x31, 0x2f, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3a, 0x63, + 0x63, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, + 0x76, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x73, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6e, 0x73, + 0x23, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3a, 0x72, 0x64, 0x66, 0x3d, + 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x77, 0x33, 0x2e, 0x6f, + 0x72, 0x67, 0x2f, 0x31, 0x39, 0x39, 0x39, 0x2f, 0x30, 0x32, 0x2f, 0x32, 0x32, 0x2d, 0x72, 0x64, + 0x66, 0x2d, 0x73, 0x79, 0x6e, 0x74, 0x61, 0x78, 0x2d, 0x6e, 0x73, 0x23, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3a, 0x73, 0x76, 0x67, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, + 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x77, 0x33, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x32, 0x30, + 0x30, 0x30, 0x2f, 0x73, 0x76, 0x67, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, + 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x77, 0x33, 0x2e, + 0x6f, 0x72, 0x67, 0x2f, 0x32, 0x30, 0x30, 0x30, 0x2f, 0x73, 0x76, 0x67, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3a, 0x78, 0x6c, 0x69, 0x6e, 0x6b, 0x3d, 0x22, 0x68, 0x74, + 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x77, 0x33, 0x2e, 0x6f, 0x72, 0x67, 0x2f, + 0x31, 0x39, 0x39, 0x39, 0x2f, 0x78, 0x6c, 0x69, 0x6e, 0x6b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x78, + 0x6d, 0x6c, 0x6e, 0x73, 0x3a, 0x73, 0x6f, 0x64, 0x69, 0x70, 0x6f, 0x64, 0x69, 0x3d, 0x22, 0x68, + 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x73, 0x6f, 0x64, 0x69, 0x70, 0x6f, 0x64, 0x69, 0x2e, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x66, 0x6f, 0x72, 0x67, 0x65, 0x2e, 0x6e, 0x65, 0x74, 0x2f, 0x44, + 0x54, 0x44, 0x2f, 0x73, 0x6f, 0x64, 0x69, 0x70, 0x6f, 0x64, 0x69, 0x2d, 0x30, 0x2e, 0x64, 0x74, + 0x64, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x78, 0x6d, 0x6c, 0x6e, 0x73, 0x3a, 0x69, 0x6e, 0x6b, 0x73, + 0x63, 0x61, 0x70, 0x65, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, + 0x2e, 0x69, 0x6e, 0x6b, 0x73, 0x63, 0x61, 0x70, 0x65, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6e, 0x61, + 0x6d, 0x65, 0x73, 0x70, 0x61, 0x63, 0x65, 0x73, 0x2f, 0x69, 0x6e, 0x6b, 0x73, 0x63, 0x61, 0x70, + 0x65, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, 0x31, 0x32, 0x34, + 0x2e, 0x36, 0x30, 0x36, 0x30, 0x36, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, + 0x74, 0x3d, 0x22, 0x31, 0x30, 0x30, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x73, + 0x76, 0x67, 0x31, 0x33, 0x33, 0x36, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x6f, 0x64, 0x69, 0x70, + 0x6f, 0x64, 0x69, 0x3a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x30, 0x2e, 0x33, + 0x32, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x6b, 0x73, 0x63, 0x61, 0x70, 0x65, 0x3a, 0x76, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x30, 0x2e, 0x34, 0x38, 0x2e, 0x35, 0x20, 0x72, + 0x31, 0x30, 0x30, 0x34, 0x30, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x3d, 0x22, 0x31, 0x2e, 0x30, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x73, 0x6f, 0x64, 0x69, 0x70, + 0x6f, 0x64, 0x69, 0x3a, 0x64, 0x6f, 0x63, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x62, 0x6c, 0x6f, + 0x63, 0x6b, 0x73, 0x2e, 0x73, 0x76, 0x67, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x6b, 0x73, + 0x63, 0x61, 0x70, 0x65, 0x3a, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, 0x2d, 0x66, 0x69, 0x6c, 0x65, + 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x2f, 0x68, 0x6f, 0x6d, 0x65, 0x2f, 0x62, 0x72, 0x79, 0x61, + 0x6e, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x77, 0x78, 0x77, 0x65, 0x62, + 0x73, 0x69, 0x74, 0x65, 0x2f, 0x64, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x73, 0x2f, 0x6c, + 0x6f, 0x67, 0x6f, 0x73, 0x2f, 0x62, 0x6c, 0x6f, 0x63, 0x6b, 0x73, 0x2e, 0x70, 0x6e, 0x67, 0x22, + 0x0a, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x6b, 0x73, 0x63, 0x61, 0x70, 0x65, 0x3a, 0x65, 0x78, 0x70, + 0x6f, 0x72, 0x74, 0x2d, 0x78, 0x64, 0x70, 0x69, 0x3d, 0x22, 0x39, 0x30, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x69, 0x6e, 0x6b, 0x73, 0x63, 0x61, 0x70, 0x65, 0x3a, 0x65, 0x78, 0x70, 0x6f, 0x72, 0x74, + 0x2d, 0x79, 0x64, 0x70, 0x69, 0x3d, 0x22, 0x39, 0x30, 0x22, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x64, + 0x65, 0x66, 0x73, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x64, 0x65, 0x66, + 0x73, 0x31, 0x33, 0x33, 0x38, 0x22, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x6c, 0x69, 0x6e, + 0x65, 0x61, 0x72, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x47, 0x72, 0x61, + 0x64, 0x69, 0x65, 0x6e, 0x74, 0x38, 0x37, 0x32, 0x31, 0x22, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3c, 0x73, 0x74, 0x6f, 0x70, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x69, 0x64, 0x3d, 0x22, 0x73, 0x74, 0x6f, 0x70, 0x31, 0x32, 0x31, 0x34, 0x35, 0x22, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x3d, + 0x22, 0x30, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x79, + 0x6c, 0x65, 0x3d, 0x22, 0x73, 0x74, 0x6f, 0x70, 0x2d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x23, + 0x66, 0x66, 0x30, 0x30, 0x30, 0x30, 0x3b, 0x73, 0x74, 0x6f, 0x70, 0x2d, 0x6f, 0x70, 0x61, 0x63, + 0x69, 0x74, 0x79, 0x3a, 0x31, 0x3b, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x3c, 0x73, 0x74, 0x6f, 0x70, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x73, 0x74, 0x6f, 0x70, 0x2d, 0x63, 0x6f, 0x6c, 0x6f, + 0x72, 0x3a, 0x23, 0x66, 0x66, 0x65, 0x30, 0x65, 0x30, 0x3b, 0x73, 0x74, 0x6f, 0x70, 0x2d, 0x6f, + 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x3a, 0x31, 0x3b, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x3d, 0x22, 0x31, 0x22, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x73, 0x74, 0x6f, 0x70, + 0x38, 0x37, 0x32, 0x35, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x2f, 0x6c, + 0x69, 0x6e, 0x65, 0x61, 0x72, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x3e, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x3c, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, + 0x6e, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x6c, 0x69, + 0x6e, 0x65, 0x61, 0x72, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x34, 0x30, 0x37, 0x33, + 0x22, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x73, 0x74, 0x6f, 0x70, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x73, 0x74, 0x6f, 0x70, + 0x34, 0x30, 0x37, 0x35, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6f, + 0x66, 0x66, 0x73, 0x65, 0x74, 0x3d, 0x22, 0x30, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x73, 0x74, 0x6f, 0x70, 0x2d, 0x63, + 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x23, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3b, 0x73, 0x74, 0x6f, + 0x70, 0x2d, 0x6f, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x3a, 0x31, 0x3b, 0x22, 0x20, 0x2f, 0x3e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x73, 0x74, 0x6f, 0x70, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x73, 0x74, 0x6f, 0x70, 0x34, 0x30, + 0x37, 0x37, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x66, 0x66, + 0x73, 0x65, 0x74, 0x3d, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x73, 0x74, 0x6f, 0x70, 0x2d, 0x63, 0x6f, 0x6c, + 0x6f, 0x72, 0x3a, 0x23, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x3b, 0x73, 0x74, 0x6f, 0x70, 0x2d, + 0x6f, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x3a, 0x30, 0x3b, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x3c, 0x2f, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x47, 0x72, 0x61, 0x64, 0x69, + 0x65, 0x6e, 0x74, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, + 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x69, 0x64, 0x3d, 0x22, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, + 0x6e, 0x74, 0x36, 0x38, 0x34, 0x38, 0x22, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, + 0x73, 0x74, 0x6f, 0x70, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, + 0x3d, 0x22, 0x73, 0x74, 0x6f, 0x70, 0x36, 0x38, 0x35, 0x30, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x3d, 0x22, 0x30, 0x22, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, + 0x73, 0x74, 0x6f, 0x70, 0x2d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x23, 0x30, 0x30, 0x30, 0x30, + 0x66, 0x66, 0x3b, 0x73, 0x74, 0x6f, 0x70, 0x2d, 0x6f, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x3a, + 0x31, 0x3b, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x73, 0x74, + 0x6f, 0x70, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3d, 0x22, + 0x73, 0x74, 0x6f, 0x70, 0x36, 0x38, 0x35, 0x32, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x3d, 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x73, 0x74, + 0x6f, 0x70, 0x2d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x23, 0x65, 0x30, 0x65, 0x30, 0x66, 0x66, + 0x3b, 0x73, 0x74, 0x6f, 0x70, 0x2d, 0x6f, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x3a, 0x31, 0x3b, + 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x2f, 0x6c, 0x69, 0x6e, 0x65, 0x61, + 0x72, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, + 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, + 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x36, 0x38, 0x35, 0x34, 0x22, 0x3e, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x73, 0x74, 0x6f, 0x70, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x73, 0x74, 0x6f, 0x70, 0x36, 0x38, 0x35, 0x36, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x66, 0x66, 0x73, 0x65, + 0x74, 0x3d, 0x22, 0x30, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, + 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x73, 0x74, 0x6f, 0x70, 0x2d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, + 0x3a, 0x23, 0x66, 0x66, 0x66, 0x66, 0x65, 0x30, 0x3b, 0x73, 0x74, 0x6f, 0x70, 0x2d, 0x6f, 0x70, + 0x61, 0x63, 0x69, 0x74, 0x79, 0x3a, 0x31, 0x3b, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x3c, 0x73, 0x74, 0x6f, 0x70, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x73, 0x74, 0x6f, 0x70, 0x36, 0x38, 0x35, 0x38, 0x22, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x3d, + 0x22, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x79, + 0x6c, 0x65, 0x3d, 0x22, 0x73, 0x74, 0x6f, 0x70, 0x2d, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3a, 0x23, + 0x66, 0x66, 0x66, 0x66, 0x30, 0x30, 0x3b, 0x73, 0x74, 0x6f, 0x70, 0x2d, 0x6f, 0x70, 0x61, 0x63, + 0x69, 0x74, 0x79, 0x3a, 0x31, 0x3b, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, + 0x2f, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x3e, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x47, 0x72, 0x61, 0x64, + 0x69, 0x65, 0x6e, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x6b, 0x73, + 0x63, 0x61, 0x70, 0x65, 0x3a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x3d, 0x22, 0x61, 0x6c, + 0x77, 0x61, 0x79, 0x73, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x78, 0x6c, 0x69, + 0x6e, 0x6b, 0x3a, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x23, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, + 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x38, 0x37, 0x32, 0x31, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x47, + 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x33, 0x30, 0x34, 0x32, 0x22, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x67, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x69, 0x74, + 0x73, 0x3d, 0x22, 0x75, 0x73, 0x65, 0x72, 0x53, 0x70, 0x61, 0x63, 0x65, 0x4f, 0x6e, 0x55, 0x73, + 0x65, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x72, 0x61, 0x64, 0x69, 0x65, + 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x3d, 0x22, 0x6d, 0x61, 0x74, + 0x72, 0x69, 0x78, 0x28, 0x31, 0x2e, 0x30, 0x30, 0x30, 0x30, 0x33, 0x31, 0x2c, 0x30, 0x2c, 0x30, + 0x2c, 0x31, 0x2e, 0x30, 0x30, 0x30, 0x30, 0x33, 0x31, 0x2c, 0x2d, 0x34, 0x35, 0x2e, 0x30, 0x30, + 0x38, 0x33, 0x32, 0x2c, 0x2d, 0x33, 0x31, 0x39, 0x2e, 0x31, 0x30, 0x35, 0x37, 0x29, 0x22, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x78, 0x31, 0x3d, 0x22, 0x32, 0x32, 0x31, 0x2e, 0x30, + 0x31, 0x35, 0x37, 0x36, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x79, 0x31, 0x3d, + 0x22, 0x36, 0x37, 0x34, 0x2e, 0x30, 0x38, 0x34, 0x39, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x78, 0x32, 0x3d, 0x22, 0x31, 0x31, 0x39, 0x2e, 0x39, 0x32, 0x33, 0x34, 0x32, 0x22, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x79, 0x32, 0x3d, 0x22, 0x34, 0x37, 0x34, 0x2e, + 0x30, 0x39, 0x31, 0x30, 0x33, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x6c, + 0x69, 0x6e, 0x65, 0x61, 0x72, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x6b, 0x73, 0x63, 0x61, 0x70, 0x65, 0x3a, 0x63, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x3d, 0x22, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x22, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x78, 0x6c, 0x69, 0x6e, 0x6b, 0x3a, 0x68, 0x72, 0x65, 0x66, + 0x3d, 0x22, 0x23, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, + 0x74, 0x34, 0x30, 0x37, 0x33, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, + 0x3d, 0x22, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, + 0x33, 0x30, 0x34, 0x34, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x72, 0x61, + 0x64, 0x69, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x73, 0x3d, 0x22, 0x75, 0x73, 0x65, 0x72, + 0x53, 0x70, 0x61, 0x63, 0x65, 0x4f, 0x6e, 0x55, 0x73, 0x65, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x67, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x6f, 0x72, 0x6d, 0x3d, 0x22, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x28, 0x30, 0x2e, 0x35, + 0x34, 0x35, 0x35, 0x35, 0x36, 0x2c, 0x30, 0x2c, 0x30, 0x2c, 0x30, 0x2e, 0x33, 0x35, 0x30, 0x32, + 0x35, 0x35, 0x2c, 0x2d, 0x33, 0x38, 0x2e, 0x35, 0x31, 0x36, 0x36, 0x36, 0x2c, 0x37, 0x32, 0x2e, + 0x36, 0x30, 0x37, 0x33, 0x29, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x78, 0x31, + 0x3d, 0x22, 0x31, 0x33, 0x39, 0x2e, 0x34, 0x33, 0x31, 0x31, 0x32, 0x22, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x79, 0x31, 0x3d, 0x22, 0x35, 0x32, 0x30, 0x2e, 0x37, 0x34, 0x32, 0x35, + 0x35, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x78, 0x32, 0x3d, 0x22, 0x32, 0x32, + 0x32, 0x2e, 0x37, 0x33, 0x39, 0x31, 0x32, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x79, 0x32, 0x3d, 0x22, 0x35, 0x32, 0x30, 0x2e, 0x37, 0x34, 0x32, 0x35, 0x35, 0x22, 0x20, 0x2f, + 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x47, 0x72, 0x61, + 0x64, 0x69, 0x65, 0x6e, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x6b, + 0x73, 0x63, 0x61, 0x70, 0x65, 0x3a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x3d, 0x22, 0x61, + 0x6c, 0x77, 0x61, 0x79, 0x73, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x78, 0x6c, + 0x69, 0x6e, 0x6b, 0x3a, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x23, 0x6c, 0x69, 0x6e, 0x65, 0x61, + 0x72, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x36, 0x38, 0x34, 0x38, 0x22, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, + 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x33, 0x30, 0x34, 0x36, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x69, + 0x74, 0x73, 0x3d, 0x22, 0x75, 0x73, 0x65, 0x72, 0x53, 0x70, 0x61, 0x63, 0x65, 0x4f, 0x6e, 0x55, + 0x73, 0x65, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x72, 0x61, 0x64, 0x69, + 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x3d, 0x22, 0x6d, 0x61, + 0x74, 0x72, 0x69, 0x78, 0x28, 0x31, 0x2e, 0x33, 0x33, 0x34, 0x31, 0x36, 0x34, 0x2c, 0x30, 0x2c, + 0x30, 0x2c, 0x31, 0x2e, 0x33, 0x33, 0x34, 0x31, 0x36, 0x34, 0x2c, 0x2d, 0x39, 0x30, 0x2e, 0x32, + 0x38, 0x33, 0x30, 0x31, 0x2c, 0x2d, 0x35, 0x33, 0x37, 0x2e, 0x35, 0x31, 0x34, 0x29, 0x22, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x78, 0x31, 0x3d, 0x22, 0x32, 0x39, 0x36, 0x2e, 0x32, + 0x30, 0x33, 0x33, 0x34, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x79, 0x31, 0x3d, + 0x22, 0x35, 0x37, 0x31, 0x2e, 0x35, 0x32, 0x39, 0x34, 0x32, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x78, 0x32, 0x3d, 0x22, 0x32, 0x32, 0x30, 0x2e, 0x38, 0x34, 0x34, 0x39, 0x32, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x79, 0x32, 0x3d, 0x22, 0x34, 0x32, 0x31, + 0x2e, 0x36, 0x32, 0x32, 0x38, 0x33, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, + 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x6b, 0x73, 0x63, 0x61, 0x70, 0x65, 0x3a, 0x63, + 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x3d, 0x22, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x22, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x78, 0x6c, 0x69, 0x6e, 0x6b, 0x3a, 0x68, 0x72, 0x65, + 0x66, 0x3d, 0x22, 0x23, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, + 0x6e, 0x74, 0x34, 0x30, 0x37, 0x33, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, + 0x64, 0x3d, 0x22, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, + 0x74, 0x33, 0x30, 0x34, 0x38, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x72, + 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x73, 0x3d, 0x22, 0x75, 0x73, 0x65, + 0x72, 0x53, 0x70, 0x61, 0x63, 0x65, 0x4f, 0x6e, 0x55, 0x73, 0x65, 0x22, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x67, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, + 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x3d, 0x22, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x28, 0x30, 0x2e, + 0x35, 0x34, 0x35, 0x35, 0x35, 0x38, 0x2c, 0x30, 0x2c, 0x30, 0x2c, 0x30, 0x2e, 0x33, 0x35, 0x30, + 0x32, 0x35, 0x35, 0x2c, 0x39, 0x31, 0x2e, 0x34, 0x38, 0x33, 0x34, 0x2c, 0x2d, 0x35, 0x37, 0x2e, + 0x33, 0x39, 0x32, 0x36, 0x29, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x78, 0x31, + 0x3d, 0x22, 0x31, 0x33, 0x39, 0x2e, 0x36, 0x32, 0x39, 0x37, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x79, 0x31, 0x3d, 0x22, 0x35, 0x32, 0x30, 0x2e, 0x37, 0x34, 0x32, 0x32, + 0x35, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x78, 0x32, 0x3d, 0x22, 0x32, 0x32, + 0x32, 0x2e, 0x37, 0x33, 0x38, 0x31, 0x39, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x79, 0x32, 0x3d, 0x22, 0x35, 0x32, 0x30, 0x2e, 0x37, 0x34, 0x32, 0x32, 0x35, 0x22, 0x20, 0x2f, + 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x47, 0x72, 0x61, + 0x64, 0x69, 0x65, 0x6e, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x6b, + 0x73, 0x63, 0x61, 0x70, 0x65, 0x3a, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x3d, 0x22, 0x61, + 0x6c, 0x77, 0x61, 0x79, 0x73, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x78, 0x6c, + 0x69, 0x6e, 0x6b, 0x3a, 0x68, 0x72, 0x65, 0x66, 0x3d, 0x22, 0x23, 0x6c, 0x69, 0x6e, 0x65, 0x61, + 0x72, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x36, 0x38, 0x35, 0x34, 0x22, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, + 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x33, 0x30, 0x35, 0x30, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x69, + 0x74, 0x73, 0x3d, 0x22, 0x75, 0x73, 0x65, 0x72, 0x53, 0x70, 0x61, 0x63, 0x65, 0x4f, 0x6e, 0x55, + 0x73, 0x65, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x72, 0x61, 0x64, 0x69, + 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x3d, 0x22, 0x6d, 0x61, + 0x74, 0x72, 0x69, 0x78, 0x28, 0x31, 0x2e, 0x33, 0x33, 0x34, 0x31, 0x36, 0x34, 0x2c, 0x30, 0x2c, + 0x30, 0x2c, 0x31, 0x2e, 0x33, 0x33, 0x34, 0x31, 0x36, 0x34, 0x2c, 0x35, 0x34, 0x2e, 0x37, 0x31, + 0x36, 0x39, 0x39, 0x2c, 0x2d, 0x34, 0x34, 0x32, 0x2e, 0x35, 0x31, 0x34, 0x29, 0x22, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x78, 0x31, 0x3d, 0x22, 0x32, 0x32, 0x31, 0x2e, 0x30, 0x32, + 0x32, 0x30, 0x36, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x79, 0x31, 0x3d, 0x22, + 0x34, 0x32, 0x31, 0x2e, 0x36, 0x32, 0x32, 0x38, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x78, 0x32, 0x3d, 0x22, 0x32, 0x39, 0x36, 0x2e, 0x37, 0x32, 0x35, 0x35, 0x36, 0x22, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x79, 0x32, 0x3d, 0x22, 0x35, 0x37, 0x31, 0x2e, 0x35, + 0x32, 0x39, 0x34, 0x32, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x6c, 0x69, + 0x6e, 0x65, 0x61, 0x72, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x6b, 0x73, 0x63, 0x61, 0x70, 0x65, 0x3a, 0x63, 0x6f, 0x6c, + 0x6c, 0x65, 0x63, 0x74, 0x3d, 0x22, 0x61, 0x6c, 0x77, 0x61, 0x79, 0x73, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x78, 0x6c, 0x69, 0x6e, 0x6b, 0x3a, 0x68, 0x72, 0x65, 0x66, 0x3d, + 0x22, 0x23, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, + 0x34, 0x30, 0x37, 0x33, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3d, + 0x22, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x33, + 0x30, 0x35, 0x32, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x72, 0x61, 0x64, + 0x69, 0x65, 0x6e, 0x74, 0x55, 0x6e, 0x69, 0x74, 0x73, 0x3d, 0x22, 0x75, 0x73, 0x65, 0x72, 0x53, + 0x70, 0x61, 0x63, 0x65, 0x4f, 0x6e, 0x55, 0x73, 0x65, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x67, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x54, 0x72, 0x61, 0x6e, 0x73, 0x66, + 0x6f, 0x72, 0x6d, 0x3d, 0x22, 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x28, 0x30, 0x2e, 0x35, 0x34, + 0x35, 0x35, 0x35, 0x38, 0x2c, 0x30, 0x2c, 0x30, 0x2c, 0x30, 0x2e, 0x33, 0x35, 0x30, 0x32, 0x35, + 0x35, 0x2c, 0x32, 0x33, 0x36, 0x2e, 0x34, 0x38, 0x33, 0x33, 0x2c, 0x33, 0x37, 0x2e, 0x36, 0x30, + 0x37, 0x34, 0x29, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x78, 0x31, 0x3d, 0x22, + 0x31, 0x33, 0x39, 0x2e, 0x34, 0x33, 0x31, 0x30, 0x33, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x79, 0x31, 0x3d, 0x22, 0x35, 0x32, 0x30, 0x2e, 0x37, 0x34, 0x32, 0x32, 0x35, 0x22, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x78, 0x32, 0x3d, 0x22, 0x32, 0x32, 0x32, 0x2e, + 0x37, 0x33, 0x38, 0x33, 0x37, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x79, 0x32, + 0x3d, 0x22, 0x35, 0x32, 0x30, 0x2e, 0x37, 0x34, 0x32, 0x32, 0x35, 0x22, 0x20, 0x2f, 0x3e, 0x0a, + 0x20, 0x20, 0x3c, 0x2f, 0x64, 0x65, 0x66, 0x73, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x73, 0x6f, 0x64, + 0x69, 0x70, 0x6f, 0x64, 0x69, 0x3a, 0x6e, 0x61, 0x6d, 0x65, 0x64, 0x76, 0x69, 0x65, 0x77, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x6b, 0x73, 0x63, 0x61, 0x70, 0x65, 0x3a, 0x64, 0x6f, + 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x2d, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x3d, 0x22, 0x70, 0x78, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x70, 0x61, 0x67, 0x65, 0x63, 0x6f, 0x6c, 0x6f, 0x72, + 0x3d, 0x22, 0x23, 0x66, 0x66, 0x66, 0x66, 0x66, 0x66, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x62, 0x6f, 0x72, 0x64, 0x65, 0x72, 0x63, 0x6f, 0x6c, 0x6f, 0x72, 0x3d, 0x22, 0x23, 0x36, 0x36, + 0x36, 0x36, 0x36, 0x36, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x62, 0x6f, 0x72, 0x64, 0x65, + 0x72, 0x6f, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x3d, 0x22, 0x31, 0x2e, 0x30, 0x22, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x6b, 0x73, 0x63, 0x61, 0x70, 0x65, 0x3a, 0x70, 0x61, 0x67, + 0x65, 0x6f, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x3d, 0x22, 0x30, 0x2e, 0x30, 0x22, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x6b, 0x73, 0x63, 0x61, 0x70, 0x65, 0x3a, 0x70, 0x61, 0x67, + 0x65, 0x73, 0x68, 0x61, 0x64, 0x6f, 0x77, 0x3d, 0x22, 0x32, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x69, 0x6e, 0x6b, 0x73, 0x63, 0x61, 0x70, 0x65, 0x3a, 0x7a, 0x6f, 0x6f, 0x6d, 0x3d, 0x22, + 0x32, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x6b, 0x73, 0x63, 0x61, 0x70, 0x65, + 0x3a, 0x63, 0x78, 0x3d, 0x22, 0x31, 0x38, 0x31, 0x2e, 0x36, 0x35, 0x36, 0x38, 0x34, 0x22, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x6b, 0x73, 0x63, 0x61, 0x70, 0x65, 0x3a, 0x63, 0x79, + 0x3d, 0x22, 0x32, 0x34, 0x2e, 0x36, 0x33, 0x30, 0x33, 0x36, 0x37, 0x22, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x69, 0x6e, 0x6b, 0x73, 0x63, 0x61, 0x70, 0x65, 0x3a, 0x63, 0x75, 0x72, 0x72, 0x65, + 0x6e, 0x74, 0x2d, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x3d, 0x22, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x31, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x6e, 0x61, 0x6d, 0x65, 0x64, + 0x76, 0x69, 0x65, 0x77, 0x31, 0x33, 0x34, 0x30, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, + 0x68, 0x6f, 0x77, 0x67, 0x75, 0x69, 0x64, 0x65, 0x73, 0x3d, 0x22, 0x74, 0x72, 0x75, 0x65, 0x22, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x6b, 0x73, 0x63, 0x61, 0x70, 0x65, 0x3a, 0x67, + 0x75, 0x69, 0x64, 0x65, 0x2d, 0x62, 0x62, 0x6f, 0x78, 0x3d, 0x22, 0x74, 0x72, 0x75, 0x65, 0x22, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x6b, 0x73, 0x63, 0x61, 0x70, 0x65, 0x3a, 0x77, + 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2d, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, 0x31, 0x39, 0x32, + 0x30, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x6b, 0x73, 0x63, 0x61, 0x70, 0x65, + 0x3a, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2d, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d, 0x22, + 0x31, 0x30, 0x31, 0x34, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x6b, 0x73, 0x63, + 0x61, 0x70, 0x65, 0x3a, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2d, 0x78, 0x3d, 0x22, 0x30, 0x22, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x6b, 0x73, 0x63, 0x61, 0x70, 0x65, 0x3a, 0x77, + 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2d, 0x79, 0x3d, 0x22, 0x32, 0x37, 0x22, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x73, 0x68, 0x6f, 0x77, 0x67, 0x72, 0x69, 0x64, 0x3d, 0x22, 0x66, 0x61, 0x6c, 0x73, + 0x65, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x75, 0x6e, 0x69, 0x74, 0x73, 0x3d, 0x22, 0x70, + 0x78, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x75, 0x69, 0x64, 0x65, 0x74, 0x6f, 0x6c, + 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x3d, 0x22, 0x32, 0x30, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x74, 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, + 0x3d, 0x22, 0x32, 0x30, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x6b, 0x73, 0x63, + 0x61, 0x70, 0x65, 0x3a, 0x73, 0x6e, 0x61, 0x70, 0x2d, 0x67, 0x6c, 0x6f, 0x62, 0x61, 0x6c, 0x3d, + 0x22, 0x74, 0x72, 0x75, 0x65, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x6b, 0x73, + 0x63, 0x61, 0x70, 0x65, 0x3a, 0x73, 0x6e, 0x61, 0x70, 0x2d, 0x62, 0x62, 0x6f, 0x78, 0x3d, 0x22, + 0x66, 0x61, 0x6c, 0x73, 0x65, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x6b, 0x73, + 0x63, 0x61, 0x70, 0x65, 0x3a, 0x73, 0x6e, 0x61, 0x70, 0x2d, 0x70, 0x61, 0x67, 0x65, 0x3d, 0x22, + 0x74, 0x72, 0x75, 0x65, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x6b, 0x73, 0x63, + 0x61, 0x70, 0x65, 0x3a, 0x62, 0x62, 0x6f, 0x78, 0x2d, 0x70, 0x61, 0x74, 0x68, 0x73, 0x3d, 0x22, + 0x74, 0x72, 0x75, 0x65, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x67, 0x72, 0x69, 0x64, 0x74, + 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x3d, 0x22, 0x31, 0x30, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x66, 0x69, 0x74, 0x2d, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x74, 0x6f, + 0x70, 0x3d, 0x22, 0x32, 0x32, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x69, 0x74, 0x2d, + 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x6c, 0x65, 0x66, 0x74, 0x3d, 0x22, 0x32, 0x32, 0x22, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x66, 0x69, 0x74, 0x2d, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, + 0x2d, 0x72, 0x69, 0x67, 0x68, 0x74, 0x3d, 0x22, 0x32, 0x32, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x66, 0x69, 0x74, 0x2d, 0x6d, 0x61, 0x72, 0x67, 0x69, 0x6e, 0x2d, 0x62, 0x6f, 0x74, 0x74, + 0x6f, 0x6d, 0x3d, 0x22, 0x32, 0x32, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x6b, + 0x73, 0x63, 0x61, 0x70, 0x65, 0x3a, 0x77, 0x69, 0x6e, 0x64, 0x6f, 0x77, 0x2d, 0x6d, 0x61, 0x78, + 0x69, 0x6d, 0x69, 0x7a, 0x65, 0x64, 0x3d, 0x22, 0x31, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x20, 0x20, + 0x3c, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, + 0x64, 0x3d, 0x22, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x31, 0x33, 0x34, 0x32, 0x22, + 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x72, 0x64, 0x66, 0x3a, 0x52, 0x44, 0x46, 0x3e, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x63, 0x63, 0x3a, 0x57, 0x6f, 0x72, 0x6b, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x64, 0x66, 0x3a, 0x61, 0x62, 0x6f, 0x75, + 0x74, 0x3d, 0x22, 0x22, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x64, + 0x63, 0x3a, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x3e, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x2f, 0x73, + 0x76, 0x67, 0x2b, 0x78, 0x6d, 0x6c, 0x3c, 0x2f, 0x64, 0x63, 0x3a, 0x66, 0x6f, 0x72, 0x6d, 0x61, + 0x74, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x64, 0x63, 0x3a, 0x74, + 0x79, 0x70, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x64, 0x66, 0x3a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x3d, 0x22, 0x68, 0x74, 0x74, + 0x70, 0x3a, 0x2f, 0x2f, 0x70, 0x75, 0x72, 0x6c, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x64, 0x63, 0x2f, + 0x64, 0x63, 0x6d, 0x69, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x53, 0x74, 0x69, 0x6c, 0x6c, 0x49, 0x6d, + 0x61, 0x67, 0x65, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x3c, 0x64, 0x63, 0x3a, 0x74, 0x69, 0x74, 0x6c, 0x65, 0x3e, 0x3c, 0x2f, 0x64, 0x63, 0x3a, 0x74, + 0x69, 0x74, 0x6c, 0x65, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x63, + 0x63, 0x3a, 0x6c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x64, 0x66, 0x3a, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x3d, 0x22, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x63, 0x72, 0x65, 0x61, 0x74, + 0x69, 0x76, 0x65, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x73, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x6c, + 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x73, 0x2f, 0x73, 0x61, 0x2f, 0x31, 0x2e, 0x30, 0x2f, 0x22, + 0x20, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x2f, 0x63, 0x63, 0x3a, 0x57, + 0x6f, 0x72, 0x6b, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x2f, 0x72, 0x64, 0x66, 0x3a, 0x52, + 0x44, 0x46, 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x2f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x3e, 0x0a, 0x20, 0x20, 0x3c, 0x67, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x6b, 0x73, + 0x63, 0x61, 0x70, 0x65, 0x3a, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x3d, 0x22, 0x4c, 0x61, 0x79, 0x65, + 0x72, 0x20, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x6b, 0x73, 0x63, 0x61, + 0x70, 0x65, 0x3a, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x6d, 0x6f, 0x64, 0x65, 0x3d, 0x22, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x6c, 0x61, + 0x79, 0x65, 0x72, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, + 0x66, 0x6f, 0x72, 0x6d, 0x3d, 0x22, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x6c, 0x61, 0x74, 0x65, 0x28, + 0x37, 0x2e, 0x36, 0x30, 0x30, 0x30, 0x30, 0x37, 0x2c, 0x2d, 0x32, 0x35, 0x38, 0x2e, 0x32, 0x39, + 0x36, 0x29, 0x22, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x67, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x67, 0x31, 0x34, 0x35, 0x37, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x74, 0x72, 0x61, 0x6e, 0x73, 0x66, 0x6f, 0x72, 0x6d, 0x3d, 0x22, + 0x6d, 0x61, 0x74, 0x72, 0x69, 0x78, 0x28, 0x30, 0x2e, 0x31, 0x36, 0x39, 0x36, 0x39, 0x36, 0x39, + 0x36, 0x2c, 0x30, 0x2c, 0x30, 0x2c, 0x30, 0x2e, 0x31, 0x36, 0x39, 0x36, 0x39, 0x36, 0x39, 0x36, + 0x2c, 0x31, 0x30, 0x2e, 0x31, 0x35, 0x37, 0x35, 0x36, 0x39, 0x2c, 0x32, 0x37, 0x36, 0x2e, 0x30, + 0x35, 0x33, 0x35, 0x38, 0x29, 0x22, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x67, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, + 0x22, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x22, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x6b, 0x73, 0x63, 0x61, + 0x70, 0x65, 0x3a, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x3d, 0x22, 0x52, 0x65, 0x64, 0x22, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x6c, 0x61, 0x79, 0x65, + 0x72, 0x32, 0x22, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x70, 0x61, + 0x74, 0x68, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, + 0x3d, 0x22, 0x72, 0x65, 0x63, 0x74, 0x31, 0x33, 0x39, 0x33, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x3d, 0x22, 0x6d, 0x20, 0x36, 0x39, 0x2e, 0x33, + 0x33, 0x39, 0x36, 0x32, 0x2c, 0x31, 0x35, 0x34, 0x2e, 0x39, 0x39, 0x39, 0x39, 0x37, 0x20, 0x31, + 0x31, 0x31, 0x2e, 0x33, 0x32, 0x30, 0x37, 0x37, 0x2c, 0x30, 0x20, 0x63, 0x20, 0x32, 0x34, 0x2e, + 0x35, 0x36, 0x34, 0x31, 0x35, 0x2c, 0x30, 0x20, 0x34, 0x34, 0x2e, 0x33, 0x33, 0x39, 0x36, 0x31, + 0x2c, 0x31, 0x39, 0x2e, 0x37, 0x37, 0x35, 0x34, 0x37, 0x20, 0x34, 0x34, 0x2e, 0x33, 0x33, 0x39, + 0x36, 0x31, 0x2c, 0x34, 0x34, 0x2e, 0x33, 0x33, 0x39, 0x36, 0x32, 0x20, 0x6c, 0x20, 0x30, 0x2c, + 0x31, 0x31, 0x31, 0x2e, 0x33, 0x32, 0x30, 0x37, 0x38, 0x20, 0x63, 0x20, 0x30, 0x2c, 0x32, 0x34, + 0x2e, 0x35, 0x36, 0x34, 0x31, 0x34, 0x20, 0x2d, 0x31, 0x39, 0x2e, 0x37, 0x37, 0x35, 0x34, 0x36, + 0x2c, 0x34, 0x34, 0x2e, 0x33, 0x33, 0x39, 0x36, 0x31, 0x20, 0x2d, 0x34, 0x34, 0x2e, 0x33, 0x33, + 0x39, 0x36, 0x31, 0x2c, 0x34, 0x34, 0x2e, 0x33, 0x33, 0x39, 0x36, 0x31, 0x20, 0x6c, 0x20, 0x2d, + 0x31, 0x31, 0x31, 0x2e, 0x33, 0x32, 0x30, 0x37, 0x37, 0x2c, 0x30, 0x20, 0x43, 0x20, 0x34, 0x34, + 0x2e, 0x37, 0x37, 0x35, 0x34, 0x37, 0x36, 0x2c, 0x33, 0x35, 0x34, 0x2e, 0x39, 0x39, 0x39, 0x39, + 0x38, 0x20, 0x32, 0x35, 0x2c, 0x33, 0x33, 0x35, 0x2e, 0x32, 0x32, 0x34, 0x35, 0x31, 0x20, 0x32, + 0x35, 0x2c, 0x33, 0x31, 0x30, 0x2e, 0x36, 0x36, 0x30, 0x33, 0x37, 0x20, 0x6c, 0x20, 0x30, 0x2c, + 0x2d, 0x31, 0x31, 0x31, 0x2e, 0x33, 0x32, 0x30, 0x37, 0x38, 0x20, 0x63, 0x20, 0x30, 0x2c, 0x2d, + 0x32, 0x34, 0x2e, 0x35, 0x36, 0x34, 0x31, 0x35, 0x20, 0x31, 0x39, 0x2e, 0x37, 0x37, 0x35, 0x34, + 0x37, 0x36, 0x2c, 0x2d, 0x34, 0x34, 0x2e, 0x33, 0x33, 0x39, 0x36, 0x32, 0x20, 0x34, 0x34, 0x2e, + 0x33, 0x33, 0x39, 0x36, 0x32, 0x2c, 0x2d, 0x34, 0x34, 0x2e, 0x33, 0x33, 0x39, 0x36, 0x32, 0x20, + 0x7a, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, + 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x66, 0x69, 0x6c, 0x6c, 0x3a, 0x75, 0x72, 0x6c, 0x28, 0x23, 0x6c, + 0x69, 0x6e, 0x65, 0x61, 0x72, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x33, 0x30, 0x34, + 0x32, 0x29, 0x3b, 0x66, 0x69, 0x6c, 0x6c, 0x2d, 0x6f, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x3a, + 0x31, 0x3b, 0x66, 0x69, 0x6c, 0x6c, 0x2d, 0x72, 0x75, 0x6c, 0x65, 0x3a, 0x6e, 0x6f, 0x6e, 0x7a, + 0x65, 0x72, 0x6f, 0x3b, 0x73, 0x74, 0x72, 0x6f, 0x6b, 0x65, 0x3a, 0x6e, 0x6f, 0x6e, 0x65, 0x3b, + 0x73, 0x74, 0x72, 0x6f, 0x6b, 0x65, 0x2d, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x33, 0x38, 0x3b, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x2d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x6e, 0x6f, 0x6e, + 0x65, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, + 0x6b, 0x73, 0x63, 0x61, 0x70, 0x65, 0x3a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x2d, 0x63, 0x75, 0x72, 0x76, 0x61, 0x74, 0x75, 0x72, 0x65, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x2f, + 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x70, 0x61, 0x74, 0x68, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x70, + 0x61, 0x74, 0x68, 0x32, 0x32, 0x33, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x64, 0x3d, 0x22, 0x6d, 0x20, 0x31, 0x38, 0x32, 0x2e, 0x30, 0x35, 0x36, + 0x35, 0x34, 0x2c, 0x32, 0x33, 0x30, 0x2e, 0x30, 0x30, 0x35, 0x36, 0x32, 0x20, 0x63, 0x20, 0x2d, + 0x34, 0x38, 0x2e, 0x35, 0x33, 0x30, 0x38, 0x39, 0x2c, 0x30, 0x2e, 0x35, 0x32, 0x35, 0x31, 0x36, + 0x20, 0x2d, 0x36, 0x31, 0x2e, 0x37, 0x39, 0x35, 0x38, 0x35, 0x2c, 0x35, 0x36, 0x2e, 0x36, 0x39, + 0x31, 0x31, 0x31, 0x20, 0x2d, 0x31, 0x30, 0x34, 0x2e, 0x38, 0x39, 0x38, 0x38, 0x39, 0x2c, 0x35, + 0x37, 0x2e, 0x32, 0x34, 0x39, 0x36, 0x34, 0x20, 0x2d, 0x31, 0x38, 0x2e, 0x36, 0x33, 0x35, 0x38, + 0x2c, 0x30, 0x2e, 0x32, 0x33, 0x35, 0x34, 0x31, 0x20, 0x2d, 0x33, 0x34, 0x2e, 0x35, 0x33, 0x30, + 0x33, 0x37, 0x38, 0x2c, 0x2d, 0x31, 0x32, 0x2e, 0x35, 0x35, 0x34, 0x34, 0x20, 0x2d, 0x35, 0x32, + 0x2e, 0x31, 0x35, 0x37, 0x35, 0x39, 0x39, 0x2c, 0x2d, 0x32, 0x37, 0x2e, 0x36, 0x39, 0x38, 0x37, + 0x38, 0x20, 0x6c, 0x20, 0x30, 0x2c, 0x35, 0x31, 0x2e, 0x36, 0x35, 0x32, 0x32, 0x36, 0x20, 0x63, + 0x20, 0x30, 0x2c, 0x32, 0x34, 0x2e, 0x32, 0x34, 0x38, 0x36, 0x39, 0x20, 0x31, 0x39, 0x2e, 0x37, + 0x39, 0x36, 0x38, 0x35, 0x33, 0x2c, 0x34, 0x33, 0x2e, 0x37, 0x39, 0x31, 0x32, 0x37, 0x20, 0x34, + 0x34, 0x2e, 0x33, 0x36, 0x31, 0x30, 0x36, 0x39, 0x2c, 0x34, 0x33, 0x2e, 0x37, 0x39, 0x31, 0x32, + 0x34, 0x20, 0x6c, 0x20, 0x31, 0x31, 0x31, 0x2e, 0x33, 0x31, 0x39, 0x35, 0x35, 0x2c, 0x30, 0x20, + 0x63, 0x20, 0x32, 0x34, 0x2e, 0x35, 0x36, 0x34, 0x32, 0x32, 0x2c, 0x30, 0x20, 0x34, 0x34, 0x2e, + 0x33, 0x31, 0x39, 0x33, 0x38, 0x2c, 0x2d, 0x31, 0x39, 0x2e, 0x35, 0x34, 0x32, 0x35, 0x33, 0x20, + 0x34, 0x34, 0x2e, 0x33, 0x31, 0x39, 0x33, 0x38, 0x2c, 0x2d, 0x34, 0x33, 0x2e, 0x37, 0x39, 0x31, + 0x32, 0x34, 0x20, 0x6c, 0x20, 0x30, 0x2c, 0x2d, 0x37, 0x30, 0x2e, 0x32, 0x35, 0x35, 0x33, 0x31, + 0x20, 0x63, 0x20, 0x2d, 0x31, 0x32, 0x2e, 0x30, 0x33, 0x32, 0x33, 0x36, 0x2c, 0x2d, 0x36, 0x2e, + 0x36, 0x30, 0x36, 0x36, 0x38, 0x20, 0x2d, 0x32, 0x35, 0x2e, 0x39, 0x36, 0x35, 0x38, 0x35, 0x2c, + 0x2d, 0x31, 0x31, 0x2e, 0x31, 0x33, 0x35, 0x38, 0x37, 0x20, 0x2d, 0x34, 0x32, 0x2e, 0x39, 0x34, + 0x33, 0x35, 0x31, 0x2c, 0x2d, 0x31, 0x30, 0x2e, 0x39, 0x34, 0x37, 0x38, 0x31, 0x20, 0x7a, 0x22, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x79, 0x6c, + 0x65, 0x3d, 0x22, 0x6f, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x3a, 0x30, 0x2e, 0x32, 0x35, 0x3b, + 0x66, 0x69, 0x6c, 0x6c, 0x3a, 0x23, 0x66, 0x66, 0x30, 0x30, 0x30, 0x30, 0x3b, 0x66, 0x69, 0x6c, + 0x6c, 0x2d, 0x6f, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x3a, 0x31, 0x3b, 0x66, 0x69, 0x6c, 0x6c, + 0x2d, 0x72, 0x75, 0x6c, 0x65, 0x3a, 0x65, 0x76, 0x65, 0x6e, 0x6f, 0x64, 0x64, 0x3b, 0x73, 0x74, + 0x72, 0x6f, 0x6b, 0x65, 0x3a, 0x6e, 0x6f, 0x6e, 0x65, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x6b, 0x73, 0x63, 0x61, 0x70, 0x65, 0x3a, 0x63, + 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2d, 0x63, 0x75, 0x72, 0x76, 0x61, 0x74, 0x75, + 0x72, 0x65, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3c, 0x72, 0x65, 0x63, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x72, 0x78, 0x3d, 0x22, 0x31, 0x37, 0x2e, 0x38, 0x34, 0x33, 0x36, 0x37, 0x32, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x79, 0x3d, + 0x22, 0x31, 0x37, 0x2e, 0x38, 0x34, 0x33, 0x36, 0x37, 0x32, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x79, 0x3d, 0x22, 0x31, 0x37, 0x39, 0x2e, 0x39, 0x39, + 0x39, 0x39, 0x38, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x78, 0x3d, 0x22, 0x35, 0x30, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d, 0x22, 0x31, 0x35, 0x30, 0x22, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, + 0x22, 0x33, 0x33, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x69, 0x64, 0x3d, 0x22, 0x72, 0x65, 0x63, 0x74, 0x33, 0x31, 0x38, 0x32, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, + 0x66, 0x69, 0x6c, 0x6c, 0x3a, 0x75, 0x72, 0x6c, 0x28, 0x23, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, + 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x33, 0x30, 0x34, 0x34, 0x29, 0x3b, 0x66, 0x69, + 0x6c, 0x6c, 0x2d, 0x6f, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x3a, 0x31, 0x3b, 0x66, 0x69, 0x6c, + 0x6c, 0x2d, 0x72, 0x75, 0x6c, 0x65, 0x3a, 0x6e, 0x6f, 0x6e, 0x7a, 0x65, 0x72, 0x6f, 0x3b, 0x73, + 0x74, 0x72, 0x6f, 0x6b, 0x65, 0x3a, 0x6e, 0x6f, 0x6e, 0x65, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x70, 0x61, 0x74, 0x68, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x6f, 0x64, 0x69, 0x70, 0x6f, 0x64, 0x69, + 0x3a, 0x6e, 0x6f, 0x64, 0x65, 0x74, 0x79, 0x70, 0x65, 0x73, 0x3d, 0x22, 0x63, 0x63, 0x63, 0x63, + 0x63, 0x63, 0x63, 0x63, 0x63, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x70, 0x61, 0x74, 0x68, 0x33, 0x37, 0x32, 0x34, 0x37, 0x22, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x3d, 0x22, 0x6d, + 0x20, 0x36, 0x39, 0x2e, 0x34, 0x36, 0x38, 0x31, 0x31, 0x2c, 0x31, 0x36, 0x31, 0x2e, 0x33, 0x34, + 0x33, 0x32, 0x32, 0x20, 0x31, 0x31, 0x31, 0x2e, 0x31, 0x39, 0x32, 0x31, 0x31, 0x2c, 0x30, 0x20, + 0x63, 0x20, 0x32, 0x31, 0x2e, 0x31, 0x32, 0x38, 0x31, 0x36, 0x2c, 0x30, 0x20, 0x33, 0x37, 0x2e, + 0x39, 0x39, 0x36, 0x39, 0x2c, 0x31, 0x36, 0x2e, 0x38, 0x37, 0x38, 0x37, 0x33, 0x20, 0x33, 0x37, + 0x2e, 0x39, 0x39, 0x36, 0x39, 0x2c, 0x33, 0x38, 0x2e, 0x30, 0x30, 0x35, 0x39, 0x35, 0x20, 0x6c, + 0x20, 0x30, 0x2c, 0x31, 0x31, 0x31, 0x2e, 0x33, 0x32, 0x30, 0x33, 0x31, 0x20, 0x63, 0x20, 0x30, + 0x2c, 0x32, 0x31, 0x2e, 0x31, 0x33, 0x34, 0x39, 0x39, 0x20, 0x2d, 0x31, 0x36, 0x2e, 0x38, 0x36, + 0x35, 0x34, 0x39, 0x2c, 0x33, 0x37, 0x2e, 0x39, 0x38, 0x37, 0x35, 0x32, 0x20, 0x2d, 0x33, 0x37, + 0x2e, 0x39, 0x39, 0x36, 0x39, 0x2c, 0x33, 0x37, 0x2e, 0x39, 0x38, 0x37, 0x35, 0x32, 0x20, 0x6c, + 0x20, 0x2d, 0x31, 0x31, 0x31, 0x2e, 0x33, 0x32, 0x30, 0x33, 0x32, 0x2c, 0x30, 0x20, 0x63, 0x20, + 0x2d, 0x32, 0x31, 0x2e, 0x31, 0x33, 0x31, 0x35, 0x30, 0x32, 0x2c, 0x30, 0x20, 0x2d, 0x33, 0x37, + 0x2e, 0x39, 0x39, 0x36, 0x39, 0x2c, 0x2d, 0x31, 0x36, 0x2e, 0x38, 0x36, 0x30, 0x34, 0x32, 0x20, + 0x2d, 0x33, 0x37, 0x2e, 0x39, 0x39, 0x36, 0x39, 0x2c, 0x2d, 0x33, 0x37, 0x2e, 0x39, 0x38, 0x37, + 0x35, 0x32, 0x20, 0x6c, 0x20, 0x30, 0x2c, 0x2d, 0x31, 0x31, 0x31, 0x2e, 0x33, 0x35, 0x38, 0x34, + 0x34, 0x20, 0x63, 0x20, 0x30, 0x2c, 0x2d, 0x32, 0x31, 0x2e, 0x31, 0x33, 0x31, 0x39, 0x36, 0x20, + 0x31, 0x36, 0x2e, 0x39, 0x39, 0x30, 0x35, 0x31, 0x2c, 0x2d, 0x33, 0x37, 0x2e, 0x39, 0x36, 0x37, + 0x38, 0x32, 0x20, 0x33, 0x38, 0x2e, 0x31, 0x32, 0x35, 0x31, 0x31, 0x2c, 0x2d, 0x33, 0x37, 0x2e, + 0x39, 0x36, 0x37, 0x38, 0x32, 0x20, 0x7a, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x66, 0x69, 0x6c, 0x6c, 0x3a, + 0x6e, 0x6f, 0x6e, 0x65, 0x3b, 0x73, 0x74, 0x72, 0x6f, 0x6b, 0x65, 0x3a, 0x23, 0x38, 0x30, 0x30, + 0x30, 0x30, 0x30, 0x3b, 0x73, 0x74, 0x72, 0x6f, 0x6b, 0x65, 0x2d, 0x77, 0x69, 0x64, 0x74, 0x68, + 0x3a, 0x31, 0x32, 0x2e, 0x36, 0x38, 0x35, 0x39, 0x39, 0x39, 0x38, 0x37, 0x3b, 0x73, 0x74, 0x72, + 0x6f, 0x6b, 0x65, 0x2d, 0x6c, 0x69, 0x6e, 0x65, 0x63, 0x61, 0x70, 0x3a, 0x62, 0x75, 0x74, 0x74, + 0x3b, 0x73, 0x74, 0x72, 0x6f, 0x6b, 0x65, 0x2d, 0x6c, 0x69, 0x6e, 0x65, 0x6a, 0x6f, 0x69, 0x6e, + 0x3a, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x3b, 0x73, 0x74, 0x72, 0x6f, 0x6b, 0x65, 0x2d, 0x6d, 0x69, + 0x74, 0x65, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x3a, 0x32, 0x30, 0x3b, 0x73, 0x74, 0x72, 0x6f, + 0x6b, 0x65, 0x2d, 0x6f, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x3a, 0x30, 0x2e, 0x35, 0x30, 0x31, + 0x39, 0x36, 0x30, 0x37, 0x38, 0x3b, 0x73, 0x74, 0x72, 0x6f, 0x6b, 0x65, 0x2d, 0x64, 0x61, 0x73, + 0x68, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3a, 0x6e, 0x6f, 0x6e, 0x65, 0x3b, 0x73, 0x74, 0x72, 0x6f, + 0x6b, 0x65, 0x2d, 0x64, 0x61, 0x73, 0x68, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x3a, 0x30, 0x3b, + 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x2d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x6e, 0x6f, 0x6e, + 0x65, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, + 0x6b, 0x73, 0x63, 0x61, 0x70, 0x65, 0x3a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, + 0x2d, 0x63, 0x75, 0x72, 0x76, 0x61, 0x74, 0x75, 0x72, 0x65, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x2f, + 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x2f, 0x67, 0x3e, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x3c, 0x67, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, + 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, 0x69, 0x6e, + 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, + 0x6e, 0x6b, 0x73, 0x63, 0x61, 0x70, 0x65, 0x3a, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x3d, 0x22, 0x42, + 0x6c, 0x75, 0x65, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, + 0x3d, 0x22, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x33, 0x22, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x3c, 0x70, 0x61, 0x74, 0x68, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x70, 0x61, 0x74, 0x68, 0x35, 0x39, 0x32, 0x32, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x3d, 0x22, + 0x6d, 0x20, 0x31, 0x39, 0x39, 0x2e, 0x33, 0x33, 0x39, 0x36, 0x32, 0x2c, 0x32, 0x34, 0x2e, 0x39, + 0x39, 0x39, 0x39, 0x38, 0x20, 0x31, 0x31, 0x31, 0x2e, 0x33, 0x32, 0x30, 0x37, 0x38, 0x2c, 0x30, + 0x20, 0x63, 0x20, 0x32, 0x34, 0x2e, 0x35, 0x36, 0x34, 0x31, 0x35, 0x2c, 0x30, 0x20, 0x34, 0x34, + 0x2e, 0x33, 0x33, 0x39, 0x36, 0x2c, 0x31, 0x39, 0x2e, 0x37, 0x37, 0x35, 0x34, 0x37, 0x20, 0x34, + 0x34, 0x2e, 0x33, 0x33, 0x39, 0x36, 0x2c, 0x34, 0x34, 0x2e, 0x33, 0x33, 0x39, 0x36, 0x20, 0x6c, + 0x20, 0x30, 0x2c, 0x31, 0x31, 0x31, 0x2e, 0x33, 0x32, 0x30, 0x37, 0x39, 0x20, 0x63, 0x20, 0x30, + 0x2c, 0x32, 0x34, 0x2e, 0x35, 0x36, 0x34, 0x31, 0x34, 0x20, 0x2d, 0x31, 0x39, 0x2e, 0x37, 0x37, + 0x35, 0x34, 0x35, 0x2c, 0x34, 0x34, 0x2e, 0x33, 0x33, 0x39, 0x36, 0x31, 0x20, 0x2d, 0x34, 0x34, + 0x2e, 0x33, 0x33, 0x39, 0x36, 0x2c, 0x34, 0x34, 0x2e, 0x33, 0x33, 0x39, 0x36, 0x31, 0x20, 0x6c, + 0x20, 0x2d, 0x31, 0x31, 0x31, 0x2e, 0x33, 0x32, 0x30, 0x37, 0x38, 0x2c, 0x30, 0x20, 0x43, 0x20, + 0x31, 0x37, 0x34, 0x2e, 0x37, 0x37, 0x35, 0x34, 0x38, 0x2c, 0x32, 0x32, 0x34, 0x2e, 0x39, 0x39, + 0x39, 0x39, 0x38, 0x20, 0x31, 0x35, 0x35, 0x2c, 0x32, 0x30, 0x35, 0x2e, 0x32, 0x32, 0x34, 0x35, + 0x31, 0x20, 0x31, 0x35, 0x35, 0x2c, 0x31, 0x38, 0x30, 0x2e, 0x36, 0x36, 0x30, 0x33, 0x37, 0x20, + 0x6c, 0x20, 0x30, 0x2c, 0x2d, 0x31, 0x31, 0x31, 0x2e, 0x33, 0x32, 0x30, 0x37, 0x39, 0x20, 0x63, + 0x20, 0x30, 0x2c, 0x2d, 0x32, 0x34, 0x2e, 0x35, 0x36, 0x34, 0x31, 0x33, 0x20, 0x31, 0x39, 0x2e, + 0x37, 0x37, 0x35, 0x34, 0x38, 0x2c, 0x2d, 0x34, 0x34, 0x2e, 0x33, 0x33, 0x39, 0x36, 0x20, 0x34, + 0x34, 0x2e, 0x33, 0x33, 0x39, 0x36, 0x32, 0x2c, 0x2d, 0x34, 0x34, 0x2e, 0x33, 0x33, 0x39, 0x36, + 0x20, 0x7a, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, + 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x66, 0x69, 0x6c, 0x6c, 0x3a, 0x75, 0x72, 0x6c, 0x28, 0x23, + 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x33, 0x30, + 0x34, 0x36, 0x29, 0x3b, 0x66, 0x69, 0x6c, 0x6c, 0x2d, 0x6f, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, + 0x3a, 0x31, 0x3b, 0x66, 0x69, 0x6c, 0x6c, 0x2d, 0x72, 0x75, 0x6c, 0x65, 0x3a, 0x6e, 0x6f, 0x6e, + 0x7a, 0x65, 0x72, 0x6f, 0x3b, 0x73, 0x74, 0x72, 0x6f, 0x6b, 0x65, 0x3a, 0x6e, 0x6f, 0x6e, 0x65, + 0x3b, 0x73, 0x74, 0x72, 0x6f, 0x6b, 0x65, 0x2d, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x33, 0x38, + 0x2e, 0x32, 0x38, 0x30, 0x39, 0x39, 0x38, 0x32, 0x33, 0x3b, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x72, + 0x2d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x6e, 0x6f, 0x6e, 0x65, 0x22, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x6b, 0x73, 0x63, 0x61, 0x70, 0x65, + 0x3a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2d, 0x63, 0x75, 0x72, 0x76, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3c, 0x70, 0x61, 0x74, 0x68, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x70, 0x61, 0x74, 0x68, 0x35, 0x39, 0x32, + 0x34, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x3d, + 0x22, 0x4d, 0x20, 0x33, 0x31, 0x32, 0x2e, 0x30, 0x35, 0x36, 0x34, 0x39, 0x2c, 0x31, 0x30, 0x30, + 0x2e, 0x30, 0x30, 0x35, 0x36, 0x32, 0x20, 0x43, 0x20, 0x32, 0x36, 0x33, 0x2e, 0x35, 0x32, 0x35, + 0x36, 0x2c, 0x31, 0x30, 0x30, 0x2e, 0x35, 0x33, 0x30, 0x38, 0x20, 0x32, 0x35, 0x30, 0x2e, 0x32, + 0x36, 0x30, 0x36, 0x35, 0x2c, 0x31, 0x35, 0x36, 0x2e, 0x36, 0x39, 0x36, 0x37, 0x34, 0x20, 0x32, + 0x30, 0x37, 0x2e, 0x31, 0x35, 0x37, 0x36, 0x2c, 0x31, 0x35, 0x37, 0x2e, 0x32, 0x35, 0x35, 0x32, + 0x37, 0x20, 0x31, 0x38, 0x38, 0x2e, 0x35, 0x32, 0x31, 0x37, 0x39, 0x2c, 0x31, 0x35, 0x37, 0x2e, + 0x34, 0x39, 0x30, 0x36, 0x37, 0x20, 0x31, 0x37, 0x32, 0x2e, 0x36, 0x32, 0x37, 0x32, 0x32, 0x2c, + 0x31, 0x34, 0x34, 0x2e, 0x37, 0x30, 0x30, 0x38, 0x36, 0x20, 0x31, 0x35, 0x35, 0x2c, 0x31, 0x32, + 0x39, 0x2e, 0x35, 0x35, 0x36, 0x34, 0x38, 0x20, 0x6c, 0x20, 0x30, 0x2c, 0x35, 0x31, 0x2e, 0x36, + 0x35, 0x32, 0x32, 0x37, 0x20, 0x63, 0x20, 0x30, 0x2c, 0x32, 0x34, 0x2e, 0x32, 0x34, 0x38, 0x36, + 0x38, 0x20, 0x31, 0x39, 0x2e, 0x37, 0x39, 0x36, 0x38, 0x35, 0x2c, 0x34, 0x33, 0x2e, 0x37, 0x39, + 0x31, 0x32, 0x36, 0x20, 0x34, 0x34, 0x2e, 0x33, 0x36, 0x31, 0x30, 0x36, 0x2c, 0x34, 0x33, 0x2e, + 0x37, 0x39, 0x31, 0x32, 0x33, 0x20, 0x6c, 0x20, 0x31, 0x31, 0x31, 0x2e, 0x33, 0x31, 0x39, 0x35, + 0x37, 0x2c, 0x30, 0x20, 0x63, 0x20, 0x32, 0x34, 0x2e, 0x35, 0x36, 0x34, 0x32, 0x2c, 0x30, 0x20, + 0x34, 0x34, 0x2e, 0x33, 0x31, 0x39, 0x33, 0x37, 0x2c, 0x2d, 0x31, 0x39, 0x2e, 0x35, 0x34, 0x32, + 0x35, 0x33, 0x20, 0x34, 0x34, 0x2e, 0x33, 0x31, 0x39, 0x33, 0x37, 0x2c, 0x2d, 0x34, 0x33, 0x2e, + 0x37, 0x39, 0x31, 0x32, 0x33, 0x20, 0x6c, 0x20, 0x30, 0x2c, 0x2d, 0x37, 0x30, 0x2e, 0x32, 0x35, + 0x35, 0x33, 0x31, 0x20, 0x63, 0x20, 0x2d, 0x31, 0x32, 0x2e, 0x30, 0x33, 0x32, 0x33, 0x36, 0x2c, + 0x2d, 0x36, 0x2e, 0x36, 0x30, 0x36, 0x36, 0x39, 0x20, 0x2d, 0x32, 0x35, 0x2e, 0x39, 0x36, 0x35, + 0x38, 0x35, 0x2c, 0x2d, 0x31, 0x31, 0x2e, 0x31, 0x33, 0x35, 0x38, 0x38, 0x20, 0x2d, 0x34, 0x32, + 0x2e, 0x39, 0x34, 0x33, 0x35, 0x31, 0x2c, 0x2d, 0x31, 0x30, 0x2e, 0x39, 0x34, 0x37, 0x38, 0x32, + 0x20, 0x7a, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, + 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x6f, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x3a, 0x30, 0x2e, + 0x32, 0x35, 0x3b, 0x66, 0x69, 0x6c, 0x6c, 0x3a, 0x23, 0x30, 0x30, 0x30, 0x30, 0x66, 0x66, 0x3b, + 0x66, 0x69, 0x6c, 0x6c, 0x2d, 0x6f, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x3a, 0x31, 0x3b, 0x66, + 0x69, 0x6c, 0x6c, 0x2d, 0x72, 0x75, 0x6c, 0x65, 0x3a, 0x65, 0x76, 0x65, 0x6e, 0x6f, 0x64, 0x64, + 0x3b, 0x73, 0x74, 0x72, 0x6f, 0x6b, 0x65, 0x3a, 0x6e, 0x6f, 0x6e, 0x65, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x6b, 0x73, 0x63, 0x61, 0x70, + 0x65, 0x3a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2d, 0x63, 0x75, 0x72, 0x76, + 0x61, 0x74, 0x75, 0x72, 0x65, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x72, 0x65, 0x63, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x78, 0x3d, 0x22, 0x31, 0x37, 0x2e, 0x38, 0x34, 0x33, + 0x36, 0x37, 0x32, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x72, 0x79, 0x3d, 0x22, 0x31, 0x37, 0x2e, 0x38, 0x34, 0x33, 0x36, 0x37, 0x32, 0x22, 0x0a, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x79, 0x3d, 0x22, 0x34, 0x39, 0x2e, + 0x39, 0x39, 0x39, 0x39, 0x38, 0x31, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x78, 0x3d, 0x22, 0x31, 0x38, 0x30, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d, 0x22, 0x31, 0x35, + 0x30, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x77, 0x69, + 0x64, 0x74, 0x68, 0x3d, 0x22, 0x33, 0x33, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x72, 0x65, 0x63, 0x74, 0x35, 0x39, 0x32, 0x36, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x79, + 0x6c, 0x65, 0x3d, 0x22, 0x66, 0x69, 0x6c, 0x6c, 0x3a, 0x75, 0x72, 0x6c, 0x28, 0x23, 0x6c, 0x69, + 0x6e, 0x65, 0x61, 0x72, 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x33, 0x30, 0x34, 0x38, + 0x29, 0x3b, 0x66, 0x69, 0x6c, 0x6c, 0x2d, 0x6f, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x3a, 0x31, + 0x3b, 0x66, 0x69, 0x6c, 0x6c, 0x2d, 0x72, 0x75, 0x6c, 0x65, 0x3a, 0x6e, 0x6f, 0x6e, 0x7a, 0x65, + 0x72, 0x6f, 0x3b, 0x73, 0x74, 0x72, 0x6f, 0x6b, 0x65, 0x3a, 0x6e, 0x6f, 0x6e, 0x65, 0x22, 0x20, + 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x70, 0x61, 0x74, 0x68, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x79, 0x6c, + 0x65, 0x3d, 0x22, 0x66, 0x69, 0x6c, 0x6c, 0x3a, 0x6e, 0x6f, 0x6e, 0x65, 0x3b, 0x73, 0x74, 0x72, + 0x6f, 0x6b, 0x65, 0x3a, 0x23, 0x30, 0x30, 0x30, 0x30, 0x38, 0x30, 0x3b, 0x73, 0x74, 0x72, 0x6f, + 0x6b, 0x65, 0x2d, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x31, 0x32, 0x2e, 0x36, 0x38, 0x35, 0x39, + 0x39, 0x39, 0x38, 0x37, 0x3b, 0x73, 0x74, 0x72, 0x6f, 0x6b, 0x65, 0x2d, 0x6c, 0x69, 0x6e, 0x65, + 0x63, 0x61, 0x70, 0x3a, 0x62, 0x75, 0x74, 0x74, 0x3b, 0x73, 0x74, 0x72, 0x6f, 0x6b, 0x65, 0x2d, + 0x6c, 0x69, 0x6e, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x3a, 0x72, 0x6f, 0x75, 0x6e, 0x64, 0x3b, 0x73, + 0x74, 0x72, 0x6f, 0x6b, 0x65, 0x2d, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x6c, 0x69, 0x6d, 0x69, 0x74, + 0x3a, 0x32, 0x30, 0x3b, 0x73, 0x74, 0x72, 0x6f, 0x6b, 0x65, 0x2d, 0x6f, 0x70, 0x61, 0x63, 0x69, + 0x74, 0x79, 0x3a, 0x30, 0x2e, 0x35, 0x30, 0x31, 0x39, 0x36, 0x30, 0x37, 0x38, 0x3b, 0x73, 0x74, + 0x72, 0x6f, 0x6b, 0x65, 0x2d, 0x64, 0x61, 0x73, 0x68, 0x61, 0x72, 0x72, 0x61, 0x79, 0x3a, 0x6e, + 0x6f, 0x6e, 0x65, 0x3b, 0x73, 0x74, 0x72, 0x6f, 0x6b, 0x65, 0x2d, 0x64, 0x61, 0x73, 0x68, 0x6f, + 0x66, 0x66, 0x73, 0x65, 0x74, 0x3a, 0x30, 0x3b, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x2d, 0x73, + 0x74, 0x61, 0x72, 0x74, 0x3a, 0x6e, 0x6f, 0x6e, 0x65, 0x3b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, + 0x79, 0x3a, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x3d, 0x22, 0x6d, 0x20, 0x31, 0x39, 0x39, 0x2e, 0x34, 0x36, + 0x38, 0x31, 0x31, 0x2c, 0x33, 0x31, 0x2e, 0x33, 0x34, 0x33, 0x32, 0x32, 0x20, 0x31, 0x31, 0x31, + 0x2e, 0x31, 0x39, 0x32, 0x31, 0x31, 0x2c, 0x30, 0x20, 0x63, 0x20, 0x32, 0x31, 0x2e, 0x31, 0x32, + 0x38, 0x31, 0x36, 0x2c, 0x30, 0x20, 0x33, 0x37, 0x2e, 0x39, 0x39, 0x36, 0x39, 0x2c, 0x31, 0x36, + 0x2e, 0x38, 0x37, 0x38, 0x37, 0x33, 0x20, 0x33, 0x37, 0x2e, 0x39, 0x39, 0x36, 0x39, 0x2c, 0x33, + 0x38, 0x2e, 0x30, 0x30, 0x35, 0x39, 0x35, 0x20, 0x6c, 0x20, 0x30, 0x2c, 0x31, 0x31, 0x31, 0x2e, + 0x33, 0x32, 0x30, 0x33, 0x31, 0x20, 0x63, 0x20, 0x30, 0x2c, 0x32, 0x31, 0x2e, 0x31, 0x33, 0x34, + 0x39, 0x39, 0x20, 0x2d, 0x31, 0x36, 0x2e, 0x38, 0x36, 0x35, 0x34, 0x39, 0x2c, 0x33, 0x37, 0x2e, + 0x39, 0x38, 0x37, 0x35, 0x32, 0x20, 0x2d, 0x33, 0x37, 0x2e, 0x39, 0x39, 0x36, 0x39, 0x2c, 0x33, + 0x37, 0x2e, 0x39, 0x38, 0x37, 0x35, 0x32, 0x20, 0x6c, 0x20, 0x2d, 0x31, 0x31, 0x31, 0x2e, 0x33, + 0x32, 0x30, 0x33, 0x32, 0x2c, 0x30, 0x20, 0x63, 0x20, 0x2d, 0x32, 0x31, 0x2e, 0x31, 0x33, 0x31, + 0x35, 0x2c, 0x30, 0x20, 0x2d, 0x33, 0x37, 0x2e, 0x39, 0x39, 0x36, 0x39, 0x2c, 0x2d, 0x31, 0x36, + 0x2e, 0x38, 0x36, 0x30, 0x34, 0x32, 0x20, 0x2d, 0x33, 0x37, 0x2e, 0x39, 0x39, 0x36, 0x39, 0x2c, + 0x2d, 0x33, 0x37, 0x2e, 0x39, 0x38, 0x37, 0x35, 0x32, 0x20, 0x6c, 0x20, 0x30, 0x2c, 0x2d, 0x31, + 0x31, 0x31, 0x2e, 0x33, 0x35, 0x38, 0x34, 0x34, 0x20, 0x63, 0x20, 0x30, 0x2c, 0x2d, 0x32, 0x31, + 0x2e, 0x31, 0x33, 0x31, 0x39, 0x36, 0x20, 0x31, 0x36, 0x2e, 0x39, 0x39, 0x30, 0x35, 0x31, 0x2c, + 0x2d, 0x33, 0x37, 0x2e, 0x39, 0x36, 0x37, 0x38, 0x32, 0x20, 0x33, 0x38, 0x2e, 0x31, 0x32, 0x35, + 0x31, 0x31, 0x2c, 0x2d, 0x33, 0x37, 0x2e, 0x39, 0x36, 0x37, 0x38, 0x32, 0x20, 0x7a, 0x22, 0x0a, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x70, + 0x61, 0x74, 0x68, 0x34, 0x31, 0x36, 0x33, 0x36, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x6f, 0x64, 0x69, 0x70, 0x6f, 0x64, 0x69, 0x3a, 0x6e, 0x6f, + 0x64, 0x65, 0x74, 0x79, 0x70, 0x65, 0x73, 0x3d, 0x22, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, + 0x63, 0x63, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, + 0x6e, 0x6b, 0x73, 0x63, 0x61, 0x70, 0x65, 0x3a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, + 0x72, 0x2d, 0x63, 0x75, 0x72, 0x76, 0x61, 0x74, 0x75, 0x72, 0x65, 0x3d, 0x22, 0x30, 0x22, 0x20, + 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x2f, 0x67, 0x3e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x3c, 0x67, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x69, 0x6e, 0x6b, 0x73, 0x63, 0x61, 0x70, 0x65, 0x3a, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x3d, 0x22, + 0x59, 0x65, 0x6c, 0x6c, 0x6f, 0x77, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x69, 0x64, 0x3d, 0x22, 0x6c, 0x61, 0x79, 0x65, 0x72, 0x34, 0x22, 0x3e, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x70, 0x61, 0x74, 0x68, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3d, 0x22, 0x70, 0x61, 0x74, 0x68, 0x35, + 0x39, 0x33, 0x36, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x64, 0x3d, 0x22, 0x6d, 0x20, 0x33, 0x34, 0x34, 0x2e, 0x33, 0x33, 0x39, 0x36, 0x32, 0x2c, 0x31, + 0x31, 0x39, 0x2e, 0x39, 0x39, 0x39, 0x39, 0x37, 0x20, 0x31, 0x31, 0x31, 0x2e, 0x33, 0x32, 0x30, + 0x37, 0x37, 0x2c, 0x30, 0x20, 0x63, 0x20, 0x32, 0x34, 0x2e, 0x35, 0x36, 0x34, 0x31, 0x35, 0x2c, + 0x30, 0x20, 0x34, 0x34, 0x2e, 0x33, 0x33, 0x39, 0x36, 0x31, 0x2c, 0x31, 0x39, 0x2e, 0x37, 0x37, + 0x35, 0x34, 0x37, 0x20, 0x34, 0x34, 0x2e, 0x33, 0x33, 0x39, 0x36, 0x31, 0x2c, 0x34, 0x34, 0x2e, + 0x33, 0x33, 0x39, 0x36, 0x32, 0x20, 0x6c, 0x20, 0x30, 0x2c, 0x31, 0x31, 0x31, 0x2e, 0x33, 0x32, + 0x30, 0x37, 0x38, 0x20, 0x63, 0x20, 0x30, 0x2c, 0x32, 0x34, 0x2e, 0x35, 0x36, 0x34, 0x31, 0x34, + 0x20, 0x2d, 0x31, 0x39, 0x2e, 0x37, 0x37, 0x35, 0x34, 0x36, 0x2c, 0x34, 0x34, 0x2e, 0x33, 0x33, + 0x39, 0x36, 0x31, 0x20, 0x2d, 0x34, 0x34, 0x2e, 0x33, 0x33, 0x39, 0x36, 0x31, 0x2c, 0x34, 0x34, + 0x2e, 0x33, 0x33, 0x39, 0x36, 0x31, 0x20, 0x6c, 0x20, 0x2d, 0x31, 0x31, 0x31, 0x2e, 0x33, 0x32, + 0x30, 0x37, 0x37, 0x2c, 0x30, 0x20, 0x43, 0x20, 0x33, 0x31, 0x39, 0x2e, 0x37, 0x37, 0x35, 0x34, + 0x37, 0x2c, 0x33, 0x31, 0x39, 0x2e, 0x39, 0x39, 0x39, 0x39, 0x38, 0x20, 0x33, 0x30, 0x30, 0x2c, + 0x33, 0x30, 0x30, 0x2e, 0x32, 0x32, 0x34, 0x35, 0x31, 0x20, 0x33, 0x30, 0x30, 0x2c, 0x32, 0x37, + 0x35, 0x2e, 0x36, 0x36, 0x30, 0x33, 0x37, 0x20, 0x6c, 0x20, 0x30, 0x2c, 0x2d, 0x31, 0x31, 0x31, + 0x2e, 0x33, 0x32, 0x30, 0x37, 0x38, 0x20, 0x63, 0x20, 0x30, 0x2c, 0x2d, 0x32, 0x34, 0x2e, 0x35, + 0x36, 0x34, 0x31, 0x35, 0x20, 0x31, 0x39, 0x2e, 0x37, 0x37, 0x35, 0x34, 0x37, 0x2c, 0x2d, 0x34, + 0x34, 0x2e, 0x33, 0x33, 0x39, 0x36, 0x32, 0x20, 0x34, 0x34, 0x2e, 0x33, 0x33, 0x39, 0x36, 0x32, + 0x2c, 0x2d, 0x34, 0x34, 0x2e, 0x33, 0x33, 0x39, 0x36, 0x32, 0x20, 0x7a, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, + 0x66, 0x69, 0x6c, 0x6c, 0x3a, 0x75, 0x72, 0x6c, 0x28, 0x23, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, + 0x47, 0x72, 0x61, 0x64, 0x69, 0x65, 0x6e, 0x74, 0x33, 0x30, 0x35, 0x30, 0x29, 0x3b, 0x66, 0x69, + 0x6c, 0x6c, 0x2d, 0x6f, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x3a, 0x31, 0x3b, 0x66, 0x69, 0x6c, + 0x6c, 0x2d, 0x72, 0x75, 0x6c, 0x65, 0x3a, 0x6e, 0x6f, 0x6e, 0x7a, 0x65, 0x72, 0x6f, 0x3b, 0x73, + 0x74, 0x72, 0x6f, 0x6b, 0x65, 0x3a, 0x6e, 0x6f, 0x6e, 0x65, 0x3b, 0x73, 0x74, 0x72, 0x6f, 0x6b, + 0x65, 0x2d, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x33, 0x38, 0x2e, 0x32, 0x38, 0x31, 0x34, 0x34, + 0x30, 0x37, 0x33, 0x3b, 0x6d, 0x61, 0x72, 0x6b, 0x65, 0x72, 0x2d, 0x73, 0x74, 0x61, 0x72, 0x74, + 0x3a, 0x6e, 0x6f, 0x6e, 0x65, 0x3b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, 0x69, 0x6e, + 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x69, 0x6e, 0x6b, 0x73, 0x63, 0x61, 0x70, 0x65, 0x3a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, + 0x74, 0x6f, 0x72, 0x2d, 0x63, 0x75, 0x72, 0x76, 0x61, 0x74, 0x75, 0x72, 0x65, 0x3d, 0x22, 0x30, + 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x70, 0x61, + 0x74, 0x68, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, + 0x3d, 0x22, 0x70, 0x61, 0x74, 0x68, 0x35, 0x39, 0x33, 0x38, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x3d, 0x22, 0x4d, 0x20, 0x34, 0x35, 0x37, 0x2e, + 0x30, 0x35, 0x36, 0x34, 0x39, 0x2c, 0x31, 0x39, 0x35, 0x2e, 0x30, 0x30, 0x35, 0x36, 0x32, 0x20, + 0x43, 0x20, 0x34, 0x30, 0x38, 0x2e, 0x35, 0x32, 0x35, 0x36, 0x2c, 0x31, 0x39, 0x35, 0x2e, 0x35, + 0x33, 0x30, 0x37, 0x39, 0x20, 0x33, 0x39, 0x35, 0x2e, 0x32, 0x36, 0x30, 0x36, 0x35, 0x2c, 0x32, + 0x35, 0x31, 0x2e, 0x36, 0x39, 0x36, 0x37, 0x33, 0x20, 0x33, 0x35, 0x32, 0x2e, 0x31, 0x35, 0x37, + 0x36, 0x2c, 0x32, 0x35, 0x32, 0x2e, 0x32, 0x35, 0x35, 0x32, 0x36, 0x20, 0x33, 0x33, 0x33, 0x2e, + 0x35, 0x32, 0x31, 0x37, 0x39, 0x2c, 0x32, 0x35, 0x32, 0x2e, 0x34, 0x39, 0x30, 0x36, 0x37, 0x20, + 0x33, 0x31, 0x37, 0x2e, 0x36, 0x32, 0x37, 0x32, 0x32, 0x2c, 0x32, 0x33, 0x39, 0x2e, 0x37, 0x30, + 0x30, 0x38, 0x36, 0x20, 0x33, 0x30, 0x30, 0x2c, 0x32, 0x32, 0x34, 0x2e, 0x35, 0x35, 0x36, 0x34, + 0x37, 0x20, 0x6c, 0x20, 0x30, 0x2c, 0x35, 0x31, 0x2e, 0x36, 0x35, 0x32, 0x32, 0x38, 0x20, 0x63, + 0x20, 0x30, 0x2c, 0x32, 0x34, 0x2e, 0x32, 0x34, 0x38, 0x36, 0x38, 0x20, 0x31, 0x39, 0x2e, 0x37, + 0x39, 0x36, 0x38, 0x35, 0x2c, 0x34, 0x33, 0x2e, 0x37, 0x39, 0x31, 0x32, 0x36, 0x20, 0x34, 0x34, + 0x2e, 0x33, 0x36, 0x31, 0x30, 0x36, 0x2c, 0x34, 0x33, 0x2e, 0x37, 0x39, 0x31, 0x32, 0x33, 0x20, + 0x6c, 0x20, 0x31, 0x31, 0x31, 0x2e, 0x33, 0x31, 0x39, 0x35, 0x37, 0x2c, 0x30, 0x20, 0x43, 0x20, + 0x34, 0x38, 0x30, 0x2e, 0x32, 0x34, 0x34, 0x38, 0x34, 0x2c, 0x33, 0x31, 0x39, 0x2e, 0x39, 0x39, + 0x39, 0x39, 0x38, 0x20, 0x35, 0x30, 0x30, 0x2c, 0x33, 0x30, 0x30, 0x2e, 0x34, 0x35, 0x37, 0x34, + 0x35, 0x20, 0x35, 0x30, 0x30, 0x2c, 0x32, 0x37, 0x36, 0x2e, 0x32, 0x30, 0x38, 0x37, 0x35, 0x20, + 0x6c, 0x20, 0x30, 0x2c, 0x2d, 0x37, 0x30, 0x2e, 0x32, 0x35, 0x35, 0x33, 0x32, 0x20, 0x63, 0x20, + 0x2d, 0x31, 0x32, 0x2e, 0x30, 0x33, 0x32, 0x33, 0x36, 0x2c, 0x2d, 0x36, 0x2e, 0x36, 0x30, 0x36, + 0x36, 0x39, 0x20, 0x2d, 0x32, 0x35, 0x2e, 0x39, 0x36, 0x35, 0x38, 0x34, 0x2c, 0x2d, 0x31, 0x31, + 0x2e, 0x31, 0x33, 0x35, 0x38, 0x37, 0x20, 0x2d, 0x34, 0x32, 0x2e, 0x39, 0x34, 0x33, 0x35, 0x31, + 0x2c, 0x2d, 0x31, 0x30, 0x2e, 0x39, 0x34, 0x37, 0x38, 0x31, 0x20, 0x7a, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, + 0x6f, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x3a, 0x30, 0x2e, 0x32, 0x35, 0x3b, 0x66, 0x69, 0x6c, + 0x6c, 0x3a, 0x23, 0x63, 0x30, 0x63, 0x30, 0x30, 0x30, 0x3b, 0x66, 0x69, 0x6c, 0x6c, 0x2d, 0x6f, + 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x3a, 0x31, 0x3b, 0x66, 0x69, 0x6c, 0x6c, 0x2d, 0x72, 0x75, + 0x6c, 0x65, 0x3a, 0x65, 0x76, 0x65, 0x6e, 0x6f, 0x64, 0x64, 0x3b, 0x73, 0x74, 0x72, 0x6f, 0x6b, + 0x65, 0x3a, 0x6e, 0x6f, 0x6e, 0x65, 0x3b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, 0x69, + 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x69, 0x6e, 0x6b, 0x73, 0x63, 0x61, 0x70, 0x65, 0x3a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, + 0x63, 0x74, 0x6f, 0x72, 0x2d, 0x63, 0x75, 0x72, 0x76, 0x61, 0x74, 0x75, 0x72, 0x65, 0x3d, 0x22, + 0x30, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x72, + 0x65, 0x63, 0x74, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, + 0x78, 0x3d, 0x22, 0x31, 0x37, 0x2e, 0x38, 0x34, 0x33, 0x36, 0x37, 0x32, 0x22, 0x0a, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x72, 0x79, 0x3d, 0x22, 0x31, 0x37, 0x2e, + 0x38, 0x34, 0x33, 0x36, 0x37, 0x32, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x79, 0x3d, 0x22, 0x31, 0x34, 0x34, 0x2e, 0x39, 0x39, 0x39, 0x39, 0x38, 0x22, + 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x78, 0x3d, 0x22, 0x33, + 0x32, 0x35, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x68, + 0x65, 0x69, 0x67, 0x68, 0x74, 0x3d, 0x22, 0x31, 0x35, 0x30, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3d, 0x22, 0x33, 0x33, + 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, 0x3d, + 0x22, 0x72, 0x65, 0x63, 0x74, 0x35, 0x39, 0x34, 0x30, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x66, 0x69, 0x6c, + 0x6c, 0x3a, 0x75, 0x72, 0x6c, 0x28, 0x23, 0x6c, 0x69, 0x6e, 0x65, 0x61, 0x72, 0x47, 0x72, 0x61, + 0x64, 0x69, 0x65, 0x6e, 0x74, 0x33, 0x30, 0x35, 0x32, 0x29, 0x3b, 0x66, 0x69, 0x6c, 0x6c, 0x2d, + 0x6f, 0x70, 0x61, 0x63, 0x69, 0x74, 0x79, 0x3a, 0x31, 0x3b, 0x66, 0x69, 0x6c, 0x6c, 0x2d, 0x72, + 0x75, 0x6c, 0x65, 0x3a, 0x6e, 0x6f, 0x6e, 0x7a, 0x65, 0x72, 0x6f, 0x3b, 0x73, 0x74, 0x72, 0x6f, + 0x6b, 0x65, 0x3a, 0x6e, 0x6f, 0x6e, 0x65, 0x3b, 0x64, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x3a, + 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x3c, 0x70, 0x61, 0x74, 0x68, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x73, 0x6f, 0x64, 0x69, 0x70, 0x6f, 0x64, 0x69, 0x3a, 0x6e, 0x6f, 0x64, + 0x65, 0x74, 0x79, 0x70, 0x65, 0x73, 0x3d, 0x22, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, + 0x63, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x64, + 0x3d, 0x22, 0x70, 0x61, 0x74, 0x68, 0x34, 0x32, 0x35, 0x31, 0x32, 0x22, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x64, 0x3d, 0x22, 0x6d, 0x20, 0x33, 0x34, 0x34, + 0x2e, 0x34, 0x36, 0x38, 0x31, 0x31, 0x2c, 0x31, 0x32, 0x36, 0x2e, 0x33, 0x34, 0x33, 0x32, 0x32, + 0x20, 0x31, 0x31, 0x31, 0x2e, 0x31, 0x39, 0x32, 0x31, 0x31, 0x2c, 0x30, 0x20, 0x63, 0x20, 0x32, + 0x31, 0x2e, 0x31, 0x32, 0x38, 0x31, 0x36, 0x2c, 0x30, 0x20, 0x33, 0x37, 0x2e, 0x39, 0x39, 0x36, + 0x39, 0x2c, 0x31, 0x36, 0x2e, 0x38, 0x37, 0x38, 0x37, 0x33, 0x20, 0x33, 0x37, 0x2e, 0x39, 0x39, + 0x36, 0x39, 0x2c, 0x33, 0x38, 0x2e, 0x30, 0x30, 0x35, 0x39, 0x35, 0x20, 0x6c, 0x20, 0x30, 0x2c, + 0x31, 0x31, 0x31, 0x2e, 0x33, 0x32, 0x30, 0x33, 0x31, 0x20, 0x63, 0x20, 0x30, 0x2c, 0x32, 0x31, + 0x2e, 0x31, 0x33, 0x34, 0x39, 0x39, 0x20, 0x2d, 0x31, 0x36, 0x2e, 0x38, 0x36, 0x35, 0x34, 0x39, + 0x2c, 0x33, 0x37, 0x2e, 0x39, 0x38, 0x37, 0x35, 0x32, 0x20, 0x2d, 0x33, 0x37, 0x2e, 0x39, 0x39, + 0x36, 0x39, 0x2c, 0x33, 0x37, 0x2e, 0x39, 0x38, 0x37, 0x35, 0x32, 0x20, 0x6c, 0x20, 0x2d, 0x31, + 0x31, 0x31, 0x2e, 0x33, 0x32, 0x30, 0x33, 0x32, 0x2c, 0x30, 0x20, 0x63, 0x20, 0x2d, 0x32, 0x31, + 0x2e, 0x31, 0x33, 0x31, 0x35, 0x2c, 0x30, 0x20, 0x2d, 0x33, 0x37, 0x2e, 0x39, 0x39, 0x36, 0x39, + 0x2c, 0x2d, 0x31, 0x36, 0x2e, 0x38, 0x36, 0x30, 0x34, 0x32, 0x20, 0x2d, 0x33, 0x37, 0x2e, 0x39, + 0x39, 0x36, 0x39, 0x2c, 0x2d, 0x33, 0x37, 0x2e, 0x39, 0x38, 0x37, 0x35, 0x32, 0x20, 0x6c, 0x20, + 0x30, 0x2c, 0x2d, 0x31, 0x31, 0x31, 0x2e, 0x33, 0x35, 0x38, 0x34, 0x34, 0x20, 0x63, 0x20, 0x30, + 0x2c, 0x2d, 0x32, 0x31, 0x2e, 0x31, 0x33, 0x31, 0x39, 0x36, 0x20, 0x31, 0x36, 0x2e, 0x39, 0x39, + 0x30, 0x35, 0x31, 0x2c, 0x2d, 0x33, 0x37, 0x2e, 0x39, 0x36, 0x37, 0x38, 0x32, 0x20, 0x33, 0x38, + 0x2e, 0x31, 0x32, 0x35, 0x31, 0x31, 0x2c, 0x2d, 0x33, 0x37, 0x2e, 0x39, 0x36, 0x37, 0x38, 0x32, + 0x20, 0x7a, 0x22, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x73, + 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x22, 0x66, 0x69, 0x6c, 0x6c, 0x3a, 0x6e, 0x6f, 0x6e, 0x65, 0x3b, + 0x73, 0x74, 0x72, 0x6f, 0x6b, 0x65, 0x3a, 0x23, 0x38, 0x30, 0x38, 0x30, 0x30, 0x30, 0x3b, 0x73, + 0x74, 0x72, 0x6f, 0x6b, 0x65, 0x2d, 0x77, 0x69, 0x64, 0x74, 0x68, 0x3a, 0x31, 0x32, 0x2e, 0x36, + 0x38, 0x35, 0x39, 0x39, 0x39, 0x38, 0x37, 0x3b, 0x73, 0x74, 0x72, 0x6f, 0x6b, 0x65, 0x2d, 0x6c, + 0x69, 0x6e, 0x65, 0x63, 0x61, 0x70, 0x3a, 0x62, 0x75, 0x74, 0x74, 0x3b, 0x73, 0x74, 0x72, 0x6f, + 0x6b, 0x65, 0x2d, 0x6c, 0x69, 0x6e, 0x65, 0x6a, 0x6f, 0x69, 0x6e, 0x3a, 0x72, 0x6f, 0x75, 0x6e, + 0x64, 0x3b, 0x73, 0x74, 0x72, 0x6f, 0x6b, 0x65, 0x2d, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x6c, 0x69, + 0x6d, 0x69, 0x74, 0x3a, 0x32, 0x30, 0x3b, 0x73, 0x74, 0x72, 0x6f, 0x6b, 0x65, 0x2d, 0x6f, 0x70, + 0x61, 0x63, 0x69, 0x74, 0x79, 0x3a, 0x30, 0x2e, 0x35, 0x30, 0x31, 0x39, 0x36, 0x30, 0x37, 0x38, + 0x3b, 0x73, 0x74, 0x72, 0x6f, 0x6b, 0x65, 0x2d, 0x64, 0x61, 0x73, 0x68, 0x61, 0x72, 0x72, 0x61, + 0x79, 0x3a, 0x6e, 0x6f, 0x6e, 0x65, 0x3b, 0x73, 0x74, 0x72, 0x6f, 0x6b, 0x65, 0x2d, 0x64, 0x61, + 0x73, 0x68, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x3a, 0x30, 0x3b, 0x6d, 0x61, 0x72, 0x6b, 0x65, + 0x72, 0x2d, 0x73, 0x74, 0x61, 0x72, 0x74, 0x3a, 0x6e, 0x6f, 0x6e, 0x65, 0x3b, 0x64, 0x69, 0x73, + 0x70, 0x6c, 0x61, 0x79, 0x3a, 0x69, 0x6e, 0x6c, 0x69, 0x6e, 0x65, 0x22, 0x0a, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x69, 0x6e, 0x6b, 0x73, 0x63, 0x61, 0x70, 0x65, + 0x3a, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x6f, 0x72, 0x2d, 0x63, 0x75, 0x72, 0x76, 0x61, + 0x74, 0x75, 0x72, 0x65, 0x3d, 0x22, 0x30, 0x22, 0x20, 0x2f, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, + 0x20, 0x20, 0x3c, 0x2f, 0x67, 0x3e, 0x0a, 0x20, 0x20, 0x20, 0x20, 0x3c, 0x2f, 0x67, 0x3e, 0x0a, + 0x20, 0x20, 0x3c, 0x2f, 0x67, 0x3e, 0x0a, 0x3c, 0x2f, 0x73, 0x76, 0x67, 0x3e, 0x0a +}; diff --git a/build/cmake/samples/CMakeLists.txt b/build/cmake/samples/CMakeLists.txt index e0c34e95e2..2832be80e1 100644 --- a/build/cmake/samples/CMakeLists.txt +++ b/build/cmake/samples/CMakeLists.txt @@ -153,7 +153,7 @@ wx_add_sample(uiaction DEPENDS wxUSE_UIACTIONSIMULATOR) wx_add_sample(validate validate.cpp validate.h DEPENDS wxUSE_VALIDATORS) wx_add_sample(vscroll vstest.cpp) wx_add_sample(webview LIBRARIES wxwebview - DATA ../help/doc.zip:doc.zip webview_back.svg webview_forward.svg webview_refresh.svg webview_stop.svg wxlogo.svg + DATA ../help/doc.zip:doc.zip webview_back.svg webview_forward.svg webview_refresh.svg webview_stop.svg NAME webviewsample DEPENDS wxUSE_WEBVIEW) if(TARGET webviewsample AND wxUSE_STC) wx_exe_link_libraries(webviewsample wxstc) diff --git a/include/wx/artprov.h b/include/wx/artprov.h index dd067d5144..87b7fec01a 100644 --- a/include/wx/artprov.h +++ b/include/wx/artprov.h @@ -116,6 +116,8 @@ typedef wxString wxArtID; #define wxART_EDIT wxART_MAKE_ART_ID(wxART_EDIT) +#define wxART_WX_LOGO wxART_MAKE_ART_ID(wxART_WX_LOGO) + // ---------------------------------------------------------------------------- // wxArtProvider class // ---------------------------------------------------------------------------- diff --git a/interface/wx/artprov.h b/interface/wx/artprov.h index e8b0931783..e0a3dc57b7 100644 --- a/interface/wx/artprov.h +++ b/interface/wx/artprov.h @@ -91,6 +91,8 @@ const char* wxART_FIND_AND_REPLACE; const char* wxART_FULL_SCREEN; const char* wxART_EDIT; +const char* wxART_WX_LOGO; + /** @class wxArtProvider @@ -205,6 +207,7 @@ const char* wxART_EDIT; @li @c wxART_FLOPPY @li @c wxART_CDROM @li @c wxART_REMOVABLE + @li @c wxART_WX_LOGO (since 3.1.6) diff --git a/samples/webview/Makefile.in b/samples/webview/Makefile.in index cd04b5f1e9..e3165f9474 100644 --- a/samples/webview/Makefile.in +++ b/samples/webview/Makefile.in @@ -192,7 +192,7 @@ webview$(EXEEXT): $(WEBVIEW_OBJECTS) $(__webview___win32rc) data: @mkdir -p . - @for f in webview_back.svg webview_forward.svg webview_refresh.svg webview_stop.svg wxlogo.svg; do \ + @for f in webview_back.svg webview_forward.svg webview_refresh.svg webview_stop.svg; do \ if test ! -f ./$$f -a ! -d ./$$f ; \ then x=yep ; \ else x=`find $(srcdir)/$$f -newer ./$$f -print` ; \ diff --git a/samples/webview/makefile.gcc b/samples/webview/makefile.gcc index b6a56ed7b1..d351afc667 100644 --- a/samples/webview/makefile.gcc +++ b/samples/webview/makefile.gcc @@ -234,7 +234,7 @@ $(OBJS)\webview.exe: $(WEBVIEW_OBJECTS) $(OBJS)\webview_sample_rc.o data: if not exist $(OBJS) mkdir $(OBJS) - for %%f in (webview_back.svg webview_forward.svg webview_refresh.svg webview_stop.svg wxlogo.svg) do if not exist $(OBJS)\%%f copy .\%%f $(OBJS) + for %%f in (webview_back.svg webview_forward.svg webview_refresh.svg webview_stop.svg) do if not exist $(OBJS)\%%f copy .\%%f $(OBJS) $(OBJS)\webview_sample_rc.o: ./../../samples/sample.rc $(WINDRES) -i$< -o$@ --define __WXMSW__ $(__WXUNIV_DEFINE_p_1) $(__DEBUG_DEFINE_p_1) $(__NDEBUG_DEFINE_p_1) $(__EXCEPTIONS_DEFINE_p_1) $(__RTTI_DEFINE_p_1) $(__THREAD_DEFINE_p_1) $(__UNICODE_DEFINE_p_1) --include-dir $(SETUPHDIR) --include-dir ./../../include $(__CAIRO_INCLUDEDIR_p) --include-dir . $(__DLLFLAG_p_1) --define wxUSE_DPI_AWARE_MANIFEST=$(USE_DPI_AWARE_MANIFEST) --include-dir ./../../samples --define NOPCH diff --git a/samples/webview/makefile.vc b/samples/webview/makefile.vc index fc0b1152b4..d1191edeb6 100644 --- a/samples/webview/makefile.vc +++ b/samples/webview/makefile.vc @@ -439,7 +439,7 @@ $(OBJS)\webview.exe: $(WEBVIEW_OBJECTS) $(OBJS)\webview_sample.res data: if not exist $(OBJS) mkdir $(OBJS) - for %f in (webview_back.svg webview_forward.svg webview_refresh.svg webview_stop.svg wxlogo.svg) do if not exist $(OBJS)\%f copy .\%f $(OBJS) + for %f in (webview_back.svg webview_forward.svg webview_refresh.svg webview_stop.svg) do if not exist $(OBJS)\%f copy .\%f $(OBJS) $(OBJS)\webview_sample.res: .\..\..\samples\sample.rc rc /fo$@ /d WIN32 $(____DEBUGRUNTIME_3_p_1) /d _CRT_SECURE_NO_DEPRECATE=1 /d _CRT_NON_CONFORMING_SWPRINTFS=1 /d _SCL_SECURE_NO_WARNINGS=1 $(__NO_VC_CRTDBG_p_1) $(__TARGET_CPU_COMPFLAG_p_1) /d __WXMSW__ $(__WXUNIV_DEFINE_p_1) $(__DEBUG_DEFINE_p_1) $(__NDEBUG_DEFINE_p_1) $(__EXCEPTIONS_DEFINE_p_1) $(__RTTI_DEFINE_p_1) $(__THREAD_DEFINE_p_1) $(__UNICODE_DEFINE_p_1) /i $(SETUPHDIR) /i .\..\..\include $(____CAIRO_INCLUDEDIR_FILENAMES_1_p) /i . $(__DLLFLAG_p_1) /d _WINDOWS /i .\..\..\samples /d NOPCH .\..\..\samples\sample.rc diff --git a/samples/webview/webview.bkl b/samples/webview/webview.bkl index eb7d20efde..4cbb446993 100644 --- a/samples/webview/webview.bkl +++ b/samples/webview/webview.bkl @@ -23,7 +23,6 @@ webview_forward.svg webview_refresh.svg webview_stop.svg - wxlogo.svg diff --git a/samples/webview/webview.cpp b/samples/webview/webview.cpp index 42bc6e1fa1..b4124eaade 100644 --- a/samples/webview/webview.cpp +++ b/samples/webview/webview.cpp @@ -324,7 +324,7 @@ WebFrame::WebFrame(const wxString& url) : forward = wxBitmapBundle::FromSVGFile("webview_forward.svg", sizeBitmap); stop = wxBitmapBundle::FromSVGFile("webview_stop.svg", sizeBitmap); refresh = wxBitmapBundle::FromSVGFile("webview_refresh.svg", sizeBitmap); - wxlogo = wxBitmapBundle::FromSVGFile("wxlogo.svg", sizeBitmap); + wxlogo = wxArtProvider::GetBitmapBundle(wxART_WX_LOGO); #else toolbarStyle |= wxTB_NOICONS; #endif diff --git a/src/common/artstd.cpp b/src/common/artstd.cpp index 15de7989b1..2e6c686821 100644 --- a/src/common/artstd.cpp +++ b/src/common/artstd.cpp @@ -33,6 +33,9 @@ class wxDefaultArtProvider : public wxArtProvider protected: virtual wxBitmap CreateBitmap(const wxArtID& id, const wxArtClient& client, const wxSize& size) wxOVERRIDE; + virtual wxBitmapBundle CreateBitmapBundle(const wxArtID& id, + const wxArtClient& client, + const wxSize& size) wxOVERRIDE; }; // ---------------------------------------------------------------------------- @@ -126,6 +129,10 @@ protected: #include "../../art/fullscreen.xpm" #include "../../art/edit.xpm" +#ifdef wxHAS_SVG + #include "../../art/wxlogo_svg.cpp" +#endif // wxHAS_SVG + wxBitmap wxDefaultArtProvider_CreateBitmap(const wxArtID& id) { #if !defined(__WXUNIVERSAL__) && (defined(__WXGTK__) || defined(__WXMOTIF__)) @@ -254,4 +261,33 @@ wxBitmap wxDefaultArtProvider::CreateBitmap(const wxArtID& id, return bmp; } +wxBitmapBundle +wxDefaultArtProvider::CreateBitmapBundle(const wxArtID& id, + const wxArtClient& client, + const wxSize& size) +{ + wxBitmapBundle bb; + +#ifdef wxHAS_SVG + // We currently handle just a single SVG here. + if ( id == wxART_WX_LOGO ) + { + wxSize sizeDef = size != wxDefaultSize ? size : GetSizeHint(client); + if ( sizeDef == wxDefaultSize ) + { + // We really need some default size here. + sizeDef = wxSize(16, 16); + } + + bb = wxBitmapBundle::FromSVG((const char*)wxlogo_svg_data, sizeDef); + } +#else // !wxHAS_SVG + wxUnusedVar(id); + wxUnusedVar(client); + wxUnusedVar(size); +#endif // wxHAS_SVG/!wxHAS_SVG + + return bb; +} + #endif // wxUSE_ARTPROVIDER_STD