commit 0b8055a27167ea7ab26b3f6d7754beb8ab2e26ee
parent 3b87b07404bb39bba6f22a88d7fb31b8f0f587a0
Author: Stein Gunnar Bakkeby <bakkeby@gmail.com>
Date: Wed, 13 Mar 2024 10:35:17 +0100
netwmicon: upgrading patch and adding farbfeld variant (#121)
Diffstat:
12 files changed, 150 insertions(+), 698 deletions(-)
diff --git a/README.md b/README.md
@@ -210,7 +210,9 @@ Refer to [https://st.suckless.org/](https://st.suckless.org/) for details on the
- makes st ignore terminal color attributes to make for a monochrome look
- [netwmicon](https://st.suckless.org/patches/netwmicon/)
- - this patch sets the \_NET\_WM\_ICON X property with a hardcoded icon for st
+ - sets the \_NET\_WM\_ICON X property with a .png file
+ - or alternatively sets the \_NET\_WM\_ICON X property with a farbfeld (.ff) file
+ - or alternatively sets the \_NET\_WM\_ICON X property with a hardcoded icon
- [newterm](https://st.suckless.org/patches/newterm/)
- allows you to spawn a new st terminal using Ctrl-Shift-Return
diff --git a/config.mk b/config.mk
@@ -6,6 +6,8 @@ VERSION = 0.9
# paths
PREFIX = /usr/local
MANPREFIX = $(PREFIX)/share/man
+ICONPREFIX = $(PREFIX)/share/pixmaps
+ICONNAME = st.ff
X11INC = /usr/X11R6/include
X11LIB = /usr/X11R6/lib
@@ -28,6 +30,9 @@ PKG_CONFIG = pkg-config
#SIXEL_C = sixel.c sixel_hls.c
#SIXEL_LIBS = `$(PKG_CONFIG) --libs imlib2`
+# Uncomment for the netwmicon patch / NETWMICON_PATCH
+#NETWMICON_LIBS = `$(PKG_CONFIG) --libs gdlib`
+
# includes and libs, uncomment harfbuzz for the ligatures patch
INCS = -I$(X11INC) \
`$(PKG_CONFIG) --cflags fontconfig` \
@@ -36,10 +41,11 @@ INCS = -I$(X11INC) \
LIBS = -L$(X11LIB) -lm -lrt -lX11 -lutil -lXft ${SIXEL_LIBS} ${XRENDER} ${XCURSOR}\
`$(PKG_CONFIG) --libs fontconfig` \
`$(PKG_CONFIG) --libs freetype2` \
- $(LIGATURES_LIBS)
+ $(LIGATURES_LIBS) \
+ ${NETWMICON_LIBS}
# flags
-STCPPFLAGS = -DVERSION=\"$(VERSION)\" -D_XOPEN_SOURCE=600
+STCPPFLAGS = -DVERSION=\"$(VERSION)\" -DICON=\"$(ICONPREFIX)/$(ICONNAME)\" -D_XOPEN_SOURCE=600
STCFLAGS = $(INCS) $(STCPPFLAGS) $(CPPFLAGS) $(CFLAGS)
STLDFLAGS = $(LIBS) $(LDFLAGS)
diff --git a/patch/netwmicon.c b/patch/netwmicon.c
@@ -0,0 +1,40 @@
+#include <gd.h>
+
+void
+setnetwmicon(void)
+{
+ /* use a png-image to set _NET_WM_ICON */
+ FILE* file = fopen(ICON, "r");
+ if (file) {
+ /* load image in rgba-format */
+ const gdImagePtr icon_rgba = gdImageCreateFromPng(file);
+ fclose(file);
+ /* declare icon-variable which will store the image in bgra-format */
+ const int width = gdImageSX(icon_rgba);
+ const int height = gdImageSY(icon_rgba);
+ const int icon_n = width * height + 2;
+ long icon_bgra[icon_n];
+ /* set width and height of the icon */
+ int i = 0;
+ icon_bgra[i++] = width;
+ icon_bgra[i++] = height;
+ /* rgba -> bgra */
+ for (int y = 0; y < height; y++) {
+ for (int x = 0; x < width; x++) {
+ const int pixel_rgba = gdImageGetPixel(icon_rgba, x, y);
+ unsigned char *pixel_bgra = (unsigned char *) &icon_bgra[i++];
+ pixel_bgra[0] = gdImageBlue(icon_rgba, pixel_rgba);
+ pixel_bgra[1] = gdImageGreen(icon_rgba, pixel_rgba);
+ pixel_bgra[2] = gdImageRed(icon_rgba, pixel_rgba);
+ /* scale alpha from 0-127 to 0-255 */
+ const unsigned char alpha = 127 - gdImageAlpha(icon_rgba, pixel_rgba);
+ pixel_bgra[3] = alpha == 127 ? 255 : alpha * 2;
+ }
+ }
+ gdImageDestroy(icon_rgba);
+ /* set _NET_WM_ICON */
+ xw.netwmicon = XInternAtom(xw.dpy, "_NET_WM_ICON", False);
+ XChangeProperty(xw.dpy, xw.win, xw.netwmicon, XA_CARDINAL, 32,
+ PropModeReplace, (uchar *) icon_bgra, icon_n);
+ }
+}
diff --git a/patch/netwmicon.h b/patch/netwmicon.h
@@ -1,686 +1 @@
-unsigned long icon[] = {
- 64, 64,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x02000000, 0x03000000,
- 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000,
- 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000,
- 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000,
- 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000,
- 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000,
- 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000,
- 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000,
- 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000, 0x03000000,
- 0x03000000, 0x02000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x03000000,
- 0x20181818, 0x4e868686, 0x74b2b2b2, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6,
- 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6,
- 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6,
- 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6,
- 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6,
- 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6,
- 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6,
- 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6,
- 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x77b6b6b6, 0x74b2b2b2,
- 0x4e868686, 0x20181818, 0x03000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x03000000, 0x46717171, 0xcef3f3f3, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xcdf3f3f3,
- 0x456f6f6f, 0x03000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x211f1f1f, 0xd1f4f4f4, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xd0f3f3f3, 0x20181818,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x59959595, 0xffffffff,
- 0xffffffff, 0xff8b8b8b, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff8c8c8c, 0xffffffff, 0xffffffff, 0x58919191, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x83b3b3b3, 0xffffffff, 0xffffffff, 0xff262626,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff262626, 0xffffffff,
- 0xffffffff, 0x83b3b3b3, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff,
- 0xffffffff, 0xff222222, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff222222, 0xffffffff,
- 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff,
- 0xffffffff, 0xff222222, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff2c2c2c, 0xffe0e0e0, 0xff1c1c1c, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff202020,
- 0xff6c6c6c, 0xffffffff, 0xff6d6d6d, 0xff3c3c3c, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff222222, 0xffffffff,
- 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff2d2d2d, 0xffe1e1e1, 0xffc3c3c3, 0xffffffff,
- 0xffa1a1a1, 0xffdddddd, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff,
- 0xffffffff, 0xff222222, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff7f7f7f, 0xffbfbfbf, 0xff303030, 0xffffffff, 0xff1c1c1c, 0xff181818,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff717171, 0xffe1e1e1,
- 0xff545454, 0xffffffff, 0xff1c1c1c, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff222222, 0xffffffff,
- 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff1c1c1c, 0xffa1a1a1, 0xfff6f6f6, 0xffffffff,
- 0xffaeaeae, 0xff515151, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff,
- 0xffffffff, 0xff222222, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff343434, 0xffffffff, 0xff979797, 0xfff9f9f9,
- 0xff515151, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff303030, 0xffffffff, 0xff1c1c1c, 0xffb3b3b3, 0xff8d8d8d, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff222222, 0xffffffff,
- 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff686868, 0xff616161, 0xff3c3c3c, 0xffffffff,
- 0xff545454, 0xffe8e8e8, 0xff5b5b5b, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff,
- 0xffffffff, 0xff222222, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff4b4b4b, 0xffb3b3b3, 0xffe1e1e1, 0xffffffff, 0xffcccccc, 0xff717171,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff303030, 0xffffffff, 0xff1c1c1c, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff222222, 0xffffffff,
- 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff2b2b2b, 0xffd1d1d1,
- 0xff1c1c1c, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff,
- 0xffffffff, 0xff222222, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff7f7f7f, 0xffe9e9e9, 0xffe9e9e9, 0xffe9e9e9, 0xffe9e9e9,
- 0xffe9e9e9, 0xffe9e9e9, 0xff444444, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff222222, 0xffffffff,
- 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff,
- 0xffffffff, 0xff222222, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff222222, 0xffffffff,
- 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff,
- 0xffffffff, 0xff222222, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff222222, 0xffffffff,
- 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff,
- 0xffffffff, 0xff222222, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff222222, 0xffffffff,
- 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff,
- 0xffffffff, 0xff222222, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff222222, 0xffffffff,
- 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff,
- 0xffffffff, 0xff222222, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff222222, 0xffffffff,
- 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff,
- 0xffffffff, 0xff222222, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff222222, 0xffffffff,
- 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x8eacacac, 0xffffffff, 0xffffffff, 0xff222222, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x8eacacac, 0xffffffff,
- 0xffffffff, 0xff222222, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff222222, 0xffffffff, 0xffffffff, 0x8eacacac, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x8aacacac, 0xffffffff, 0xffffffff, 0xff262626,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff171717,
- 0xff171717, 0xff171717, 0xff171717, 0xff171717, 0xff262626, 0xffffffff,
- 0xffffffff, 0x8aacacac, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x62858585, 0xffffffff, 0xffffffff, 0xff8c8c8c, 0xff373737, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636, 0xff363636,
- 0xff363636, 0xff373737, 0xff8d8d8d, 0xffffffff, 0xffffffff, 0x62828282,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x21171717, 0xdee2e2e2,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xdee1e1e1, 0x1f101010, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x03000000, 0x5f4e4e4e, 0xdbe1e1e1, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff,
- 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xffffffff, 0xdae1e1e1,
- 0x5f4b4b4b, 0x03000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x12000000, 0x48040404, 0x6d595959, 0x8d929292, 0x90979797,
- 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797,
- 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797,
- 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797,
- 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797,
- 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797,
- 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797,
- 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797,
- 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797, 0x90979797,
- 0x90979797, 0x8d929292, 0x6d595959, 0x48040404, 0x12000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x06000000, 0x22000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000,
- 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000,
- 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000,
- 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000,
- 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000,
- 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000,
- 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000,
- 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000,
- 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000, 0x29000000,
- 0x22000000, 0x06000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000,
- 0x00000000, 0x00000000, 0x00000000, 0x00000000,
-};
-\ No newline at end of file
+static void setnetwmicon(void);
diff --git a/patch/netwmicon_ff.c b/patch/netwmicon_ff.c
@@ -0,0 +1,46 @@
+void
+setnetwmicon(void)
+{
+ /* use a farbfeld image to set _NET_WM_ICON */
+ FILE* file = fopen(ICON, "r");
+ if (file) {
+ unsigned char buf[8] = {0};
+
+ int hasdata = fread(buf,1,16,file);
+ if (memcmp(buf,"farbfeld",8)) {
+ fprintf(stderr,"netwmicon: file %s is not a farbfeld image\n", ICON);
+ fclose(file);
+ return;
+ }
+
+ /* declare icon-variable which will store the image in bgra-format */
+ const int width=(buf[8]<<24)|(buf[9]<<16)|(buf[10]<<8)|buf[11];
+ const int height=(buf[12]<<24)|(buf[13]<<16)|(buf[14]<<8)|buf[15];
+ const int icon_n = width * height + 2;
+ long icon_bgra[icon_n];
+
+ /* set width and height of the icon */
+ int i = 0;
+ icon_bgra[i++] = width;
+ icon_bgra[i++] = height;
+
+ /* rgba -> bgra */
+ for (int y = 0; y < height && hasdata; y++) {
+ for (int x = 0; x < width && hasdata; x++) {
+ unsigned char *pixel_bgra = (unsigned char *) &icon_bgra[i++];
+ hasdata = fread(buf,1,8,file);
+ pixel_bgra[0] = buf[4];
+ pixel_bgra[1] = buf[2];
+ pixel_bgra[2] = buf[0];
+ pixel_bgra[3] = buf[6];
+ }
+ }
+
+ /* set _NET_WM_ICON */
+ xw.netwmicon = XInternAtom(xw.dpy, "_NET_WM_ICON", False);
+ XChangeProperty(xw.dpy, xw.win, xw.netwmicon, XA_CARDINAL, 32,
+ PropModeReplace, (uchar *) icon_bgra, icon_n);
+
+ fclose(file);
+ }
+}
diff --git a/patch/netwmicon.h b/patch/netwmicon_icon.h
diff --git a/patch/netwmicon_legacy.c b/patch/netwmicon_legacy.c
@@ -0,0 +1,7 @@
+void
+setnetwmicon(void)
+{
+ xw.netwmicon = XInternAtom(xw.dpy, "_NET_WM_ICON", False);
+ XChangeProperty(xw.dpy, xw.win, xw.netwmicon, XA_CARDINAL, 32,
+ PropModeReplace, (uchar *)&icon, LEN(icon));
+}
diff --git a/patch/x_include.c b/patch/x_include.c
@@ -28,6 +28,13 @@
#elif KEYBOARDSELECT_PATCH
#include "keyboardselect_x.c"
#endif
+#if NETWMICON_PATCH
+#include "netwmicon.c"
+#elif NETWMICON_FF_PATCH
+#include "netwmicon_ff.c"
+#elif NETWMICON_LEGACY_PATCH
+#include "netwmicon_legacy.c"
+#endif
#if OPENURLONCLICK_PATCH
#include "openurlonclick.c"
#endif
diff --git a/patch/x_include.h b/patch/x_include.h
@@ -26,7 +26,10 @@
#elif KEYBOARDSELECT_PATCH
#include "keyboardselect_x.h"
#endif
-#if NETWMICON_PATCH
+#if NETWMICON_LEGACY_PATCH
+#include "netwmicon_icon.h"
+#endif
+#if NETWMICON_PATCH || NETWMICON_FF_PATCH || NETWMICON_LEGACY_PATCH
#include "netwmicon.h"
#endif
#if RIGHTCLICKTOPLUMB_PATCH
diff --git a/patches.def.h b/patches.def.h
@@ -233,11 +233,40 @@
*/
#define MONOCHROME_PATCH 0
-/* This patch sets the _NET_WM_ICON X property with a hardcoded icon for st.
+/* This patch sets the _NET_WM_ICON X property with an icon that is read from a .png file.
+ * This patch depends on the GD Graphics Library and headers to compile.
+ * You need to uncomment the corresponding lines in config.mk to use the gd library.
+ *
+ * The default location for the .png file is:
+ * - /usr/local/share/pixmaps/st.png
+ *
* https://st.suckless.org/patches/netwmicon/
*/
#define NETWMICON_PATCH 0
+/* This patch sets the _NET_WM_ICON X property with an icon that is read from a farbfeld image.
+ * The benefit of this patch is that you do not need an additional dependency on an external
+ * library to read and convert the farbfeld image.
+ *
+ * The default location for the farbfeld image is:
+ * - /usr/local/share/pixmaps/st.ff
+ *
+ * Remember to change the ICONNAME in config.mk from st.png to st.ff when using this patch.
+ *
+ * Example command to convert a .png to farbfeld:
+ * $ png2ff < st.png > st.ff
+ *
+ * https://tools.suckless.org/farbfeld/
+ * https://github.com/bakkeby/patches/wiki/netwmicon/
+ */
+#define NETWMICON_FF_PATCH 0
+
+/* This patch sets the _NET_WM_ICON X property with a hardcoded icon for st. This is the
+ * original version that predates the version that reads the image from a .png file.
+ * https://st.suckless.org/patches/netwmicon/
+ */
+#define NETWMICON_LEGACY_PATCH 0
+
/* This patch allows you to spawn a new st terminal using Ctrl-Shift-Return. It will have the
* same CWD (current working directory) as the original st instance.
* https://st.suckless.org/patches/newterm/
diff --git a/st.h b/st.h
@@ -242,7 +242,7 @@ typedef struct {
#if FULLSCREEN_PATCH
Atom netwmstate, netwmfullscreen;
#endif // FULLSCREEN_PATCH
- #if NETWMICON_PATCH
+ #if NETWMICON_PATCH || NETWMICON_LEGACY_PATCH || NETWMICON_FF_PATCH
Atom netwmicon;
#endif // NETWMICON_PATCH
struct {
diff --git a/x.c b/x.c
@@ -1596,11 +1596,9 @@ xinit(int cols, int rows)
xw.netwmiconname = XInternAtom(xw.dpy, "_NET_WM_ICON_NAME", False);
XSetWMProtocols(xw.dpy, xw.win, &xw.wmdeletewin, 1);
- #if NETWMICON_PATCH
- xw.netwmicon = XInternAtom(xw.dpy, "_NET_WM_ICON", False);
- XChangeProperty(xw.dpy, xw.win, xw.netwmicon, XA_CARDINAL, 32,
- PropModeReplace, (uchar *)&icon, LEN(icon));
- #endif //NETWMICON_PATCH
+ #if NETWMICON_PATCH || NETWMICON_FF_PATCH || NETWMICON_LEGACY_PATCH
+ setnetwmicon();
+ #endif // NETWMICON_PATCH
#if NO_WINDOW_DECORATIONS_PATCH
Atom motifwmhints = XInternAtom(xw.dpy, "_MOTIF_WM_HINTS", False);