Merge "Camera3: add systraces for hal open/close"
diff --git a/cmds/screenrecord/Android.mk b/cmds/screenrecord/Android.mk
index b4a5947..17523c3 100644
--- a/cmds/screenrecord/Android.mk
+++ b/cmds/screenrecord/Android.mk
@@ -18,10 +18,14 @@
 
 LOCAL_SRC_FILES := \
 	screenrecord.cpp \
+	EglWindow.cpp \
+	TextRenderer.cpp \
+	Overlay.cpp \
+	Program.cpp
 
 LOCAL_SHARED_LIBRARIES := \
 	libstagefright libmedia libutils libbinder libstagefright_foundation \
-	libjpeg libgui libcutils liblog
+	libjpeg libgui libcutils liblog libEGL libGLESv2
 
 LOCAL_C_INCLUDES := \
 	frameworks/av/media/libstagefright \
diff --git a/cmds/screenrecord/EglWindow.cpp b/cmds/screenrecord/EglWindow.cpp
new file mode 100644
index 0000000..aa0517f
--- /dev/null
+++ b/cmds/screenrecord/EglWindow.cpp
@@ -0,0 +1,146 @@
+/*
+ * Copyright 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#define LOG_TAG "ScreenRecord"
+//#define LOG_NDEBUG 0
+#include <utils/Log.h>
+
+#define EGL_EGLEXT_PROTOTYPES
+
+#include <gui/BufferQueue.h>
+#include <gui/GraphicBufferAlloc.h>
+#include <gui/Surface.h>
+
+#include "EglWindow.h"
+
+#include <EGL/egl.h>
+#include <EGL/eglext.h>
+
+#include <assert.h>
+
+using namespace android;
+
+
+status_t EglWindow::createWindow(const sp<IGraphicBufferProducer>& surface) {
+    status_t err = eglSetupContext();
+    if (err != NO_ERROR) {
+        return err;
+    }
+
+    surface->query(NATIVE_WINDOW_WIDTH, &mWidth);
+    surface->query(NATIVE_WINDOW_HEIGHT, &mHeight);
+
+    // Output side (EGL surface to draw on).
+    sp<ANativeWindow> anw = new Surface(surface);
+    mEglSurface = eglCreateWindowSurface(mEglDisplay, mEglConfig, anw.get(),
+            NULL);
+    if (mEglSurface == EGL_NO_SURFACE) {
+        ALOGE("eglCreateWindowSurface error: %#x", eglGetError());
+        eglRelease();
+        return UNKNOWN_ERROR;
+    }
+
+    return NO_ERROR;
+}
+
+status_t EglWindow::makeCurrent() const {
+    if (!eglMakeCurrent(mEglDisplay, mEglSurface, mEglSurface, mEglContext)) {
+        ALOGE("eglMakeCurrent failed: %#x", eglGetError());
+        return UNKNOWN_ERROR;
+    }
+    return NO_ERROR;
+}
+
+status_t EglWindow::eglSetupContext() {
+    EGLBoolean result;
+
+    mEglDisplay = eglGetDisplay(EGL_DEFAULT_DISPLAY);
+    if (mEglDisplay == EGL_NO_DISPLAY) {
+        ALOGE("eglGetDisplay failed: %#x", eglGetError());
+        return UNKNOWN_ERROR;
+    }
+
+    EGLint majorVersion, minorVersion;
+    result = eglInitialize(mEglDisplay, &majorVersion, &minorVersion);
+    if (result != EGL_TRUE) {
+        ALOGE("eglInitialize failed: %#x", eglGetError());
+        return UNKNOWN_ERROR;
+    }
+    ALOGV("Initialized EGL v%d.%d", majorVersion, minorVersion);
+
+    EGLint numConfigs = 0;
+    EGLint configAttribs[] = {
+        EGL_SURFACE_TYPE, EGL_WINDOW_BIT,
+        EGL_RENDERABLE_TYPE, EGL_OPENGL_ES2_BIT,
+        EGL_RECORDABLE_ANDROID, 1,
+        EGL_RED_SIZE, 8,
+        EGL_GREEN_SIZE, 8,
+        EGL_BLUE_SIZE, 8,
+        EGL_NONE
+    };
+    result = eglChooseConfig(mEglDisplay, configAttribs, &mEglConfig, 1,
+            &numConfigs);
+    if (result != EGL_TRUE) {
+        ALOGE("eglChooseConfig error: %#x", eglGetError());
+        return UNKNOWN_ERROR;
+    }
+
+    EGLint contextAttribs[] = {
+        EGL_CONTEXT_CLIENT_VERSION, 2,
+        EGL_NONE
+    };
+    mEglContext = eglCreateContext(mEglDisplay, mEglConfig, EGL_NO_CONTEXT,
+            contextAttribs);
+    if (mEglContext == EGL_NO_CONTEXT) {
+        ALOGE("eglCreateContext error: %#x", eglGetError());
+        return UNKNOWN_ERROR;
+    }
+
+    return NO_ERROR;
+}
+
+void EglWindow::eglRelease() {
+    ALOGV("EglWindow::eglRelease");
+    if (mEglDisplay != EGL_NO_DISPLAY) {
+        eglMakeCurrent(mEglDisplay, EGL_NO_SURFACE, EGL_NO_SURFACE,
+                EGL_NO_CONTEXT);
+
+        if (mEglContext != EGL_NO_CONTEXT) {
+            eglDestroyContext(mEglDisplay, mEglContext);
+        }
+
+        if (mEglSurface != EGL_NO_SURFACE) {
+            eglDestroySurface(mEglDisplay, mEglSurface);
+        }
+    }
+
+    mEglDisplay = EGL_NO_DISPLAY;
+    mEglContext = EGL_NO_CONTEXT;
+    mEglSurface = EGL_NO_SURFACE;
+    mEglConfig = NULL;
+
+    eglReleaseThread();
+}
+
+// Sets the presentation time on the current EGL buffer.
+void EglWindow::presentationTime(nsecs_t whenNsec) const {
+    eglPresentationTimeANDROID(mEglDisplay, mEglSurface, whenNsec);
+}
+
+// Swaps the EGL buffer.
+void EglWindow::swapBuffers() const {
+    eglSwapBuffers(mEglDisplay, mEglSurface);
+}
diff --git a/cmds/screenrecord/EglWindow.h b/cmds/screenrecord/EglWindow.h
new file mode 100644
index 0000000..02a2efc
--- /dev/null
+++ b/cmds/screenrecord/EglWindow.h
@@ -0,0 +1,84 @@
+/*
+ * Copyright 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef SCREENRECORD_EGL_WINDOW_H
+#define SCREENRECORD_EGL_WINDOW_H
+
+#include <gui/BufferQueue.h>
+#include <utils/Errors.h>
+
+#include <EGL/egl.h>
+
+namespace android {
+
+/*
+ * Wraps EGL display, context, surface, config for a window surface.
+ *
+ * Not thread safe.
+ */
+class EglWindow {
+public:
+    EglWindow() :
+        mEglDisplay(EGL_NO_DISPLAY),
+        mEglContext(EGL_NO_CONTEXT),
+        mEglSurface(EGL_NO_SURFACE),
+        mEglConfig(NULL),
+        mWidth(0),
+        mHeight(0)
+        {}
+    ~EglWindow() { eglRelease(); }
+
+    // Creates an EGL window for the supplied surface.
+    status_t createWindow(const sp<IGraphicBufferProducer>& surface);
+
+    // Return width and height values (obtained from IGBP).
+    int getWidth() const { return mWidth; }
+    int getHeight() const { return mHeight; }
+
+    // Release anything we created.
+    void release() { eglRelease(); }
+
+    // Make this context current.
+    status_t makeCurrent() const;
+
+    // Sets the presentation time on the current EGL buffer.
+    void presentationTime(nsecs_t whenNsec) const;
+
+    // Swaps the EGL buffer.
+    void swapBuffers() const;
+
+private:
+    EglWindow(const EglWindow&);
+    EglWindow& operator=(const EglWindow&);
+
+    // Init display, create config and context.
+    status_t eglSetupContext();
+    void eglRelease();
+
+    // Basic EGL goodies.
+    EGLDisplay mEglDisplay;
+    EGLContext mEglContext;
+    EGLSurface mEglSurface;
+    EGLConfig mEglConfig;
+
+    // Surface dimensions.
+    int mWidth;
+    int mHeight;
+};
+
+}; // namespace android
+
+#endif /*SCREENRECORD_EGL_WINDOW_H*/
diff --git a/cmds/screenrecord/FontBitmap.h b/cmds/screenrecord/FontBitmap.h
new file mode 100644
index 0000000..2b94f35
--- /dev/null
+++ b/cmds/screenrecord/FontBitmap.h
@@ -0,0 +1,6571 @@
+// auto-generated from Android default system font at 24pts
+class FontBitmap {
+public:
+    static const uint32_t width = 256;
+    static const uint32_t height = 204;
+    static const uint32_t numGlyphs = 95;
+    static const uint32_t firstGlyphChar = 32;
+    static const uint32_t maxGlyphHeight = 34;
+    static const uint32_t outlineWidth = 1;
+    static const uint8_t pixels[];
+    static const uint16_t yoffset[];
+    static const uint16_t glyphWidth[];
+};
+const uint8_t FontBitmap::pixels[] = {
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x64, 0xca, 0xd2,
+    0xb4, 0x22, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0xe, 0x40, 0x68, 0x62, 0x4a,
+    0x4a, 0x6a, 0x5c, 0x30, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0xb4, 0x9b, 0xd7,
+    0x4b, 0x48, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xe, 0x40, 0x68, 0x66, 0x3e, 0xa, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x2, 0x66, 0x9a, 0x98,
+    0x56, 0x0, 0x1c, 0xa0, 0xa8, 0x9c, 0x16, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x4, 0xe, 0x1a, 0x20, 0x16, 0xc,
+    0x0, 0x0, 0x0, 0x3e, 0x27, 0x67, 0x67, 0x13,
+    0x39, 0x67, 0x61, 0xde, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x6, 0x12, 0x16, 0x10, 0x6,
+    0xc, 0x16, 0x14, 0xa, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x14, 0xe4, 0xbb, 0xff,
+    0x5b, 0x78, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x10, 0x3e, 0x5a, 0x54, 0x2c,
+    0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x1a, 0x4a, 0x6c, 0x62, 0x38, 0xa,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x3e, 0x27, 0x67, 0x67, 0x21, 0x32, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x6, 0x9c, 0xd, 0x9d, 0x8d,
+    0xcc, 0x0, 0x74, 0x43, 0xc7, 0x39, 0xdc, 0x24,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x8, 0x14, 0x18, 0x10, 0x4, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xa, 0x14, 0x1a, 0x12, 0x6, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x1c, 0x4a, 0x6c, 0x68, 0x40,
+    0x14, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x4, 0x2a, 0x58, 0x76,
+    0x68, 0x3e, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x54, 0x11, 0x23, 0x23, 0x23, 0xfe,
+    0x0, 0x0, 0x0, 0x64, 0x63, 0xff, 0xff, 0x35,
+    0x8d, 0xff, 0xf1, 0xf8, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x9c, 0x19, 0x23, 0x15, 0x7e,
+    0xb, 0x23, 0x21, 0xb8, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x2e, 0xba, 0xfe, 0x35, 0xcb, 0xff,
+    0x77, 0x5, 0xd8, 0x4a, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x2, 0x78, 0xfc, 0x2f, 0x5f, 0x51, 0x19,
+    0xe0, 0x3c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x20, 0xba, 0xfe, 0x41, 0x67, 0x5f, 0x21, 0xf2,
+    0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x64, 0x63, 0xff, 0xff, 0x57, 0x4e, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x88, 0x15, 0xcb, 0xff, 0xdb,
+    0xd4, 0x0, 0x7a, 0x9b, 0xff, 0xef, 0x4f, 0xd8,
+    0x14, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x9c, 0x1d, 0x23, 0x13, 0x56, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x12,
+    0xfa, 0x21, 0x23, 0x17, 0x5a, 0x0, 0x0, 0x0,
+    0x0, 0x3e, 0xd0, 0xfe, 0x43, 0x67, 0x61, 0x33,
+    0xfe, 0xae, 0x22, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x16, 0x4e, 0x98, 0xd4, 0xf8,
+    0x5, 0xde, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x6, 0x70, 0xf0, 0x11, 0x53, 0x69,
+    0x5f, 0x2f, 0xfe, 0xb2, 0x26, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x8c, 0x89, 0xff, 0xff, 0xff, 0xfe,
+    0x0, 0x0, 0x0, 0x7a, 0x63, 0xff, 0xff, 0x27,
+    0x8d, 0xff, 0xeb, 0xfc, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0xec, 0xcb, 0xff, 0x89, 0xbe,
+    0x71, 0xff, 0xdf, 0xdc, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x38, 0xf6, 0x5d, 0xd9, 0xff, 0xff, 0xff,
+    0xff, 0xe9, 0x7f, 0xfe, 0x5e, 0x0, 0x0, 0x0,
+    0x0, 0x58, 0xb, 0xaf, 0xff, 0xff, 0xff, 0xf1,
+    0x71, 0xec, 0x16, 0x4, 0x38, 0x38, 0x36, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x12,
+    0xde, 0x49, 0xdb, 0xff, 0xff, 0xff, 0xf9, 0x97,
+    0xfe, 0x52, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x7a, 0x63, 0xff, 0xff, 0x4d, 0x4c, 0x0, 0x0,
+    0x0, 0x0, 0x42, 0xfe, 0xbb, 0xff, 0xfb, 0x5f,
+    0xc0, 0x0, 0x6a, 0x25, 0xdf, 0xff, 0xed, 0x33,
+    0x9e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xd2, 0xcb, 0xff, 0x89, 0x84, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x62,
+    0x31, 0xff, 0xff, 0x8d, 0x66, 0x0, 0x0, 0x0,
+    0x4e, 0xfe, 0x71, 0xe5, 0xff, 0xff, 0xff, 0xff,
+    0xd1, 0x4b, 0xe8, 0x24, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x78, 0xe8, 0xfe, 0x37, 0x73, 0xa3, 0xcf,
+    0xf5, 0x15, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x4, 0xa6, 0x15, 0xa5, 0xf7, 0xff, 0xff,
+    0xff, 0xff, 0xd3, 0x53, 0xf2, 0x2e, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xb0, 0x89, 0xff, 0xff, 0xff, 0xfe,
+    0x0, 0x0, 0x0, 0x7a, 0x63, 0xff, 0xf5, 0xfe,
+    0x8d, 0xff, 0xd1, 0xf6, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xe, 0xfe, 0xef, 0xff, 0x5b, 0xe2,
+    0x9b, 0xff, 0xbb, 0xe8, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xd4, 0x6b, 0xfd, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0x95, 0xf6, 0x16, 0x0, 0x0,
+    0x0, 0xc4, 0x8f, 0xff, 0xff, 0xbf, 0xdb, 0xff,
+    0xf9, 0x39, 0x5e, 0x68, 0x13, 0x67, 0xfe, 0x6c,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x72,
+    0x31, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0x89, 0xda, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x7a, 0x63, 0xff, 0xff, 0x19, 0x2a, 0x0, 0x0,
+    0x0, 0x4, 0xda, 0x77, 0xff, 0xff, 0x89, 0xf4,
+    0x30, 0x0, 0xc, 0xc0, 0x41, 0xf9, 0xff, 0xc9,
+    0xfe, 0x3c, 0x0, 0x0, 0x0, 0x6, 0x2e, 0x2e,
+    0x2a, 0xe8, 0xbf, 0xff, 0x7b, 0x9e, 0x1a, 0x1a,
+    0x1a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2,
+    0x1a, 0x32, 0x46, 0x34, 0x1c, 0x4, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc8,
+    0x8d, 0xff, 0xff, 0x31, 0x62, 0x0, 0x0, 0x12,
+    0xf0, 0x83, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xf7, 0x4f, 0xbc, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xd6, 0xaf, 0xef, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0x15, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x64, 0x11, 0xd1, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xfb, 0x5d, 0xc8, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xb0, 0x89, 0xff, 0xff, 0xff, 0xfe,
+    0x0, 0x0, 0x0, 0x7a, 0x63, 0xff, 0xdb, 0xfe,
+    0x8d, 0xff, 0xb5, 0xe2, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x3c, 0x29, 0xff, 0xff, 0x23, 0xf2,
+    0xc3, 0xff, 0x93, 0xc2, 0x0, 0x0, 0x0, 0x0,
+    0x22, 0x9, 0xe9, 0xff, 0xff, 0xef, 0x93, 0x89,
+    0xe5, 0xff, 0xff, 0xfd, 0x39, 0x68, 0x0, 0x0,
+    0x0, 0xf2, 0xd5, 0xff, 0xa7, 0xfe, 0xf, 0xeb,
+    0xff, 0x87, 0xac, 0xf4, 0x9b, 0xff, 0xa3, 0x7a,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc8,
+    0x9f, 0xff, 0xff, 0xed, 0x85, 0x9d, 0xfd, 0xff,
+    0xeb, 0xfe, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x7a, 0x63, 0xff, 0xe7, 0xfe, 0x6, 0x0, 0x0,
+    0x0, 0x4c, 0x11, 0xed, 0xff, 0xdf, 0x9, 0x52,
+    0x0, 0x0, 0x0, 0x1a, 0xf4, 0xa3, 0xff, 0xff,
+    0x6f, 0xc0, 0x0, 0x0, 0x0, 0x42, 0x17, 0x57,
+    0xfe, 0xf8, 0xb5, 0xff, 0x6d, 0xec, 0x5, 0x41,
+    0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x12,
+    0xb, 0x3f, 0x3f, 0x3f, 0xf, 0x1c, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x16, 0xfe,
+    0xd5, 0xff, 0xd1, 0xfc, 0x12, 0x0, 0x0, 0x68,
+    0x31, 0xf9, 0xff, 0xff, 0xdf, 0x89, 0x95, 0xf3,
+    0xff, 0xff, 0xdd, 0xfe, 0x2a, 0x0, 0x0, 0x0,
+    0x0, 0xe4, 0xdd, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0x15, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xe0, 0x9b, 0xff, 0xff, 0xff, 0xbd, 0x7f,
+    0x9f, 0xf9, 0xff, 0xff, 0xe3, 0xfe, 0x20, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xb0, 0x89, 0xff, 0xff, 0xff, 0xfe,
+    0x0, 0x0, 0x0, 0x7a, 0x63, 0xff, 0xbf, 0xf8,
+    0x8d, 0xff, 0x95, 0xc2, 0x0, 0x0, 0x0, 0x14,
+    0x34, 0x50, 0xaa, 0x5f, 0xff, 0xeb, 0xfe, 0xfe,
+    0xe5, 0xff, 0x69, 0xb0, 0x36, 0x16, 0x0, 0x0,
+    0x4e, 0x4d, 0xff, 0xff, 0xff, 0x73, 0xf2, 0xe6,
+    0x3b, 0xfd, 0xff, 0xff, 0x93, 0xb4, 0x0, 0x0,
+    0x0, 0xfa, 0xeb, 0xff, 0x83, 0xbe, 0xf8, 0xcd,
+    0xff, 0xa1, 0xea, 0x43, 0xfb, 0xf9, 0x3d, 0x7a,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe8,
+    0xcd, 0xff, 0xff, 0x83, 0xf4, 0xfe, 0xc1, 0xff,
+    0xff, 0x15, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x7a, 0x63, 0xff, 0xc7, 0xf0, 0x0, 0x0, 0x0,
+    0x0, 0xbc, 0x7f, 0xff, 0xff, 0x7f, 0xcc, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x74, 0x2d, 0xfd, 0xff,
+    0xd9, 0xfe, 0x22, 0x0, 0x0, 0x82, 0x71, 0xff,
+    0xdb, 0x85, 0xb1, 0xff, 0x71, 0x8f, 0xe5, 0xeb,
+    0x5, 0x1c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20,
+    0x2f, 0xff, 0xff, 0xff, 0x3f, 0x34, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x66, 0x37,
+    0xff, 0xff, 0x89, 0xc4, 0x0, 0x0, 0x0, 0xbe,
+    0x93, 0xff, 0xff, 0xf5, 0x27, 0xe0, 0xf2, 0x61,
+    0xff, 0xff, 0xff, 0x57, 0x76, 0x0, 0x0, 0x0,
+    0x0, 0xcc, 0x8f, 0xa7, 0xa7, 0xc9, 0xff, 0xff,
+    0xff, 0x15, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x14, 0xfe, 0xed, 0xff, 0xff, 0xbf, 0xfe, 0xcc,
+    0xfa, 0x89, 0xff, 0xff, 0xff, 0x47, 0x4e, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xb0, 0x89, 0xff, 0xff, 0xff, 0xfe,
+    0x0, 0x0, 0x0, 0x60, 0x63, 0xff, 0xa1, 0xe4,
+    0x8d, 0xff, 0x75, 0x8a, 0x0, 0x0, 0x0, 0x7e,
+    0x33, 0x4d, 0x4d, 0xa1, 0xff, 0xd5, 0x4d, 0x55,
+    0xff, 0xff, 0x6b, 0x4d, 0x37, 0x8e, 0x0, 0x0,
+    0x64, 0x63, 0xff, 0xff, 0xff, 0x49, 0x8a, 0x18,
+    0xfc, 0xe1, 0xff, 0xff, 0xb7, 0xb6, 0x0, 0x0,
+    0x0, 0xf8, 0xdf, 0xff, 0x91, 0xf4, 0xfe, 0xdb,
+    0xff, 0x93, 0xfe, 0xcf, 0xff, 0x97, 0xf2, 0x1a,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xea,
+    0xcf, 0xff, 0xff, 0x7d, 0xe0, 0xfe, 0xd3, 0xff,
+    0xf5, 0xfe, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x60, 0x63, 0xff, 0xa3, 0xc4, 0x0, 0x0, 0x0,
+    0x8, 0xfa, 0xcf, 0xff, 0xfb, 0x21, 0x50, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x10, 0xfc, 0xcb, 0xff,
+    0xff, 0x4d, 0x78, 0x0, 0x0, 0x80, 0x8f, 0xf9,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb,
+    0x43, 0x1c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2e,
+    0x2f, 0xff, 0xff, 0xff, 0x3f, 0x46, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xcc, 0x91,
+    0xff, 0xff, 0x2f, 0x5e, 0x0, 0x0, 0x0, 0xec,
+    0xc7, 0xff, 0xff, 0xc3, 0xf8, 0xc, 0x30, 0xfe,
+    0xef, 0xff, 0xff, 0x93, 0xb6, 0x0, 0x0, 0x0,
+    0x0, 0x58, 0xa0, 0xc8, 0xee, 0x7f, 0xff, 0xff,
+    0xff, 0x15, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x1a, 0x33, 0xff, 0xff, 0xff, 0x77, 0xac, 0x0,
+    0x80, 0x43, 0xff, 0xff, 0xff, 0x67, 0x68, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xb0, 0x89, 0xff, 0xff, 0xff, 0xfe,
+    0x0, 0x0, 0x0, 0x3a, 0x1f, 0x51, 0x2d, 0xa8,
+    0x2d, 0x51, 0x1d, 0x46, 0x0, 0x0, 0x0, 0xac,
+    0xa9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xbb, 0xbc, 0x0, 0x0,
+    0x4c, 0x49, 0xff, 0xff, 0xff, 0x85, 0xf6, 0x60,
+    0xc2, 0x47, 0x57, 0x57, 0x41, 0x8e, 0x0, 0x0,
+    0x0, 0xdc, 0xb1, 0xff, 0xeb, 0x7b, 0x99, 0xff,
+    0xff, 0x5d, 0x7d, 0xff, 0xdf, 0xf, 0x60, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xce,
+    0xa7, 0xff, 0xff, 0xcb, 0xb, 0x9b, 0xff, 0xff,
+    0xaf, 0xee, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x3a, 0x1d, 0x4d, 0x29, 0x74, 0x0, 0x0, 0x0,
+    0x32, 0x1f, 0xfb, 0xff, 0xd5, 0xfc, 0xa, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0xcc, 0x95, 0xff,
+    0xff, 0x9b, 0xc6, 0x0, 0x0, 0x58, 0xee, 0x13,
+    0x67, 0xbd, 0xff, 0xff, 0xf7, 0xaf, 0x6b, 0x19,
+    0xee, 0x1c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2e,
+    0x2f, 0xff, 0xff, 0xff, 0x3f, 0x46, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x18, 0xfe, 0xd9,
+    0xff, 0xcf, 0xfc, 0x10, 0x0, 0x0, 0x0, 0xf8,
+    0xdf, 0xff, 0xff, 0xa9, 0xda, 0x0, 0x0, 0xfa,
+    0xd7, 0xff, 0xff, 0xaf, 0xd6, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xa2, 0x7f, 0xff, 0xff,
+    0xff, 0x15, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x1a, 0x1b, 0x63, 0x63, 0x63, 0x27, 0x4a, 0x0,
+    0xa2, 0x5b, 0xff, 0xff, 0xff, 0x51, 0x58, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xb0, 0x89, 0xff, 0xff, 0xff, 0xfe,
+    0x0, 0x0, 0x0, 0x8, 0x2e, 0x3a, 0x34, 0x1e,
+    0x34, 0x3a, 0x2e, 0x8, 0x0, 0x0, 0x0, 0xa4,
+    0x93, 0xdd, 0xdd, 0xfb, 0xff, 0xe7, 0xdd, 0xed,
+    0xff, 0xf5, 0xdd, 0xdd, 0xa1, 0xb6, 0x0, 0x0,
+    0x20, 0x9, 0xe9, 0xff, 0xff, 0xf9, 0x93, 0x1b,
+    0xee, 0x9a, 0x6c, 0x5e, 0x40, 0x1a, 0x0, 0x0,
+    0x0, 0x82, 0x2d, 0xe7, 0xff, 0xff, 0xff, 0xff,
+    0xb5, 0x27, 0xf1, 0xff, 0x59, 0xc4, 0x4, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7c,
+    0x3d, 0xfb, 0xff, 0xff, 0xe9, 0xff, 0xff, 0xdf,
+    0x21, 0x7c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x8, 0x2a, 0x36, 0x30, 0xe, 0x0, 0x0, 0x0,
+    0x6e, 0x59, 0xff, 0xff, 0xaf, 0xe2, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x8c, 0x65, 0xff,
+    0xff, 0xc9, 0xf0, 0x0, 0x0, 0x0, 0x4, 0x8e,
+    0xd, 0xd1, 0xff, 0xfb, 0xfd, 0x5b, 0xee, 0x48,
+    0x6, 0x0, 0x0, 0x20, 0x7a, 0xb0, 0xc8, 0xd4,
+    0x2f, 0xff, 0xff, 0xff, 0x3f, 0xd8, 0xc8, 0xb0,
+    0x7c, 0x22, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x6c, 0x3b, 0xff,
+    0xff, 0x87, 0xc2, 0x0, 0x0, 0x0, 0x0, 0xfc,
+    0xe9, 0xff, 0xff, 0xa3, 0xd0, 0x0, 0x0, 0xf4,
+    0xd1, 0xff, 0xff, 0xbb, 0xe0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xa2, 0x7f, 0xff, 0xff,
+    0xff, 0x15, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x8, 0x38, 0x60, 0x7a, 0x62, 0x3c, 0xc, 0x30,
+    0xfc, 0xb7, 0xff, 0xff, 0xf3, 0x17, 0x2c, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xb0, 0x89, 0xff, 0xff, 0xff, 0xfe,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x5a,
+    0xce, 0xf0, 0x5, 0xf9, 0xff, 0x4f, 0xfe, 0xa9,
+    0xff, 0xb1, 0xfe, 0xf2, 0xd2, 0x68, 0x0, 0x0,
+    0x0, 0xd2, 0x67, 0xfb, 0xff, 0xff, 0xff, 0xf3,
+    0xa5, 0x2f, 0xf0, 0x5a, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x10, 0xc8, 0x19, 0x85, 0xab, 0xa1, 0x69,
+    0xfe, 0xb7, 0xff, 0xb1, 0xfc, 0x2c, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2e,
+    0xfc, 0x9b, 0xff, 0xff, 0xff, 0xff, 0xc5, 0x23,
+    0xbc, 0x46, 0x6a, 0x7a, 0x52, 0x1c, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xa0, 0x81, 0xff, 0xff, 0x95, 0xc2, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x54, 0x43, 0xff,
+    0xff, 0xe9, 0xfe, 0x0, 0x0, 0x0, 0x38, 0xfe,
+    0xa7, 0xff, 0xd9, 0x7d, 0xff, 0xeb, 0x29, 0x9e,
+    0x0, 0x0, 0x0, 0x5a, 0x49, 0x9f, 0x9f, 0x9f,
+    0xa9, 0xff, 0xff, 0xff, 0xad, 0x9f, 0x9f, 0x9f,
+    0x4d, 0x5e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x50, 0xa6, 0xd0,
+    0xdc, 0xdc, 0xdc, 0xda, 0xb8, 0x74, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0xd0, 0x93, 0xff,
+    0xfd, 0x2d, 0x5a, 0x0, 0x0, 0x0, 0x0, 0xfc,
+    0xeb, 0xff, 0xff, 0xa3, 0xce, 0x0, 0x0, 0xf2,
+    0xd1, 0xff, 0xff, 0xbd, 0xe4, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xa2, 0x7f, 0xff, 0xff,
+    0xff, 0x15, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x16, 0xe0,
+    0x5f, 0xff, 0xff, 0xff, 0x99, 0xe8, 0x6, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xb0, 0x89, 0xff, 0xff, 0xff, 0xfe,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x4e, 0x3d, 0xff, 0xfd, 0x15, 0xf8, 0xcf,
+    0xff, 0x89, 0xb4, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x36, 0xf2, 0x53, 0xdb, 0xff, 0xff, 0xff,
+    0xff, 0xf9, 0x93, 0x5, 0x84, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x6, 0x52, 0xa0, 0xc6, 0xc0, 0xe6,
+    0x5d, 0xff, 0xef, 0x25, 0xd6, 0xd4, 0xd4, 0xaa,
+    0x54, 0x4, 0x0, 0x0, 0x0, 0x0, 0x1c, 0xda,
+    0x3b, 0xdb, 0xff, 0xff, 0xff, 0xfb, 0x47, 0xec,
+    0x36, 0xf, 0x6f, 0x6f, 0x43, 0x6e, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xbc, 0x95, 0xff, 0xff, 0x83, 0xac, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x2c, 0x27, 0xff,
+    0xff, 0xfb, 0xfe, 0x6, 0x0, 0x0, 0x40, 0x6b,
+    0xff, 0xff, 0x51, 0xfe, 0xd1, 0xff, 0xcb, 0xb4,
+    0x0, 0x0, 0x0, 0x86, 0x77, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0x7b, 0x8a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0xb0, 0x87, 0xb3,
+    0xb3, 0xb3, 0xb3, 0xb3, 0xab, 0xec, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x1a, 0xfe, 0xdb, 0xff,
+    0xcd, 0xfc, 0x10, 0x0, 0x0, 0x0, 0x0, 0xfc,
+    0xeb, 0xff, 0xff, 0xa3, 0xce, 0x0, 0x0, 0xf2,
+    0xd1, 0xff, 0xff, 0xbd, 0xe4, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xa2, 0x7f, 0xff, 0xff,
+    0xff, 0x15, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xc6, 0x37,
+    0xf1, 0xff, 0xff, 0xd5, 0xf, 0x64, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xb0, 0x89, 0xff, 0xff, 0xff, 0xfe,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x42, 0xc0,
+    0xea, 0xfa, 0x6f, 0xff, 0xe3, 0xfe, 0xfe, 0xf1,
+    0xff, 0x5b, 0xf6, 0xd2, 0x78, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x26, 0xbc, 0x5, 0x6d, 0xc9, 0xff,
+    0xff, 0xff, 0xff, 0xb9, 0xfe, 0x34, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x64, 0x11,
+    0xe3, 0xff, 0x79, 0x13, 0x8b, 0xb7, 0xb7, 0x89,
+    0x11, 0xb0, 0x4, 0x0, 0x0, 0x0, 0xb6, 0x41,
+    0xef, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe9, 0x2d,
+    0xca, 0x43, 0xff, 0xff, 0x93, 0x96, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xc8, 0xa1, 0xff, 0xff, 0x7b, 0xa0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x16, 0x17, 0xff,
+    0xff, 0xff, 0x15, 0xe, 0x0, 0x0, 0x40, 0x21,
+    0xb7, 0xad, 0xfa, 0xbc, 0x4b, 0xf1, 0x71, 0xb0,
+    0x0, 0x0, 0x0, 0x82, 0x77, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0x7b, 0x88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0xdc, 0xc1, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xf5, 0xfc, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x6e, 0x3f, 0xff, 0xff,
+    0x85, 0xbe, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc,
+    0xeb, 0xff, 0xff, 0xa3, 0xce, 0x0, 0x0, 0xf2,
+    0xd1, 0xff, 0xff, 0xbd, 0xe4, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xa2, 0x7f, 0xff, 0xff,
+    0xff, 0x15, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xa, 0xb6, 0x2b, 0xe3,
+    0xff, 0xff, 0xeb, 0x31, 0xb0, 0x4, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x8e, 0x89, 0xff, 0xff, 0xff, 0xfe,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x82, 0x77,
+    0xd7, 0xd7, 0xe9, 0xff, 0xf5, 0xd7, 0xd7, 0xff,
+    0xff, 0xdb, 0xd7, 0xaf, 0xce, 0x0, 0x0, 0x0,
+    0x3a, 0x6a, 0x90, 0x80, 0x7c, 0xb8, 0xfc, 0x47,
+    0xd3, 0xff, 0xff, 0xff, 0x65, 0x8e, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x1a, 0xf4, 0x9b,
+    0xff, 0xcb, 0x17, 0xdd, 0xff, 0xff, 0xff, 0xff,
+    0xd9, 0x11, 0x56, 0x0, 0x0, 0x1c, 0xfe, 0xd9,
+    0xff, 0xff, 0xd3, 0x4f, 0xf3, 0xff, 0xff, 0xd7,
+    0x15, 0x77, 0xff, 0xff, 0x7b, 0x96, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xca, 0xa3, 0xff, 0xff, 0x79, 0x9e, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x12, 0xf, 0xff,
+    0xff, 0xff, 0x1d, 0xe, 0x0, 0x0, 0xa, 0x86,
+    0xbe, 0xd, 0x76, 0x22, 0xda, 0x1f, 0xe0, 0x3e,
+    0x0, 0x0, 0x0, 0x56, 0x41, 0x8d, 0x8d, 0x8d,
+    0x99, 0xff, 0xff, 0xff, 0x9f, 0x8d, 0x8d, 0x8d,
+    0x43, 0x5a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0xcc, 0xc1, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xf5, 0xfa, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xd4, 0x97, 0xff, 0xfd,
+    0x29, 0x58, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfc,
+    0xe9, 0xff, 0xff, 0xa3, 0xd0, 0x0, 0x0, 0xf4,
+    0xd1, 0xff, 0xff, 0xbb, 0xe0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xa2, 0x7f, 0xff, 0xff,
+    0xff, 0x15, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x6, 0xa8, 0x21, 0xdb, 0xff,
+    0xff, 0xf3, 0x49, 0xd4, 0x12, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x58, 0x1b, 0x35, 0x35, 0x35, 0xfe,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x88, 0x8d,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xd1, 0xd2, 0x0, 0x0, 0x0,
+    0xd4, 0x6d, 0x73, 0x73, 0x47, 0x88, 0x1e, 0xb2,
+    0x21, 0xf3, 0xff, 0xff, 0xa7, 0xc8, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0xa8, 0x41, 0xfb,
+    0xf9, 0x3d, 0x93, 0xff, 0xf3, 0x73, 0x79, 0xf7,
+    0xff, 0x8b, 0xae, 0x0, 0x0, 0x48, 0x43, 0xff,
+    0xff, 0xff, 0x67, 0xf8, 0x61, 0xfb, 0xff, 0xff,
+    0xbf, 0xcf, 0xff, 0xff, 0x41, 0x5a, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xc2, 0x9b, 0xff, 0xff, 0x7f, 0xa6, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0x21, 0xff,
+    0xff, 0xff, 0x5, 0x8, 0x0, 0x0, 0x0, 0x0,
+    0x2, 0x2, 0x2, 0x0, 0x8, 0x8, 0x8, 0x0,
+    0x0, 0x0, 0x0, 0x1c, 0x68, 0x9c, 0xb6, 0xc2,
+    0x2f, 0xff, 0xff, 0xff, 0x3f, 0xc8, 0xb6, 0x9c,
+    0x6a, 0x1c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x8c, 0x9, 0xd,
+    0xd, 0xd, 0xd, 0xd, 0xb, 0xde, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x1c, 0xfe, 0xdd, 0xff, 0xcb,
+    0xfc, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf8,
+    0xdf, 0xff, 0xff, 0xa9, 0xdc, 0x0, 0x0, 0xfa,
+    0xd7, 0xff, 0xff, 0xaf, 0xd4, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xa2, 0x7f, 0xff, 0xff,
+    0xff, 0x15, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x4, 0x9a, 0x17, 0xd1, 0xff, 0xff,
+    0xf9, 0x5b, 0xe4, 0x20, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x8, 0x1a, 0x2c, 0x36, 0x26, 0x14,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x60, 0x2b,
+    0x4d, 0x4d, 0xe9, 0xff, 0x8b, 0x4d, 0xa7, 0xff,
+    0xd3, 0x4d, 0x4d, 0x3f, 0xaa, 0x0, 0x0, 0x0,
+    0xee, 0xe9, 0xff, 0xff, 0xaf, 0xe6, 0x6, 0x14,
+    0xfe, 0xd9, 0xff, 0xff, 0xb9, 0xd8, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x48, 0xfe, 0xcf, 0xff,
+    0x97, 0xfe, 0xc1, 0xff, 0xb1, 0xfa, 0xfa, 0xb9,
+    0xff, 0xbb, 0xdc, 0x0, 0x0, 0x5c, 0x5f, 0xff,
+    0xff, 0xff, 0x4f, 0xa8, 0xf6, 0x7f, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xd9, 0xfe, 0x1c, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xac, 0x8b, 0xff, 0xff, 0x8b, 0xb8, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0x35, 0xff,
+    0xff, 0xf3, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2e,
+    0x2f, 0xff, 0xff, 0xff, 0x3f, 0x46, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x4,
+    0x6, 0x6, 0x6, 0x6, 0x4, 0x2, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x74, 0x43, 0xff, 0xff, 0x81,
+    0xba, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xea,
+    0xc5, 0xff, 0xff, 0xc5, 0xf8, 0x10, 0x32, 0xfe,
+    0xf1, 0xff, 0xff, 0x91, 0xb4, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xa2, 0x7f, 0xff, 0xff,
+    0xff, 0x15, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x88, 0xf, 0xc7, 0xff, 0xff, 0xfd,
+    0x6b, 0xf0, 0x2c, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x52, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0x30,
+    0x68, 0x13, 0xfd, 0xff, 0x3f, 0xf2, 0xb3, 0xff,
+    0xa7, 0xe4, 0x54, 0x3a, 0x1a, 0x0, 0x0, 0x0,
+    0xee, 0xc9, 0xff, 0xff, 0xeb, 0x19, 0xe2, 0xe0,
+    0x21, 0xf3, 0xff, 0xff, 0xa7, 0xc6, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x8, 0xe0, 0x7d, 0xff, 0xdf,
+    0xf, 0xf0, 0xcb, 0xff, 0xa7, 0xe4, 0xe6, 0xad,
+    0xff, 0xc5, 0xe2, 0x0, 0x0, 0x48, 0x43, 0xff,
+    0xff, 0xff, 0x99, 0xfc, 0xd8, 0xfe, 0x9f, 0xff,
+    0xff, 0xff, 0xff, 0x63, 0xca, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x84, 0x69, 0xff, 0xff, 0xa5, 0xd4, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x72, 0x57, 0xff,
+    0xff, 0xd5, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2e,
+    0x2f, 0xff, 0xff, 0xff, 0x3f, 0x46, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x3c, 0xcc, 0xf2, 0xf6,
+    0xdc, 0x78, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x3c, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x14,
+    0x0, 0x0, 0x0, 0xd8, 0x9b, 0xff, 0xfb, 0x27,
+    0x54, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xba,
+    0x8f, 0xff, 0xff, 0xf7, 0x2d, 0xe8, 0xf4, 0x63,
+    0xff, 0xff, 0xff, 0x53, 0x72, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xa2, 0x7f, 0xff, 0xff,
+    0xff, 0x15, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x74, 0x9, 0xbd, 0xff, 0xff, 0xff, 0x7d,
+    0xfe, 0xe6, 0xe0, 0xe0, 0xda, 0xb4, 0x66, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x8a, 0x89, 0xff, 0xff, 0xff, 0xfe,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x64, 0x4d, 0xff, 0xf9, 0x9, 0xfa, 0xd7, 0xff,
+    0x7d, 0xa6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xb2, 0x77, 0xff, 0xff, 0xff, 0xe1, 0x95, 0x91,
+    0xdd, 0xff, 0xff, 0xff, 0x5f, 0x8a, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x8, 0x1f, 0xf1, 0xff, 0x59,
+    0xc4, 0xd4, 0xb1, 0xff, 0xd1, 0x5, 0xfe, 0xcd,
+    0xff, 0xab, 0xce, 0x0, 0x0, 0x1c, 0xfe, 0xdf,
+    0xff, 0xff, 0xff, 0xb1, 0x87, 0x9f, 0xe3, 0xff,
+    0xff, 0xff, 0xfd, 0x63, 0xea, 0x1e, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x48, 0x39, 0xff, 0xff, 0xc5, 0xf4, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0xb0, 0x7f, 0xff,
+    0xff, 0xb1, 0xdc, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x22,
+    0x2f, 0xff, 0xff, 0xff, 0x3f, 0x36, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x74, 0x71, 0xe3, 0xe3,
+    0xaf, 0xc4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x68, 0x6f, 0xff, 0xff, 0xff, 0x35, 0x26,
+    0x0, 0x0, 0x20, 0xfe, 0xe1, 0xff, 0xc9, 0xfa,
+    0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x60,
+    0x2b, 0xf7, 0xff, 0xff, 0xe5, 0x93, 0x9d, 0xf5,
+    0xff, 0xff, 0xd9, 0xfe, 0x26, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xa2, 0x7f, 0xff, 0xff,
+    0xff, 0x15, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xda, 0xab, 0xff, 0xff, 0xff, 0xed, 0xb7,
+    0xb7, 0xb7, 0xb7, 0xb7, 0xb7, 0x9d, 0xd0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xb0, 0x89, 0xff, 0xff, 0xff, 0xfe,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xa4, 0x7b, 0xff, 0xd9, 0xfc, 0x5, 0xf7, 0xff,
+    0x4f, 0x66, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x42, 0x5, 0xb9, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xb5, 0xfe, 0x30, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x8, 0xdc, 0x55, 0x8d, 0xfc,
+    0x2c, 0x94, 0x5f, 0xff, 0xff, 0xdb, 0xd5, 0xff,
+    0xff, 0x59, 0x8a, 0x0, 0x0, 0x0, 0xc2, 0x55,
+    0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xf5, 0x45, 0xce, 0x10, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x16, 0xfe, 0xe5, 0xff, 0xef, 0x5, 0x2a, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x2, 0xee, 0xb3, 0xff,
+    0xff, 0x6d, 0x9a, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x14,
+    0x11, 0x67, 0x67, 0x67, 0x19, 0x20, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x9c, 0x7f, 0xff, 0xff,
+    0xc5, 0xe4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x8c, 0x6f, 0xff, 0xff, 0xff, 0x35, 0x36,
+    0x0, 0x0, 0x78, 0x47, 0xff, 0xff, 0x7f, 0xb8,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe,
+    0xea, 0x79, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xf3, 0x47, 0xb6, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xa2, 0x7f, 0xff, 0xff,
+    0xff, 0x15, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xf6, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xdd, 0xf0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x8a, 0x89, 0xff, 0xff, 0xff, 0xfe,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x94, 0xa5, 0xff, 0xb5, 0xda, 0x3d, 0xff, 0xff,
+    0x15, 0x2a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x84, 0xfe, 0x7f, 0xe1, 0xff, 0xff, 0xff,
+    0xff, 0xdf, 0x7b, 0xfe, 0x80, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x28, 0x72, 0x72, 0x56,
+    0x0, 0x30, 0xfe, 0x83, 0xf5, 0xff, 0xff, 0xf5,
+    0x81, 0xfc, 0x2a, 0x0, 0x0, 0x0, 0x28, 0xec,
+    0x47, 0xc9, 0xfd, 0xff, 0xff, 0xff, 0xf3, 0xa7,
+    0x41, 0xe3, 0xff, 0xff, 0xe9, 0x35, 0x10, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xde, 0xa5, 0xff, 0xff, 0x59, 0x98, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x44, 0xb, 0xef, 0xff,
+    0xf3, 0x17, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4,
+    0x38, 0x62, 0x80, 0x64, 0x3a, 0x6, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xa6, 0x7f, 0xff, 0xff,
+    0xc1, 0xe4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x68, 0x6f, 0xff, 0xff, 0xff, 0x35, 0x26,
+    0x0, 0x0, 0xdc, 0x9d, 0xff, 0xfb, 0x23, 0x50,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x44, 0xf8, 0x63, 0xd9, 0xff, 0xff, 0xff, 0xfd,
+    0xc7, 0x41, 0xe2, 0x20, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x7c, 0x7f, 0xff, 0xff,
+    0xff, 0x15, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xee, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xdd, 0xe8, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x52, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x6c, 0xfe, 0xfe, 0xfe, 0x8c, 0xfe, 0xfe, 0xfe,
+    0xf6, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x4a, 0xcc, 0xfe, 0x2f, 0xed, 0xff,
+    0x27, 0xfe, 0xca, 0x46, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x4c, 0xe8, 0xf, 0x43, 0x43, 0xf,
+    0xe8, 0x4c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20,
+    0xa4, 0xfa, 0x1f, 0x4f, 0x59, 0x41, 0x9, 0xec,
+    0xde, 0xfe, 0xfe, 0xfe, 0xfe, 0xc8, 0x10, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x7a, 0x39, 0xfd, 0xff, 0xbb, 0xfa, 0x24,
+    0x0, 0x0, 0x0, 0x4, 0xce, 0x77, 0xff, 0xff,
+    0x9f, 0xea, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xbe, 0x89, 0xff, 0xff,
+    0xa7, 0xca, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x3c, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x14,
+    0x0, 0x8, 0xe6, 0xe3, 0xff, 0xc7, 0xf8, 0xc,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x32, 0xbe, 0xfe, 0x31, 0x55, 0x51, 0x23,
+    0xfc, 0xa0, 0x1c, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x48, 0xfe, 0xfe, 0xfe,
+    0xfe, 0xfe, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xbc, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
+    0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xb2, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x10, 0xf8, 0xe9, 0xff,
+    0xfe, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x4, 0x20, 0x38, 0x38, 0x20,
+    0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x8, 0x2c, 0x50, 0x5e, 0x42, 0x1c, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x16, 0xf8, 0xad, 0xff, 0xfd, 0x4d, 0xc2,
+    0x8, 0x0, 0x0, 0x74, 0x11, 0xe3, 0xff, 0xef,
+    0x25, 0x6e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x6, 0xf0, 0xaf, 0xff, 0xff,
+    0x5d, 0x88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x8, 0x21, 0x95, 0x95, 0x55, 0xa4, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x12, 0x38, 0x54, 0x52, 0x30,
+    0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0xda, 0x91, 0x9f,
+    0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x7c, 0x21, 0xe9, 0xff, 0xdf, 0x1d,
+    0x9e, 0x0, 0x52, 0xfe, 0xa9, 0xff, 0xff, 0x71,
+    0xde, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x18, 0x17, 0xf1, 0xff, 0xd1,
+    0xfe, 0x2e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x8, 0x62, 0x9c, 0xa8, 0x76, 0x28, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x58, 0x9c, 0x9c,
+    0x68, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xa, 0xd0, 0x4b, 0xf5, 0xff, 0xcb,
+    0xce, 0x0, 0x78, 0x89, 0xff, 0xff, 0x9b, 0xfe,
+    0x3c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x18, 0x37, 0xd9, 0xf1, 0x41,
+    0xae, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x22, 0xe6, 0x4b, 0xe7, 0xb5,
+    0xd0, 0x0, 0x78, 0x6b, 0xfb, 0x8d, 0xfe, 0x64,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x14, 0xb4, 0x5, 0x31, 0xde,
+    0x1c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x22, 0xcc, 0x17, 0x39,
+    0x88, 0x0, 0x3a, 0xb, 0x3b, 0xf2, 0x56, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x10, 0x10,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x18, 0x18,
+    0x14, 0x0, 0x2, 0x18, 0x18, 0x16, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x8, 0x30, 0x5c, 0x76,
+    0x66, 0x3c, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x2, 0xe, 0x18, 0x20, 0x18, 0xc, 0x2, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x4, 0xe, 0x1a, 0x20,
+    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x16, 0xc,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x1c, 0x48, 0x6c, 0x6a, 0x46, 0x1c, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x2, 0xe, 0x18, 0x20,
+    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+    0x1e, 0x14, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x2, 0x22, 0x52, 0x74, 0x6e, 0x46, 0x18,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x22, 0x50, 0x70, 0x60, 0x36,
+    0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x28, 0x56,
+    0x76, 0x6e, 0x46, 0x18, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc,
+    0x16, 0x20, 0x1c, 0x10, 0x6, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xe, 0x86, 0xf6, 0x1b, 0x57, 0x6b,
+    0x5f, 0x2f, 0xfe, 0xba, 0x30, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x7e, 0xd, 0x23, 0x23, 0x23, 0xb, 0x24, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x62, 0x11, 0x23, 0x23,
+    0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x5,
+    0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x52,
+    0xda, 0xfe, 0x41, 0x63, 0x61, 0x41, 0x5, 0xd4,
+    0x2c, 0x0, 0x0, 0x0, 0x3a, 0xd, 0x23, 0x23,
+    0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
+    0x23, 0x1d, 0xa8, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x5a, 0xe4, 0xb, 0x4b, 0x69, 0x63, 0x3d, 0xfe,
+    0xc8, 0x38, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x44, 0xd8, 0x5, 0x4b, 0x69, 0x5b, 0x21,
+    0xf8, 0x8c, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x6, 0x70, 0xec, 0x11, 0x51,
+    0x69, 0x63, 0x3d, 0xfe, 0xcc, 0x3e, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xa, 0x46, 0x8c, 0xbe, 0xd2, 0xd2, 0xc4, 0x9a,
+    0x56, 0x14, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x24, 0xfe,
+    0x23, 0x23, 0x23, 0x15, 0x94, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x12, 0xca, 0x29, 0xb5, 0xfb, 0xff, 0xff,
+    0xff, 0xff, 0xd7, 0x5f, 0xfa, 0x40, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2c,
+    0xfc, 0xb3, 0xff, 0xff, 0xff, 0x4d, 0x42, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xac, 0x97, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x2f,
+    0x20, 0x0, 0x0, 0x0, 0x0, 0x4, 0x98, 0x9,
+    0x89, 0xe9, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x5b,
+    0x44, 0x0, 0x0, 0x0, 0x66, 0x6b, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xd3, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x78,
+    0x9, 0x93, 0xf1, 0xff, 0xff, 0xff, 0xff, 0xe1,
+    0x6b, 0xfc, 0x44, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x5c, 0xfe, 0x79, 0xeb, 0xff, 0xff, 0xff, 0xfd,
+    0xbb, 0x2b, 0xc8, 0xe, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0xa4, 0x19, 0xa5, 0xf5, 0xff,
+    0xff, 0xff, 0xff, 0xe3, 0x71, 0xfe, 0x4c, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x18, 0x92,
+    0xf8, 0x21, 0x73, 0x99, 0xab, 0xaf, 0x9d, 0x7f,
+    0x35, 0xfe, 0xac, 0x26, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x82, 0x4f,
+    0xff, 0xff, 0xff, 0xc5, 0xf8, 0xa, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x8a, 0x31, 0xe7, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0x75, 0xe0, 0x4, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xc6,
+    0x5b, 0xff, 0xff, 0xff, 0xff, 0x4d, 0x5c, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xda, 0xaf, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x2f,
+    0x2a, 0x0, 0x0, 0x0, 0x0, 0x7c, 0x13, 0xc7,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x43,
+    0x44, 0x0, 0x0, 0x0, 0x76, 0x6b, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xd3, 0xf2, 0x0, 0x0, 0x0, 0x20, 0xfe,
+    0xaf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0x79, 0xe0, 0x4, 0x0, 0x0, 0x0, 0x26,
+    0xfa, 0x93, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xe5, 0x2b, 0x8e, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x42, 0x9, 0xd1, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0x81, 0xe8, 0x8,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x42, 0xf2, 0x3d,
+    0xbb, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xcf, 0x51, 0xf8, 0x48, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe2, 0xa5,
+    0xff, 0xff, 0xff, 0xfb, 0x21, 0x50, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xf0, 0xb7, 0xff, 0xff, 0xff, 0xb7, 0x7d,
+    0x99, 0xf3, 0xff, 0xff, 0xf1, 0x13, 0x32, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x62, 0xf,
+    0xe1, 0xff, 0xff, 0xff, 0xff, 0x4d, 0x5c, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xec, 0xc3, 0xff, 0xff,
+    0xd7, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0x23,
+    0x1c, 0x0, 0x0, 0x0, 0x1e, 0xfc, 0xb1, 0xff,
+    0xff, 0xff, 0xd1, 0x8d, 0x89, 0xa7, 0xcf, 0xfe,
+    0x1c, 0x0, 0x0, 0x0, 0x50, 0x47, 0xad, 0xad,
+    0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xe9, 0xff,
+    0xff, 0xc5, 0xdc, 0x0, 0x0, 0x0, 0x6c, 0x49,
+    0xff, 0xff, 0xff, 0xe1, 0x85, 0x93, 0xf3, 0xff,
+    0xff, 0xf1, 0xf, 0x2a, 0x0, 0x0, 0x0, 0x9a,
+    0x53, 0xff, 0xff, 0xff, 0xdb, 0x85, 0xa5, 0xfd,
+    0xff, 0xff, 0xbd, 0xfa, 0x14, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xa0, 0x77, 0xff, 0xff, 0xff, 0xd7,
+    0x8b, 0x9b, 0xf3, 0xff, 0xff, 0xf5, 0x1f, 0x3e,
+    0x0, 0x0, 0x0, 0x0, 0x4a, 0xfc, 0x77, 0xfb,
+    0xff, 0xf3, 0xb5, 0x7b, 0x5f, 0x5b, 0x73, 0xa3,
+    0xe5, 0xff, 0xfd, 0x7f, 0xfc, 0x3c, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x2a, 0x5, 0xe9,
+    0xff, 0xff, 0xff, 0xff, 0x7f, 0xba, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xf4, 0xf7, 0xff, 0xff, 0xb5, 0xfe, 0xc8,
+    0xf4, 0x73, 0xff, 0xff, 0xff, 0x5d, 0x64, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x1a, 0xf2, 0x97,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0x4d, 0x5c, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xf8, 0xd9, 0xff, 0xff,
+    0x65, 0xf2, 0xe8, 0xe8, 0xe8, 0xe8, 0xce, 0x92,
+    0xc, 0x0, 0x0, 0x0, 0x78, 0x45, 0xff, 0xff,
+    0xff, 0xaf, 0xfe, 0xd6, 0xbe, 0xda, 0xc8, 0x9e,
+    0x0, 0x0, 0x0, 0x0, 0x20, 0x86, 0xbe, 0xd6,
+    0xd6, 0xd6, 0xd6, 0xda, 0xfa, 0x67, 0xff, 0xff,
+    0xef, 0x35, 0x9a, 0x0, 0x0, 0x0, 0xa4, 0x8d,
+    0xff, 0xff, 0xff, 0x39, 0xe2, 0xf4, 0x7b, 0xff,
+    0xff, 0xff, 0x55, 0x56, 0x0, 0x0, 0x0, 0xec,
+    0xbd, 0xff, 0xff, 0xef, 0x21, 0xe0, 0xfa, 0x8d,
+    0xff, 0xff, 0xfd, 0x33, 0x52, 0x0, 0x0, 0x0,
+    0x3c, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x14, 0x0,
+    0x0, 0x0, 0x3c, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
+    0x14, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x6, 0x52, 0x9e, 0x9c, 0x72,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x60, 0x98, 0x9c, 0x62,
+    0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xb2, 0xb3, 0xff, 0xff, 0xef, 0x19,
+    0xdc, 0xf2, 0x67, 0xff, 0xff, 0xff, 0x6b, 0x78,
+    0x0, 0x0, 0x0, 0x20, 0xf2, 0x7f, 0xff, 0xff,
+    0xb7, 0x27, 0xf2, 0xb2, 0x82, 0x7e, 0xa4, 0xe4,
+    0xd, 0x91, 0xff, 0xff, 0x6f, 0xdc, 0xa, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x8c, 0x59, 0xff,
+    0xff, 0xf9, 0xff, 0xff, 0xcb, 0xfa, 0xe, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x9, 0x7b, 0x7b, 0x7b, 0x41, 0x8c, 0x0,
+    0x6a, 0x31, 0xff, 0xff, 0xff, 0x73, 0x78, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0xa6, 0x3d, 0xf9,
+    0xff, 0xeb, 0xff, 0xff, 0xff, 0x4d, 0x5c, 0x0,
+    0x0, 0x0, 0x0, 0x2, 0xfe, 0xed, 0xff, 0xff,
+    0x43, 0x6a, 0x3a, 0x34, 0x16, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xc8, 0x9d, 0xff, 0xff,
+    0xf5, 0x19, 0xb0, 0x98, 0x9c, 0x74, 0x34, 0x2,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x92, 0x2d, 0xf1, 0xff, 0xff,
+    0x63, 0xde, 0x14, 0x0, 0x0, 0x0, 0xb6, 0x9d,
+    0xff, 0xff, 0xf1, 0xfe, 0x1e, 0x78, 0x41, 0xff,
+    0xff, 0xff, 0x67, 0x68, 0x0, 0x0, 0x2, 0xfe,
+    0xef, 0xff, 0xff, 0xa7, 0xee, 0xa, 0x5c, 0x21,
+    0xff, 0xff, 0xff, 0x79, 0x94, 0x0, 0x0, 0x0,
+    0x68, 0x6f, 0xff, 0xff, 0xff, 0x35, 0x26, 0x0,
+    0x0, 0x0, 0x68, 0x6f, 0xff, 0xff, 0xff, 0x35,
+    0x26, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x18, 0x7a, 0xec, 0x19, 0x83, 0xa9, 0xc8,
+    0x0, 0x0, 0x0, 0x26, 0x7e, 0xb2, 0xc8, 0xc8,
+    0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xc8, 0xa8, 0x6c,
+    0x8, 0x0, 0x0, 0x0, 0xae, 0x97, 0x91, 0x27,
+    0xf6, 0x90, 0x24, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x98, 0x67, 0x87, 0x87, 0x6f, 0xde,
+    0x6, 0x4e, 0x19, 0xff, 0xff, 0xff, 0x83, 0x92,
+    0x0, 0x0, 0x0, 0xac, 0x49, 0xf9, 0xff, 0xa5,
+    0xfe, 0x88, 0x2c, 0x64, 0x92, 0x9c, 0x74, 0x38,
+    0x5e, 0xfc, 0x89, 0xff, 0xef, 0x21, 0x5a, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0xea, 0xad, 0xff,
+    0xff, 0x9d, 0xf9, 0xff, 0xfd, 0x2b, 0x5a, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x46, 0x78, 0x9c, 0x86, 0x58, 0x1a, 0x1c,
+    0xc2, 0x57, 0xff, 0xff, 0xff, 0x4d, 0x5a, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x46, 0xfe, 0xcd, 0xff,
+    0xf9, 0x79, 0xff, 0xff, 0xff, 0x4d, 0x5c, 0x0,
+    0x0, 0x0, 0x0, 0x14, 0xb, 0xfd, 0xff, 0xff,
+    0x19, 0x1b, 0x49, 0x39, 0xfe, 0xde, 0x52, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xec, 0xcb, 0xff, 0xff,
+    0xc7, 0xfe, 0x53, 0x85, 0x89, 0x63, 0xd, 0xc4,
+    0x20, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x2e, 0xfe, 0xbf, 0xff, 0xff, 0xab,
+    0xfc, 0x32, 0x0, 0x0, 0x0, 0x0, 0x94, 0x7f,
+    0xff, 0xff, 0xfd, 0x1f, 0xa4, 0xd0, 0x63, 0xff,
+    0xff, 0xff, 0x41, 0x4c, 0x0, 0x0, 0x2, 0xb,
+    0xff, 0xff, 0xff, 0x87, 0xbe, 0x0, 0xa, 0xfe,
+    0xf1, 0xff, 0xff, 0x9b, 0xbe, 0x0, 0x0, 0x0,
+    0x8c, 0x6f, 0xff, 0xff, 0xff, 0x35, 0x36, 0x0,
+    0x0, 0x0, 0x8c, 0x6f, 0xff, 0xff, 0xff, 0x35,
+    0x36, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x32,
+    0xa6, 0xfc, 0x3b, 0xa5, 0xf3, 0xff, 0xcd, 0xea,
+    0x0, 0x0, 0x0, 0x6a, 0x53, 0x9f, 0x9f, 0x9f,
+    0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x9f, 0x1d,
+    0x18, 0x0, 0x0, 0x0, 0xd6, 0xb3, 0xff, 0xf9,
+    0xb5, 0x4f, 0xfe, 0xbe, 0x46, 0x4, 0x0, 0x0,
+    0x0, 0x0, 0x34, 0x74, 0xa0, 0xa2, 0x78, 0x3c,
+    0x0, 0x88, 0x3d, 0xff, 0xff, 0xff, 0x69, 0x7a,
+    0x0, 0x0, 0x28, 0xfe, 0xcf, 0xff, 0xd3, 0x9,
+    0x70, 0x86, 0xfe, 0x49, 0x83, 0x83, 0x63, 0x13,
+    0xe0, 0x84, 0x5, 0xd5, 0xff, 0x8b, 0xca, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x32, 0x9, 0xef, 0xff,
+    0xff, 0x45, 0xc3, 0xff, 0xff, 0x87, 0xc2, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x48, 0xf8, 0xfe, 0x9,
+    0x43, 0xd5, 0xff, 0xff, 0xcd, 0xfe, 0x24, 0x0,
+    0x0, 0x0, 0x0, 0xc, 0xe0, 0x7b, 0xff, 0xff,
+    0x95, 0x57, 0xff, 0xff, 0xff, 0x4d, 0x5c, 0x0,
+    0x0, 0x0, 0x0, 0x38, 0x31, 0xff, 0xff, 0xf9,
+    0xc3, 0xff, 0xff, 0xff, 0xed, 0x89, 0xfe, 0x64,
+    0x0, 0x0, 0x0, 0x0, 0xf6, 0xdb, 0xff, 0xff,
+    0xcb, 0xd5, 0xff, 0xff, 0xff, 0xff, 0xe3, 0x47,
+    0xd4, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xb2, 0x5d, 0xff, 0xff, 0xef, 0x21,
+    0x78, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4e, 0x1f,
+    0xf1, 0xff, 0xff, 0xbb, 0x3d, 0x4d, 0xd9, 0xff,
+    0xff, 0xcd, 0xfe, 0x1c, 0x0, 0x0, 0x2, 0xfe,
+    0xfd, 0xff, 0xff, 0x8f, 0xc8, 0x0, 0x0, 0xfc,
+    0xe5, 0xff, 0xff, 0xa7, 0xce, 0x0, 0x0, 0x0,
+    0x68, 0x6f, 0xff, 0xff, 0xff, 0x35, 0x26, 0x0,
+    0x0, 0x0, 0x68, 0x6f, 0xff, 0xff, 0xff, 0x35,
+    0x26, 0x0, 0x0, 0x0, 0x8, 0x58, 0xd0, 0xfe,
+    0x63, 0xc5, 0xff, 0xff, 0xff, 0xff, 0xcd, 0xe0,
+    0x0, 0x0, 0x0, 0x98, 0x87, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x2f,
+    0x26, 0x0, 0x0, 0x0, 0xc6, 0xb3, 0xff, 0xff,
+    0xff, 0xff, 0xd5, 0x79, 0x11, 0xe6, 0x72, 0x14,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x52, 0xfe, 0xaf, 0xff, 0xff, 0xf5, 0x21, 0x40,
+    0x0, 0x0, 0x86, 0x55, 0xff, 0xff, 0x53, 0xb2,
+    0x82, 0x11, 0xbb, 0xff, 0xff, 0xff, 0xff, 0xef,
+    0x81, 0xc8, 0xc4, 0x7d, 0xff, 0xd9, 0xfa, 0x4,
+    0x0, 0x0, 0x0, 0x0, 0x96, 0x63, 0xff, 0xff,
+    0xe5, 0xfe, 0x7d, 0xff, 0xff, 0xd1, 0xfc, 0x12,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x7c, 0x7d, 0xfd, 0xff,
+    0xff, 0xff, 0xff, 0xd1, 0x25, 0xa0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x84, 0x25, 0xef, 0xff, 0xdf,
+    0xd, 0x57, 0xff, 0xff, 0xff, 0x4d, 0x5c, 0x0,
+    0x0, 0x0, 0x0, 0x64, 0x53, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x9d, 0xf8,
+    0x16, 0x0, 0x0, 0x0, 0xfa, 0xe3, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xeb,
+    0x21, 0x68, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x22, 0xfe, 0xd1, 0xff, 0xff, 0x8f, 0xe4,
+    0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0xdc,
+    0x53, 0xeb, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xd7, 0x2b, 0xa2, 0x0, 0x0, 0x0, 0x0, 0xfe,
+    0xe7, 0xff, 0xff, 0xbb, 0xfa, 0x32, 0x5e, 0xfe,
+    0xe5, 0xff, 0xff, 0xa9, 0xd4, 0x0, 0x0, 0x0,
+    0x3c, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x14, 0x0,
+    0x0, 0x0, 0x3c, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
+    0x14, 0x0, 0x0, 0x30, 0xe6, 0x1d, 0x89, 0xe1,
+    0xff, 0xff, 0xff, 0xff, 0xfd, 0xc7, 0x69, 0xb2,
+    0x0, 0x0, 0x0, 0x8c, 0x87, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x2f,
+    0x22, 0x0, 0x0, 0x0, 0x90, 0x53, 0xb7, 0xf5,
+    0xff, 0xff, 0xff, 0xff, 0xef, 0x9d, 0x33, 0xf6,
+    0x5a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6c,
+    0xfe, 0x89, 0xff, 0xff, 0xff, 0x8f, 0xea, 0xa,
+    0x0, 0x0, 0xdc, 0xa7, 0xff, 0xd7, 0xfe, 0x4c,
+    0xfe, 0xb7, 0xff, 0xff, 0xcd, 0xb1, 0xe9, 0xff,
+    0xdd, 0xea, 0x52, 0x29, 0xff, 0xfb, 0x11, 0x24,
+    0x0, 0x0, 0x0, 0x4, 0xee, 0xb3, 0xff, 0xff,
+    0xa5, 0xea, 0x27, 0xfd, 0xff, 0xff, 0x31, 0x62,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x90, 0x7f, 0xff, 0xff,
+    0xff, 0xff, 0xf7, 0x79, 0xfe, 0x7c, 0x0, 0x0,
+    0x0, 0x0, 0x2e, 0xfc, 0xb3, 0xff, 0xff, 0x55,
+    0xda, 0x57, 0xff, 0xff, 0xff, 0x4d, 0x5c, 0x0,
+    0x0, 0x0, 0x0, 0x6e, 0x6f, 0xff, 0xff, 0xff,
+    0xb5, 0x75, 0x8b, 0xed, 0xff, 0xff, 0xfd, 0x39,
+    0x66, 0x0, 0x0, 0x0, 0xfa, 0xe3, 0xff, 0xff,
+    0xfd, 0xa1, 0x55, 0x53, 0xb5, 0xff, 0xff, 0xff,
+    0x9b, 0xd0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x7c, 0x4d, 0xff, 0xff, 0xf9, 0x21, 0x5e,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xb0,
+    0x11, 0x9f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb,
+    0x77, 0xfe, 0x74, 0x0, 0x0, 0x0, 0x0, 0xe2,
+    0xb1, 0xff, 0xff, 0xf9, 0x5f, 0xfe, 0xd, 0x95,
+    0xff, 0xff, 0xff, 0xa9, 0xd4, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x68, 0x5f, 0xf5, 0xff, 0xff,
+    0xff, 0xff, 0xd7, 0x8b, 0x2b, 0xfa, 0xac, 0x38,
+    0x0, 0x0, 0x0, 0x58, 0x25, 0x49, 0x49, 0x49,
+    0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0x49, 0xd,
+    0x12, 0x0, 0x0, 0x0, 0x26, 0x94, 0xf2, 0x15,
+    0x75, 0xc3, 0xfb, 0xff, 0xff, 0xff, 0xfd, 0x93,
+    0xac, 0x0, 0x0, 0x0, 0x0, 0x0, 0x68, 0x5,
+    0xa5, 0xff, 0xff, 0xff, 0xad, 0xfe, 0x58, 0x0,
+    0x0, 0x4, 0xfe, 0xdf, 0xff, 0x9d, 0xd6, 0x9c,
+    0x5b, 0xff, 0xff, 0x97, 0xfe, 0xfc, 0xbf, 0xff,
+    0xcb, 0xf0, 0xe, 0xfe, 0xf1, 0xff, 0x4b, 0x4a,
+    0x0, 0x0, 0x0, 0x3a, 0xf, 0xf3, 0xff, 0xff,
+    0x59, 0x8a, 0xfc, 0xcf, 0xff, 0xff, 0x8d, 0xca,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x66, 0x55, 0xad, 0xaf,
+    0xcb, 0xff, 0xff, 0xff, 0xad, 0xfe, 0x2c, 0x0,
+    0x0, 0x4, 0xc6, 0x5b, 0xff, 0xff, 0xad, 0xfe,
+    0xce, 0x57, 0xff, 0xff, 0xff, 0x4d, 0xaa, 0x4a,
+    0x8, 0x0, 0x0, 0x54, 0x49, 0x9b, 0xab, 0x99,
+    0xfe, 0xbe, 0xea, 0x4f, 0xff, 0xff, 0xff, 0x8f,
+    0xb2, 0x0, 0x0, 0x0, 0xfa, 0xe3, 0xff, 0xff,
+    0xb5, 0xfe, 0x94, 0xa4, 0xfe, 0xdb, 0xff, 0xff,
+    0xdb, 0xfa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xdc, 0xa1, 0xff, 0xff, 0xc3, 0xf8, 0xa,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x64, 0x17,
+    0xcf, 0xff, 0xff, 0xf1, 0xb7, 0xc1, 0xfb, 0xff,
+    0xff, 0xa3, 0xfe, 0x2c, 0x0, 0x0, 0x0, 0x8a,
+    0x43, 0xfb, 0xff, 0xff, 0xff, 0xeb, 0xf7, 0xff,
+    0xff, 0xff, 0xff, 0xa9, 0xd4, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x90, 0x7b, 0xff, 0xff, 0xff,
+    0xaf, 0x41, 0xfe, 0xd8, 0x62, 0xe, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x2c, 0x88, 0xba, 0xce, 0xce,
+    0xce, 0xce, 0xce, 0xce, 0xce, 0xce, 0xae, 0x72,
+    0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0x46,
+    0xbe, 0xfc, 0x23, 0x8d, 0xf7, 0xff, 0xff, 0xb3,
+    0xd4, 0x0, 0x0, 0x0, 0x0, 0x6, 0xf0, 0x9f,
+    0xff, 0xff, 0xfd, 0x89, 0xfe, 0x76, 0x0, 0x0,
+    0x0, 0x1a, 0xf, 0xff, 0xff, 0x67, 0x94, 0xf0,
+    0xbb, 0xff, 0xf3, 0x13, 0x62, 0xf4, 0xd1, 0xff,
+    0xb9, 0xe2, 0x0, 0xfc, 0xe3, 0xff, 0x5b, 0x6c,
+    0x0, 0x0, 0x0, 0xa0, 0x6b, 0xff, 0xff, 0xef,
+    0x9, 0xac, 0xea, 0x8d, 0xff, 0xff, 0xd7, 0xfe,
+    0x16, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x28, 0x8c, 0xc2, 0xe2,
+    0xfe, 0x6d, 0xff, 0xff, 0xff, 0x5b, 0x84, 0x0,
+    0x0, 0x3a, 0x11, 0xe1, 0xff, 0xfd, 0x89, 0x7b,
+    0x7b, 0x9b, 0xff, 0xff, 0xff, 0x97, 0x7b, 0x1b,
+    0x1e, 0x0, 0x0, 0x20, 0x78, 0xb4, 0xca, 0xa8,
+    0x60, 0x0, 0x24, 0xfe, 0xe5, 0xff, 0xff, 0xb5,
+    0xd8, 0x0, 0x0, 0x0, 0xf8, 0xdf, 0xff, 0xff,
+    0xb1, 0xe2, 0x0, 0x0, 0xe0, 0x9d, 0xff, 0xff,
+    0xf9, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x1c, 0xfe, 0xe3, 0xff, 0xff, 0x85, 0xba, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd2, 0x99,
+    0xff, 0xff, 0xf1, 0x2f, 0xf6, 0xfc, 0x5f, 0xff,
+    0xff, 0xff, 0x5b, 0x8e, 0x0, 0x0, 0x0, 0x1c,
+    0xf2, 0x73, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xd5,
+    0xed, 0xff, 0xff, 0xa7, 0xce, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x7c, 0x7b, 0xff, 0xff, 0xff,
+    0xfd, 0xc9, 0x7b, 0x1b, 0xf6, 0xa2, 0x3a, 0x4,
+    0x0, 0x0, 0x0, 0x68, 0x4d, 0x91, 0x91, 0x91,
+    0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x91, 0x19,
+    0x16, 0x0, 0x0, 0x0, 0x0, 0x2a, 0x8c, 0xec,
+    0xd, 0x6b, 0xbb, 0xf9, 0xff, 0xff, 0xff, 0xb3,
+    0xc2, 0x0, 0x0, 0x0, 0x0, 0x22, 0x17, 0xf9,
+    0xff, 0xff, 0x9f, 0xfc, 0x52, 0x0, 0x0, 0x0,
+    0x0, 0x3c, 0x39, 0xff, 0xff, 0x47, 0x66, 0x5,
+    0xf3, 0xff, 0xc3, 0xf6, 0x4, 0xfa, 0xe3, 0xff,
+    0xa7, 0xd2, 0x0, 0xfc, 0xe1, 0xff, 0x63, 0x72,
+    0x0, 0x0, 0x6, 0xf4, 0xb9, 0xff, 0xff, 0xd7,
+    0x7b, 0x7b, 0x7b, 0x95, 0xff, 0xff, 0xff, 0x39,
+    0x6c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x1c, 0x92, 0xca, 0xe2, 0xca, 0x90, 0x1a, 0x0,
+    0x3a, 0xfe, 0xed, 0xff, 0xff, 0xa1, 0xbe, 0x0,
+    0x0, 0x5c, 0x69, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x39,
+    0x30, 0x0, 0x0, 0x60, 0xba, 0xe4, 0xe6, 0xc6,
+    0x6a, 0x0, 0x0, 0xfa, 0xd3, 0xff, 0xff, 0xbf,
+    0xe0, 0x0, 0x0, 0x0, 0xf2, 0xd3, 0xff, 0xff,
+    0xc3, 0xf0, 0x0, 0x0, 0xc8, 0x8f, 0xff, 0xff,
+    0xff, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x5a, 0x43, 0xff, 0xff, 0xff, 0x47, 0x64, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf6, 0xdd,
+    0xff, 0xff, 0xaf, 0xf4, 0x10, 0x30, 0xfe, 0xdd,
+    0xff, 0xff, 0xad, 0xcc, 0x0, 0x0, 0x0, 0x0,
+    0x40, 0xec, 0x31, 0x93, 0xb7, 0xb7, 0x83, 0xf,
+    0xf7, 0xff, 0xff, 0x99, 0xbe, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x4a, 0x19, 0x85, 0xdf, 0xff,
+    0xff, 0xff, 0xff, 0xf9, 0xbb, 0x6b, 0xf, 0x96,
+    0x0, 0x0, 0x0, 0x96, 0x87, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x2f,
+    0x26, 0x0, 0x0, 0x0, 0x74, 0xfe, 0x57, 0xad,
+    0xf1, 0xff, 0xff, 0xff, 0xff, 0xed, 0x9b, 0x2f,
+    0x86, 0x0, 0x0, 0x0, 0x0, 0x26, 0x41, 0xff,
+    0xff, 0xff, 0x5d, 0x84, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x54, 0x51, 0xff, 0xff, 0x2d, 0x66, 0x35,
+    0xff, 0xff, 0x9f, 0xd2, 0x4, 0xfe, 0xf3, 0xff,
+    0x93, 0xbc, 0xa, 0xfe, 0xef, 0xff, 0x57, 0x5e,
+    0x0, 0x0, 0x44, 0x17, 0xf7, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x95,
+    0xd2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x30, 0x41, 0xbb, 0xbb, 0xbb, 0x3d, 0x74, 0x0,
+    0x20, 0xfe, 0xe5, 0xff, 0xff, 0xaf, 0xcc, 0x0,
+    0x0, 0x5e, 0x5b, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x39,
+    0x30, 0x0, 0x0, 0xb4, 0x99, 0xc3, 0xcf, 0xa1,
+    0xe2, 0x8, 0x24, 0xfe, 0xe3, 0xff, 0xff, 0xb1,
+    0xd6, 0x0, 0x0, 0x0, 0xdc, 0xb1, 0xff, 0xff,
+    0xe7, 0x5, 0x3c, 0xc, 0xf0, 0xad, 0xff, 0xff,
+    0xed, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xa0, 0x7b, 0xff, 0xff, 0xf9, 0xb, 0x20, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfa, 0xef,
+    0xff, 0xff, 0xa9, 0xec, 0x4, 0x16, 0xfc, 0xd7,
+    0xff, 0xff, 0xc1, 0xde, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x12, 0x66, 0xb4, 0xd6, 0xd4, 0xdc, 0x41,
+    0xff, 0xff, 0xff, 0x75, 0x90, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x6, 0x52, 0xcc, 0xfe, 0x5f,
+    0xc1, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xc7, 0xd6,
+    0x0, 0x0, 0x0, 0x8e, 0x87, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x2f,
+    0x22, 0x0, 0x0, 0x0, 0xb8, 0xab, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xd3, 0x77, 0xf, 0xe4, 0x6e,
+    0x10, 0x0, 0x0, 0x0, 0x0, 0x20, 0x13, 0x3f,
+    0x3f, 0x3f, 0x13, 0x32, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x5a, 0x4f, 0xff, 0xff, 0x2f, 0x7c, 0x57,
+    0xff, 0xff, 0x8d, 0xc0, 0x1a, 0xf, 0xff, 0xff,
+    0x7d, 0xa4, 0x54, 0x21, 0xff, 0xff, 0x29, 0x36,
+    0x0, 0x0, 0xaa, 0x73, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdd,
+    0xfe, 0x1c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x30, 0x3b, 0xff, 0xff, 0xff, 0x9d, 0xfe, 0xce,
+    0xf0, 0x49, 0xff, 0xff, 0xff, 0x91, 0xae, 0x0,
+    0x0, 0x34, 0x1f, 0x6b, 0x6b, 0x6b, 0x6b, 0x6b,
+    0x6b, 0x91, 0xff, 0xff, 0xff, 0x8b, 0x6b, 0x17,
+    0x1c, 0x0, 0x0, 0xc4, 0xbb, 0xff, 0xff, 0xed,
+    0x1b, 0xe0, 0xee, 0x4f, 0xff, 0xff, 0xff, 0x83,
+    0xa6, 0x0, 0x0, 0x0, 0x9a, 0x71, 0xff, 0xff,
+    0xff, 0x6f, 0xf8, 0xe4, 0x25, 0xf1, 0xff, 0xff,
+    0xbf, 0xec, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xd2, 0xa3, 0xff, 0xff, 0xdb, 0xfc, 0x2, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf6, 0xdb,
+    0xff, 0xff, 0xe3, 0xf, 0xdc, 0xec, 0x39, 0xf9,
+    0xff, 0xff, 0xab, 0xcc, 0x0, 0x0, 0x0, 0x0,
+    0x1c, 0xb0, 0xd0, 0xdc, 0xbc, 0xd8, 0x9, 0xbf,
+    0xff, 0xff, 0xf9, 0x27, 0x4a, 0x0, 0x0, 0x0,
+    0x3c, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x14, 0x0,
+    0x0, 0x0, 0x3c, 0xcc, 0xf2, 0xf6, 0xdc, 0x78,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x30, 0xa2,
+    0xfa, 0x35, 0xa1, 0xf1, 0xff, 0xff, 0xcd, 0xee,
+    0x0, 0x0, 0x0, 0x5a, 0x2d, 0x57, 0x57, 0x57,
+    0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0x57, 0xf,
+    0x14, 0x0, 0x0, 0x0, 0xda, 0xb3, 0xff, 0xff,
+    0xf9, 0xb1, 0x4b, 0xfe, 0xbc, 0x44, 0x4, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x2a, 0xe4, 0xfa,
+    0xfe, 0xfc, 0xe6, 0x2e, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x42, 0x45, 0xff, 0xff, 0x3f, 0x90, 0x59,
+    0xff, 0xff, 0x95, 0xda, 0x9e, 0x39, 0xff, 0xff,
+    0x6b, 0x96, 0xd8, 0x85, 0xff, 0xd9, 0xfe, 0xe,
+    0x0, 0x8, 0xf6, 0xc1, 0xff, 0xff, 0xcd, 0x63,
+    0x63, 0x63, 0x63, 0x63, 0x7f, 0xff, 0xff, 0xff,
+    0x43, 0x76, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x18, 0xfe, 0xd9, 0xff, 0xff, 0xff, 0xbb, 0x89,
+    0x9f, 0xf1, 0xff, 0xff, 0xf9, 0x39, 0x68, 0x0,
+    0x0, 0x8, 0x3e, 0x6a, 0x86, 0x86, 0x86, 0x86,
+    0xb8, 0x57, 0xff, 0xff, 0xff, 0x4d, 0x9e, 0x3e,
+    0x6, 0x0, 0x0, 0xa0, 0x6d, 0xff, 0xff, 0xff,
+    0xdd, 0x8f, 0x99, 0xef, 0xff, 0xff, 0xf3, 0x21,
+    0x54, 0x0, 0x0, 0x0, 0x3e, 0xb, 0xdf, 0xff,
+    0xff, 0xf9, 0xa1, 0x8f, 0xdf, 0xff, 0xff, 0xff,
+    0x57, 0x9c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xf0, 0xc9, 0xff, 0xff, 0xc1, 0xec, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd0, 0x99,
+    0xff, 0xff, 0xff, 0xd9, 0x8f, 0x97, 0xeb, 0xff,
+    0xff, 0xff, 0x5f, 0x8e, 0x0, 0x0, 0x0, 0x0,
+    0x52, 0x43, 0xd5, 0xa1, 0x89, 0x91, 0xd5, 0xff,
+    0xff, 0xff, 0xa1, 0xf2, 0xe, 0x0, 0x0, 0x0,
+    0x68, 0x6f, 0xff, 0xff, 0xff, 0x35, 0x26, 0x0,
+    0x0, 0x0, 0x74, 0x71, 0xe3, 0xe3, 0xaf, 0xc4,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x14, 0x76, 0xe8, 0x15, 0x7f, 0xdb, 0xcd, 0xdc,
+    0x0, 0x0, 0x0, 0x10, 0x36, 0x58, 0x6a, 0x6a,
+    0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x6a, 0x4e, 0x2c,
+    0x4, 0x0, 0x0, 0x0, 0xc2, 0xb3, 0xe5, 0x8f,
+    0x23, 0xf4, 0x8c, 0x22, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x4a, 0x51, 0xf5,
+    0xf5, 0xf5, 0x57, 0x4e, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x24, 0x1b, 0xff, 0xff, 0x6b, 0xac, 0x2d,
+    0xff, 0xff, 0xd5, 0xb, 0x1b, 0xc3, 0xff, 0xff,
+    0x6d, 0xfa, 0x27, 0xe7, 0xff, 0x7b, 0xc4, 0x0,
+    0x0, 0x4c, 0x1f, 0xf9, 0xff, 0xff, 0x7b, 0xd2,
+    0x7a, 0x7a, 0x7a, 0x8a, 0xfe, 0xe9, 0xff, 0xff,
+    0x9b, 0xda, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xb6, 0x49, 0xf1, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0x7f, 0xf0, 0x16, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x6a, 0x57, 0xff, 0xff, 0xff, 0x4d, 0x5c, 0x0,
+    0x0, 0x0, 0x0, 0x3a, 0xfe, 0xb3, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x71, 0xe4,
+    0xa, 0x0, 0x0, 0x0, 0x2, 0xc0, 0x47, 0xef,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x97,
+    0xfc, 0x2a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xfc, 0xe5, 0xff, 0xff, 0xa7, 0xd6, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x64, 0x19,
+    0xd7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xb1, 0xfe, 0x30, 0x0, 0x0, 0x0, 0x0,
+    0x76, 0x71, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xc5, 0xd, 0x6c, 0x0, 0x0, 0x0, 0x0,
+    0x8c, 0x6f, 0xff, 0xff, 0xff, 0x35, 0x36, 0x0,
+    0x0, 0x0, 0x9c, 0x7f, 0xff, 0xff, 0xc5, 0xe4,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x6, 0x4e, 0xc8, 0xec, 0x3f, 0xa4,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x88, 0x3f, 0x5, 0xd6,
+    0x5e, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x68, 0x57, 0xff,
+    0xff, 0xff, 0x5b, 0x6e, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x8, 0xfe, 0xe3, 0xff, 0xa1, 0xe6, 0xfe,
+    0xcf, 0xff, 0xff, 0xf3, 0xf9, 0xe9, 0xe1, 0xff,
+    0xdb, 0xa7, 0xeb, 0xff, 0xc3, 0xfe, 0x44, 0x0,
+    0x0, 0xb4, 0x7b, 0xff, 0xff, 0xfd, 0x27, 0x50,
+    0x0, 0x0, 0x0, 0x0, 0xe6, 0xad, 0xff, 0xff,
+    0xe3, 0xfe, 0x24, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x20, 0xdc, 0x31, 0xb3, 0xf7, 0xff, 0xff,
+    0xff, 0xfd, 0xcb, 0x57, 0xfa, 0x4a, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x4c, 0x57, 0xff, 0xff, 0xff, 0x4d, 0x42, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x7c, 0xfe, 0x7f, 0xe1,
+    0xff, 0xff, 0xff, 0xff, 0xd9, 0x61, 0xf8, 0x3e,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x1e, 0xda, 0x37,
+    0xbb, 0xfb, 0xff, 0xff, 0xff, 0xe3, 0x75, 0xfe,
+    0x5e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xf8, 0xf7, 0xff, 0xff, 0x93, 0xa4, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xae,
+    0x17, 0x9d, 0xef, 0xff, 0xff, 0xff, 0xff, 0xe3,
+    0x83, 0x5, 0x7a, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x64, 0x65, 0xe3, 0xff, 0xff, 0xff, 0xff, 0xe5,
+    0x87, 0x5, 0x92, 0x2, 0x0, 0x0, 0x0, 0x0,
+    0x68, 0x6f, 0xff, 0xff, 0xff, 0x35, 0x26, 0x0,
+    0x0, 0x0, 0xa6, 0x7f, 0xff, 0xff, 0xc1, 0xe4,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x16, 0x16, 0x16,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x16, 0x16, 0x16, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x4c, 0x57, 0xff,
+    0xff, 0xff, 0x5b, 0x52, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xde, 0xa7, 0xff, 0xe9, 0xd, 0xc6,
+    0x39, 0xdf, 0xff, 0xff, 0xe5, 0x4b, 0x5b, 0xf3,
+    0xff, 0xff, 0xf5, 0xa3, 0x13, 0x92, 0x0, 0x0,
+    0x0, 0xb2, 0xc7, 0xff, 0xff, 0xcf, 0xfc, 0xc,
+    0x0, 0x0, 0x0, 0x0, 0x90, 0x63, 0xff, 0xff,
+    0xff, 0x4d, 0x24, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x12, 0x86, 0xf2, 0xd, 0x47, 0x59,
+    0x4d, 0x1b, 0xfc, 0xaa, 0x2a, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x2a, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x24, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x48, 0xcc, 0xfe,
+    0x31, 0x57, 0x55, 0x2d, 0xfe, 0xbc, 0x30, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x16, 0x90,
+    0xf6, 0x19, 0x4d, 0x57, 0x39, 0xfe, 0xce, 0x40,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xe4, 0xfe, 0xfe, 0xfe, 0xfe, 0x5c, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6,
+    0x68, 0xe4, 0xfe, 0x3d, 0x57, 0x55, 0x31, 0xfe,
+    0xd0, 0x4c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x34, 0xca, 0xfe, 0x2f, 0x4f, 0x55, 0x35, 0xfe,
+    0xd4, 0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x3c, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x14, 0x0,
+    0x0, 0x0, 0xbe, 0x89, 0xff, 0xff, 0xa7, 0xca,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x2a, 0xfe, 0xfe,
+    0xfe, 0xfe, 0xfe, 0x2c, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x82, 0x47, 0xff, 0xff, 0x91, 0xf4,
+    0xca, 0x5, 0x45, 0x43, 0x9, 0xd2, 0xe6, 0x1f,
+    0x55, 0x49, 0xf, 0xec, 0x6e, 0x4, 0x0, 0x0,
+    0x0, 0x94, 0xfe, 0xfe, 0xfe, 0xfe, 0xa0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x32, 0xfe, 0xfe, 0xfe,
+    0xfe, 0xfe, 0x24, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x2, 0x22, 0x48, 0x5e,
+    0x4e, 0x2a, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x12,
+    0x38, 0x58, 0x56, 0x34, 0x10, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x6, 0x2a, 0x4c, 0x58, 0x3c, 0x16, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x18, 0x3e, 0x5c, 0x58, 0x38, 0x12,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x10, 0x32, 0x54, 0x54, 0x38, 0x14,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x6, 0xf0, 0xaf, 0xff, 0xff, 0x5d, 0x88,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x1e, 0xfe, 0xaf, 0xff, 0xfb, 0x6b,
+    0xfa, 0x8c, 0x46, 0x36, 0x1c, 0x0, 0x2c, 0x58,
+    0x6e, 0x52, 0x22, 0x4, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x18, 0x17, 0xf1, 0xff, 0xd1, 0xfe, 0x2e,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x7c, 0x1b, 0xd9, 0xff, 0xfd,
+    0xab, 0x35, 0xfe, 0xf2, 0xee, 0xf8, 0xfe, 0x4f,
+    0x2f, 0x5c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x18, 0x37, 0xd9, 0xf1, 0x41, 0xae, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x8, 0xb4, 0x1f, 0xc7, 0xff,
+    0xff, 0xff, 0xdf, 0xc7, 0xbf, 0xd3, 0xef, 0xff,
+    0x87, 0x78, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x14, 0xb4, 0x5, 0x31, 0xde, 0x1c, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x8, 0x98, 0xfe, 0x67,
+    0xc7, 0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd3,
+    0x5d, 0x70, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x10, 0x10, 0x10, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x36, 0xac,
+    0xf6, 0x13, 0x49, 0x5f, 0x6b, 0x57, 0x23, 0xfc,
+    0xb6, 0x2e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x4, 0x24, 0x4c, 0x72, 0x78, 0x60, 0x34, 0xc,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x4, 0xe, 0x1a, 0x20, 0x20, 0x20, 0x1e,
+    0x14, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x20, 0x4e, 0x72, 0x72, 0x4e, 0x20, 0x2, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xe, 0x1a,
+    0x20, 0x20, 0x20, 0x1c, 0x10, 0x6, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x4, 0xe, 0x1a, 0x20, 0x20, 0x20, 0x20, 0x20,
+    0x20, 0x20, 0x20, 0x20, 0x18, 0xe, 0x2, 0x0,
+    0x0, 0x4, 0xe, 0x1a, 0x20, 0x20, 0x20, 0x20,
+    0x20, 0x20, 0x20, 0x20, 0x20, 0x18, 0xe, 0x2,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1e,
+    0x4a, 0x70, 0x74, 0x54, 0x28, 0x4, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xe, 0x1a,
+    0x20, 0x16, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xc, 0x16, 0x20, 0x1a, 0xe, 0x4, 0x0, 0x0,
+    0x0, 0x2, 0xc, 0x18, 0x20, 0x18, 0xc, 0x2,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x2, 0xe, 0x18, 0x20, 0x16, 0xc,
+    0x0, 0x0, 0x0, 0x0, 0x4, 0xe, 0x1a, 0x20,
+    0x16, 0xc, 0x0, 0x0, 0x0, 0x0, 0xa, 0x16,
+    0x20, 0x20, 0x18, 0xc, 0x2, 0x0, 0x0, 0x4,
+    0xe, 0x1a, 0x20, 0x16, 0xc, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4,
+    0xe, 0x1a, 0x20, 0x20, 0x16, 0xc, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0xc, 0x16, 0x20,
+    0x20, 0x1a, 0xe, 0x4, 0x0, 0x0, 0x0, 0x4,
+    0xe, 0x1a, 0x20, 0x16, 0xc, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xc, 0x16, 0x20, 0x1a, 0xe, 0x4,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x14, 0x3e, 0x66, 0x72, 0x56, 0x28, 0x4, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x52, 0x11, 0x23, 0x23, 0x23, 0x23, 0x23,
+    0x1f, 0x9, 0xfe, 0xea, 0x9e, 0x30, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x60, 0xe2,
+    0x5, 0x49, 0x65, 0x65, 0x49, 0xb, 0xec, 0x76,
+    0x8, 0x0, 0x0, 0x0, 0x0, 0x52, 0x11, 0x23,
+    0x23, 0x23, 0x23, 0x23, 0x15, 0xfe, 0xf8, 0xc2,
+    0x5c, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x52, 0x11, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
+    0x23, 0x23, 0x23, 0x23, 0x23, 0xd, 0x32, 0x0,
+    0x0, 0x52, 0x11, 0x23, 0x23, 0x23, 0x23, 0x23,
+    0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0xd, 0x34,
+    0x0, 0x0, 0x0, 0x0, 0x4, 0x5c, 0xe0, 0x5,
+    0x45, 0x65, 0x67, 0x4f, 0x13, 0xf6, 0x8e, 0x14,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x52, 0x11, 0x23,
+    0x23, 0x23, 0xfe, 0x2, 0x0, 0x0, 0x0, 0x2,
+    0xfe, 0x23, 0x23, 0x23, 0x11, 0x4e, 0x0, 0x0,
+    0x0, 0x24, 0xb, 0x23, 0x23, 0x23, 0xb, 0x2e,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x32, 0xd, 0x23, 0x23, 0x23, 0x9,
+    0x1c, 0x0, 0x0, 0x0, 0x52, 0x11, 0x23, 0x23,
+    0x23, 0xfe, 0x2, 0x0, 0x0, 0x40, 0xfe, 0x21,
+    0x23, 0x23, 0x23, 0xf, 0x4, 0x0, 0x0, 0x52,
+    0x11, 0x23, 0x23, 0x23, 0xfe, 0x2, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x52,
+    0x11, 0x23, 0x23, 0x23, 0x23, 0x5, 0x30, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x40, 0x9, 0x23, 0x23,
+    0x23, 0x23, 0xf, 0x44, 0x0, 0x0, 0x0, 0x52,
+    0x11, 0x23, 0x23, 0x23, 0xfe, 0x42, 0x0, 0x0,
+    0x0, 0x2, 0xfe, 0x23, 0x23, 0x23, 0x11, 0x4e,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xc8,
+    0xfe, 0x35, 0x5d, 0x67, 0x51, 0x11, 0xf2, 0x8a,
+    0x14, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xeb, 0xbd, 0x5f, 0xfe, 0x70, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x8, 0xa6, 0x11, 0x97,
+    0xef, 0xff, 0xff, 0xff, 0xff, 0xf5, 0xa7, 0x1f,
+    0xc2, 0xe, 0x0, 0x0, 0x0, 0x88, 0x87, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xd1, 0x8d,
+    0x1b, 0xd6, 0x2c, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0x5f, 0x58, 0x0,
+    0x0, 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x63, 0x5c,
+    0x0, 0x0, 0x0, 0x6, 0xa4, 0xf, 0x91, 0xed,
+    0xff, 0xff, 0xff, 0xff, 0xfb, 0xbb, 0x35, 0xdc,
+    0x1c, 0x0, 0x0, 0x0, 0x0, 0x88, 0x87, 0xff,
+    0xff, 0xff, 0xd, 0x4, 0x0, 0x0, 0x0, 0x4,
+    0xd, 0xff, 0xff, 0xff, 0x83, 0x82, 0x0, 0x0,
+    0x0, 0x42, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x52,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x58, 0x5f, 0xff, 0xff, 0xff, 0x43,
+    0x36, 0x0, 0x0, 0x0, 0x88, 0x87, 0xff, 0xff,
+    0xff, 0xd, 0x4, 0x0, 0xe, 0xe0, 0x75, 0xff,
+    0xff, 0xff, 0xd9, 0x15, 0x4, 0x0, 0x0, 0x88,
+    0x87, 0xff, 0xff, 0xff, 0xd, 0x4, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x88,
+    0x87, 0xff, 0xff, 0xff, 0xff, 0x5f, 0x94, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xac, 0x75, 0xff, 0xff,
+    0xff, 0xff, 0x77, 0x76, 0x0, 0x0, 0x0, 0x88,
+    0x87, 0xff, 0xff, 0xff, 0x77, 0xda, 0x8, 0x0,
+    0x0, 0x4, 0xd, 0xff, 0xff, 0xff, 0x83, 0x82,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x7a, 0xfe, 0x75,
+    0xdf, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xb5, 0x35,
+    0xde, 0x2a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xa7, 0xfe, 0x36,
+    0x0, 0x0, 0x0, 0x0, 0x86, 0x1b, 0xd1, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe3,
+    0x29, 0x94, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xed, 0x59, 0xee, 0x26, 0x0, 0x0, 0x0, 0x0,
+    0xac, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0x5f, 0x68, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x63, 0x6e,
+    0x0, 0x0, 0x0, 0x86, 0x19, 0xcf, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1, 0x43,
+    0xb8, 0x0, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff,
+    0xff, 0xff, 0xd, 0x6, 0x0, 0x0, 0x0, 0x6,
+    0xd, 0xff, 0xff, 0xff, 0x83, 0xa6, 0x0, 0x0,
+    0x0, 0x5c, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x76, 0x5f, 0xff, 0xff, 0xff, 0x43,
+    0x4c, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff, 0xff,
+    0xff, 0xd, 0x6, 0x0, 0x8a, 0x27, 0xef, 0xff,
+    0xff, 0xf9, 0x43, 0xb8, 0x4, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xd, 0x6, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xff, 0xb1, 0xee, 0x4,
+    0x0, 0x0, 0x0, 0xa, 0xf8, 0xc3, 0xff, 0xff,
+    0xff, 0xff, 0x77, 0x98, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xeb, 0x1b, 0x6e, 0x0,
+    0x0, 0x6, 0xd, 0xff, 0xff, 0xff, 0x83, 0xa6,
+    0x0, 0x0, 0x0, 0x0, 0x60, 0x5, 0xb1, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf1,
+    0x57, 0xde, 0x14, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xad, 0xad,
+    0xb1, 0xc7, 0xfb, 0xff, 0xff, 0xff, 0x67, 0x9a,
+    0x0, 0x0, 0x0, 0x20, 0xfe, 0xb7, 0xff, 0xff,
+    0xff, 0xbf, 0x7d, 0x89, 0xbd, 0xff, 0xff, 0xff,
+    0xc3, 0xfe, 0x1c, 0x0, 0x0, 0xac, 0x87, 0xff,
+    0xff, 0xff, 0xad, 0xad, 0xb7, 0xd7, 0xff, 0xff,
+    0xff, 0xf9, 0x51, 0xc6, 0x2, 0x0, 0x0, 0x0,
+    0xac, 0x87, 0xff, 0xff, 0xff, 0xad, 0xad, 0xad,
+    0xad, 0xad, 0xad, 0xad, 0xad, 0x41, 0x44, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xad, 0xad,
+    0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0x43, 0x4a,
+    0x0, 0x0, 0x24, 0xfe, 0xb9, 0xff, 0xff, 0xff,
+    0xcd, 0x85, 0x81, 0xb1, 0xfd, 0xff, 0xff, 0xdb,
+    0x9, 0x32, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff,
+    0xff, 0xff, 0xd, 0x6, 0x0, 0x0, 0x0, 0x6,
+    0xd, 0xff, 0xff, 0xff, 0x83, 0xa6, 0x0, 0x0,
+    0x0, 0x5c, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x76, 0x5f, 0xff, 0xff, 0xff, 0x43,
+    0x4c, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff, 0xff,
+    0xff, 0xd, 0x6, 0x36, 0xfe, 0xb9, 0xff, 0xff,
+    0xff, 0x87, 0xf0, 0x1c, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xd, 0x6, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xff, 0xf3, 0xf, 0x3a,
+    0x0, 0x0, 0x0, 0x50, 0x21, 0xfb, 0xff, 0xff,
+    0xff, 0xff, 0x77, 0x98, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xff, 0xa1, 0xf6, 0x1a,
+    0x0, 0x6, 0xd, 0xff, 0xff, 0xff, 0x83, 0xa6,
+    0x0, 0x0, 0x0, 0x12, 0xf4, 0x97, 0xff, 0xff,
+    0xff, 0xd9, 0x91, 0x83, 0xad, 0xf9, 0xff, 0xff,
+    0xf1, 0x35, 0x8e, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0xd8,
+    0xe0, 0xfa, 0x43, 0xf7, 0xff, 0xff, 0xb5, 0xd6,
+    0x0, 0x0, 0x0, 0x7c, 0x49, 0xff, 0xff, 0xff,
+    0xa3, 0xfe, 0xc6, 0xc6, 0xfe, 0x95, 0xff, 0xff,
+    0xff, 0x43, 0x6a, 0x0, 0x0, 0xac, 0x87, 0xff,
+    0xff, 0xff, 0xd, 0xda, 0xe8, 0xfe, 0x53, 0xed,
+    0xff, 0xff, 0xe3, 0xb, 0x40, 0x0, 0x0, 0x0,
+    0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0xd8, 0xd6,
+    0xd6, 0xd6, 0xd6, 0xd6, 0xbc, 0x84, 0x1a, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0xd8,
+    0xd6, 0xd6, 0xd6, 0xd6, 0xd6, 0xbc, 0x84, 0x1c,
+    0x0, 0x0, 0x80, 0x4f, 0xff, 0xff, 0xff, 0xb1,
+    0xfe, 0xce, 0xbe, 0xfa, 0x77, 0xff, 0xff, 0xff,
+    0x63, 0x8c, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff,
+    0xff, 0xff, 0xd, 0x6, 0x0, 0x0, 0x0, 0x6,
+    0xd, 0xff, 0xff, 0xff, 0x83, 0xa6, 0x0, 0x0,
+    0x0, 0x5c, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x76, 0x5f, 0xff, 0xff, 0xff, 0x43,
+    0x4c, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff, 0xff,
+    0xff, 0xd, 0xe, 0xd6, 0x69, 0xff, 0xff, 0xff,
+    0xc7, 0xfe, 0x50, 0x0, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xd, 0x6, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0x6b, 0xa0,
+    0x0, 0x0, 0x0, 0xba, 0x7f, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0x77, 0x98, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xff, 0xfb, 0x41, 0xa2,
+    0x0, 0x6, 0xd, 0xff, 0xff, 0xff, 0x83, 0xa6,
+    0x0, 0x0, 0x0, 0x68, 0x31, 0xfb, 0xff, 0xff,
+    0xc1, 0x9, 0xda, 0xc0, 0xf8, 0x51, 0xf9, 0xff,
+    0xff, 0xb9, 0xf8, 0x8, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0x6,
+    0x0, 0x1c, 0xfc, 0xcf, 0xff, 0xff, 0xcb, 0xe6,
+    0x0, 0x0, 0x0, 0xca, 0xa1, 0xff, 0xff, 0xf7,
+    0x21, 0x72, 0x0, 0x0, 0x60, 0x13, 0xfb, 0xff,
+    0xff, 0x91, 0x98, 0x0, 0x0, 0xac, 0x87, 0xff,
+    0xff, 0xff, 0xd, 0x6, 0x0, 0x26, 0xde, 0x67,
+    0xff, 0xff, 0xff, 0x73, 0x9c, 0x0, 0x0, 0x0,
+    0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0x6, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0x6,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xce, 0xa3, 0xff, 0xff, 0xf7, 0x27,
+    0x80, 0x0, 0x0, 0x42, 0xfe, 0xe3, 0xff, 0xff,
+    0xa7, 0x9a, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff,
+    0xff, 0xff, 0xd, 0x6, 0x0, 0x0, 0x0, 0x6,
+    0xd, 0xff, 0xff, 0xff, 0x83, 0xa6, 0x0, 0x0,
+    0x0, 0x5c, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x76, 0x5f, 0xff, 0xff, 0xff, 0x43,
+    0x4c, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff, 0xff,
+    0xff, 0xd, 0x7e, 0x1f, 0xeb, 0xff, 0xff, 0xef,
+    0x2d, 0x9a, 0x0, 0x0, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xd, 0x6, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xeb, 0xff, 0xff, 0xbb, 0xf4,
+    0x6, 0x0, 0x10, 0xfc, 0xcb, 0xff, 0xff, 0xeb,
+    0xff, 0xff, 0x77, 0x98, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc9, 0xfe,
+    0x3a, 0x6, 0xd, 0xff, 0xff, 0xff, 0x83, 0xa6,
+    0x0, 0x0, 0x0, 0xbe, 0x93, 0xff, 0xff, 0xfb,
+    0x37, 0x96, 0x0, 0x0, 0x26, 0xf6, 0xa9, 0xff,
+    0xff, 0xfd, 0x1f, 0x3a, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0x6,
+    0x6, 0x5e, 0xfe, 0xd9, 0xff, 0xff, 0xb5, 0xd4,
+    0x0, 0x0, 0x0, 0xec, 0xcb, 0xff, 0xff, 0xcb,
+    0xf8, 0xa, 0x0, 0x0, 0x4, 0xf4, 0xa3, 0xbd,
+    0xbd, 0x83, 0x8a, 0x0, 0x0, 0xac, 0x87, 0xff,
+    0xff, 0xff, 0xd, 0x6, 0x0, 0x0, 0x34, 0xfe,
+    0xe7, 0xff, 0xff, 0xb1, 0xd8, 0x0, 0x0, 0x0,
+    0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0x4c, 0x46,
+    0x46, 0x46, 0x46, 0x30, 0x1a, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0x6,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xee, 0xcd, 0xff, 0xff, 0xcd, 0xfa,
+    0xc, 0x0, 0x0, 0x0, 0xc4, 0x49, 0x63, 0x63,
+    0x49, 0x82, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff,
+    0xff, 0xff, 0xd, 0x6, 0x0, 0x0, 0x0, 0x6,
+    0xd, 0xff, 0xff, 0xff, 0x83, 0xa6, 0x0, 0x0,
+    0x0, 0x5c, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x76, 0x5f, 0xff, 0xff, 0xff, 0x43,
+    0x4c, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff, 0xff,
+    0xff, 0xd, 0xfc, 0xaf, 0xff, 0xff, 0xff, 0x6b,
+    0xde, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xd, 0x6, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xcb, 0xe3, 0xff, 0xf7, 0x17,
+    0x44, 0x0, 0x5e, 0x2d, 0xfd, 0xff, 0xd3, 0xdb,
+    0xff, 0xff, 0x77, 0x98, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xdf, 0xff, 0xff, 0x6d,
+    0xd0, 0xa, 0xd, 0xff, 0xff, 0xff, 0x83, 0xa6,
+    0x0, 0x0, 0x0, 0xe8, 0xc5, 0xff, 0xff, 0xd3,
+    0xfc, 0x16, 0x0, 0x0, 0x0, 0x8e, 0x53, 0xff,
+    0xff, 0xff, 0x65, 0x72, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0xfe,
+    0xfe, 0x17, 0x91, 0xff, 0xff, 0xff, 0x5b, 0x96,
+    0x0, 0x0, 0x0, 0xf6, 0xdb, 0xff, 0xff, 0xb3,
+    0xe2, 0x0, 0x0, 0x0, 0x0, 0x6c, 0xba, 0xde,
+    0xd8, 0xac, 0x4c, 0x0, 0x0, 0xac, 0x87, 0xff,
+    0xff, 0xff, 0xd, 0x6, 0x0, 0x0, 0x0, 0xf2,
+    0xc3, 0xff, 0xff, 0xcf, 0xf0, 0x0, 0x0, 0x0,
+    0xac, 0x87, 0xff, 0xff, 0xff, 0x43, 0x3f, 0x3f,
+    0x3f, 0x3f, 0x3f, 0x3f, 0x9, 0xe, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0xf0,
+    0xf0, 0xf0, 0xf0, 0xf0, 0xda, 0xa0, 0xa, 0x0,
+    0x0, 0x0, 0xf6, 0xdb, 0xff, 0xff, 0xb3, 0xe4,
+    0x0, 0x0, 0x0, 0x0, 0x20, 0x4c, 0x70, 0x70,
+    0x4c, 0x20, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff,
+    0xff, 0xff, 0xd, 0xf0, 0xf0, 0xf0, 0xf0, 0xf0,
+    0xd, 0xff, 0xff, 0xff, 0x83, 0xa6, 0x0, 0x0,
+    0x0, 0x5c, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x76, 0x5f, 0xff, 0xff, 0xff, 0x43,
+    0x4c, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff, 0xff,
+    0xff, 0x33, 0x69, 0xff, 0xff, 0xff, 0xb1, 0xfe,
+    0x38, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xd, 0x6, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xd5, 0x99, 0xff, 0xff, 0x75,
+    0xac, 0x0, 0xc6, 0x89, 0xff, 0xff, 0x85, 0xe3,
+    0xff, 0xff, 0x77, 0x98, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0x5f, 0xff, 0xff, 0xe5,
+    0x13, 0x66, 0xd, 0xff, 0xff, 0xff, 0x83, 0xa6,
+    0x0, 0x0, 0x0, 0xf4, 0xd9, 0xff, 0xff, 0xb7,
+    0xe6, 0x0, 0x0, 0x0, 0x0, 0x32, 0x27, 0xff,
+    0xff, 0xff, 0x7d, 0x9a, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xf1, 0xf1,
+    0xf3, 0xff, 0xff, 0xff, 0xf5, 0x81, 0xfc, 0x2c,
+    0x0, 0x0, 0x0, 0xf8, 0xdf, 0xff, 0xff, 0xad,
+    0xd8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff,
+    0xff, 0xff, 0xd, 0x6, 0x0, 0x0, 0x0, 0xe4,
+    0xb7, 0xff, 0xff, 0xdb, 0xf6, 0x0, 0x0, 0x0,
+    0xac, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0x29, 0x1c, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xcf, 0xcd,
+    0xcd, 0xcd, 0xcd, 0xcd, 0xcd, 0x21, 0x18, 0x0,
+    0x0, 0x0, 0xf8, 0xdf, 0xff, 0xff, 0xad, 0xd8,
+    0x0, 0x68, 0xc0, 0xe4, 0xec, 0xec, 0xec, 0xe4,
+    0xbe, 0x62, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff,
+    0xff, 0xff, 0xcf, 0xcd, 0xcd, 0xcd, 0xcd, 0xcd,
+    0xcf, 0xff, 0xff, 0xff, 0x83, 0xa6, 0x0, 0x0,
+    0x0, 0x5c, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x76, 0x5f, 0xff, 0xff, 0xff, 0x43,
+    0x4c, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xe5, 0x19, 0x82,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xd, 0x6, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xdd, 0x3b, 0xff, 0xff, 0xc3,
+    0xf8, 0x20, 0xfe, 0xd5, 0xff, 0xfb, 0x25, 0xeb,
+    0xff, 0xff, 0x77, 0x98, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xd, 0xbb, 0xff, 0xff,
+    0x99, 0xf0, 0xd, 0xff, 0xff, 0xff, 0x83, 0xa6,
+    0x0, 0x0, 0x0, 0xf8, 0xdf, 0xff, 0xff, 0xad,
+    0xda, 0x0, 0x0, 0x0, 0x0, 0x10, 0xd, 0xff,
+    0xff, 0xff, 0x87, 0xa8, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xe3, 0x81, 0xfe, 0x6a,
+    0x0, 0x0, 0x0, 0xfa, 0xdf, 0xff, 0xff, 0xad,
+    0xd6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff,
+    0xff, 0xff, 0xd, 0x6, 0x0, 0x0, 0x0, 0xe0,
+    0xb7, 0xff, 0xff, 0xdd, 0xf8, 0x0, 0x0, 0x0,
+    0xac, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0x29, 0x22, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0x29, 0x22, 0x0,
+    0x0, 0x0, 0xfa, 0xdf, 0xff, 0xff, 0xad, 0xd6,
+    0x0, 0xc4, 0x9f, 0xc7, 0xc7, 0xc7, 0xc7, 0xc7,
+    0x9b, 0xbe, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0x83, 0xa6, 0x0, 0x0,
+    0x0, 0x5c, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x76, 0x5f, 0xff, 0xff, 0xff, 0x43,
+    0x4c, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xef, 0x27, 0x90,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xd, 0x6, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xe5, 0xfe, 0xd3, 0xff, 0xfb,
+    0x21, 0x98, 0x39, 0xff, 0xff, 0xc3, 0xfe, 0xf3,
+    0xff, 0xff, 0x77, 0x98, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xd, 0x31, 0xf7, 0xff,
+    0xf9, 0x37, 0xd, 0xff, 0xff, 0xff, 0x83, 0xa6,
+    0x0, 0x0, 0x0, 0xfa, 0xdf, 0xff, 0xff, 0xad,
+    0xd6, 0x0, 0x0, 0x0, 0x0, 0x6, 0xd, 0xff,
+    0xff, 0xff, 0x87, 0xac, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0x93, 0x91,
+    0x91, 0x95, 0xbb, 0xff, 0xff, 0xff, 0xa1, 0xf6,
+    0x12, 0x0, 0x0, 0xf8, 0xdf, 0xff, 0xff, 0xad,
+    0xda, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff,
+    0xff, 0xff, 0xd, 0x6, 0x0, 0x0, 0x0, 0xe4,
+    0xb7, 0xff, 0xff, 0xdb, 0xf6, 0x0, 0x0, 0x0,
+    0xac, 0x87, 0xff, 0xff, 0xff, 0x9d, 0x9b, 0x9b,
+    0x9b, 0x9b, 0x9b, 0x9b, 0x19, 0x14, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xef, 0xef,
+    0xef, 0xef, 0xef, 0xef, 0xef, 0x27, 0x1a, 0x0,
+    0x0, 0x0, 0xf8, 0xdf, 0xff, 0xff, 0xad, 0xda,
+    0x0, 0xda, 0xcd, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xc7, 0xe4, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff,
+    0xff, 0xff, 0xef, 0xef, 0xef, 0xef, 0xef, 0xef,
+    0xef, 0xff, 0xff, 0xff, 0x83, 0xa6, 0x0, 0x0,
+    0x0, 0x5c, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x76, 0x5f, 0xff, 0xff, 0xff, 0x43,
+    0x4c, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff, 0xff,
+    0xff, 0xe9, 0xe9, 0xff, 0xff, 0xff, 0xbb, 0xfe,
+    0x3c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xd, 0x6, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xef, 0xfe, 0x85, 0xff, 0xff,
+    0x7d, 0xf2, 0x93, 0xff, 0xff, 0x71, 0xfe, 0xfb,
+    0xff, 0xff, 0x77, 0x98, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xd, 0xec, 0x93, 0xff,
+    0xff, 0xbf, 0xd, 0xff, 0xff, 0xff, 0x83, 0xa6,
+    0x0, 0x0, 0x0, 0xf8, 0xdf, 0xff, 0xff, 0xad,
+    0xda, 0x0, 0x0, 0x0, 0x0, 0x12, 0xd, 0xff,
+    0xff, 0xff, 0x87, 0xa8, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0xba,
+    0xba, 0xcc, 0xfe, 0x8b, 0xff, 0xff, 0xfb, 0x31,
+    0x46, 0x0, 0x0, 0xf6, 0xdb, 0xff, 0xff, 0xb5,
+    0xe4, 0x0, 0x0, 0x0, 0x0, 0x6c, 0xb8, 0xdc,
+    0xd6, 0xa8, 0x4c, 0x0, 0x0, 0xac, 0x87, 0xff,
+    0xff, 0xff, 0xd, 0x6, 0x0, 0x0, 0x0, 0xf4,
+    0xc5, 0xff, 0xff, 0xcd, 0xee, 0x0, 0x0, 0x0,
+    0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0xc8, 0xc6,
+    0xc6, 0xc6, 0xc6, 0xa4, 0x68, 0x6, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0xfe,
+    0xfe, 0xfe, 0xfe, 0xfe, 0xf8, 0xd4, 0xc, 0x0,
+    0x0, 0x0, 0xf6, 0xdb, 0xff, 0xff, 0xb5, 0xe6,
+    0x0, 0xc2, 0x9b, 0xc1, 0xc1, 0xef, 0xff, 0xff,
+    0xc7, 0xec, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff,
+    0xff, 0xff, 0xd, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
+    0xd, 0xff, 0xff, 0xff, 0x83, 0xa6, 0x0, 0x0,
+    0x0, 0x5c, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x76, 0x5f, 0xff, 0xff, 0xff, 0x43,
+    0x4c, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff, 0xff,
+    0xff, 0xd, 0xfe, 0xc1, 0xff, 0xff, 0xff, 0x71,
+    0xde, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xd, 0x6, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xf7, 0xfe, 0x25, 0xfb, 0xff,
+    0xcb, 0xfe, 0xdd, 0xff, 0xf3, 0x11, 0xf, 0xff,
+    0xff, 0xff, 0x77, 0x98, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xd, 0x60, 0xf, 0xe3,
+    0xff, 0xff, 0x67, 0xff, 0xff, 0xff, 0x83, 0xa6,
+    0x0, 0x0, 0x0, 0xf4, 0xd9, 0xff, 0xff, 0xbb,
+    0xe8, 0x0, 0x0, 0x0, 0x0, 0x36, 0x2b, 0xff,
+    0xff, 0xff, 0x7b, 0x98, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0x6,
+    0x0, 0x0, 0x70, 0x35, 0xff, 0xff, 0xff, 0x6b,
+    0x74, 0x0, 0x0, 0xec, 0xcb, 0xff, 0xff, 0xcd,
+    0xfa, 0xc, 0x0, 0x0, 0x6, 0xf6, 0xa3, 0xbb,
+    0xbb, 0x81, 0x8e, 0x0, 0x0, 0xac, 0x87, 0xff,
+    0xff, 0xff, 0xd, 0x6, 0x0, 0x0, 0x3c, 0x5,
+    0xeb, 0xff, 0xff, 0xaf, 0xd6, 0x0, 0x0, 0x0,
+    0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0x6, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0x6,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xec, 0xcb, 0xff, 0xff, 0xcf, 0xfa,
+    0x12, 0x62, 0xb8, 0xe0, 0xfe, 0xcb, 0xff, 0xff,
+    0xc7, 0xec, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff,
+    0xff, 0xff, 0xd, 0x6, 0x0, 0x0, 0x0, 0x6,
+    0xd, 0xff, 0xff, 0xff, 0x83, 0xa6, 0x0, 0x0,
+    0x0, 0x5c, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70,
+    0x0, 0x0, 0x34, 0xe8, 0xfc, 0xfe, 0xfc, 0xe6,
+    0x1a, 0x0, 0x80, 0x5f, 0xff, 0xff, 0xff, 0x43,
+    0x44, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff, 0xff,
+    0xff, 0xd, 0x98, 0x31, 0xf3, 0xff, 0xff, 0xef,
+    0x27, 0x8e, 0x0, 0x0, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xd, 0x6, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0x5, 0xfa, 0xc1, 0xff,
+    0xfd, 0x5d, 0xff, 0xff, 0xb1, 0xf0, 0x21, 0xff,
+    0xff, 0xff, 0x77, 0x98, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xd, 0xa, 0xca, 0x65,
+    0xff, 0xff, 0xe3, 0xff, 0xff, 0xff, 0x83, 0xa6,
+    0x0, 0x0, 0x0, 0xe8, 0xc3, 0xff, 0xff, 0xd5,
+    0xfe, 0x1a, 0x0, 0x0, 0x0, 0x92, 0x55, 0xff,
+    0xff, 0xff, 0x61, 0x6e, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0x6,
+    0x0, 0x0, 0x8c, 0x3b, 0xff, 0xff, 0xff, 0x75,
+    0x7e, 0x0, 0x0, 0xca, 0xa1, 0xff, 0xff, 0xf7,
+    0x23, 0x72, 0x0, 0x0, 0x6a, 0x17, 0xfb, 0xff,
+    0xff, 0x95, 0x9c, 0x0, 0x0, 0xac, 0x87, 0xff,
+    0xff, 0xff, 0xd, 0x6, 0x0, 0x32, 0xe6, 0x71,
+    0xff, 0xff, 0xff, 0x6d, 0x98, 0x0, 0x0, 0x0,
+    0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0x6, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0x6,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xc8, 0x9d, 0xff, 0xff, 0xf9, 0x31,
+    0x92, 0x0, 0x0, 0x0, 0xf0, 0xcb, 0xff, 0xff,
+    0xc7, 0xec, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff,
+    0xff, 0xff, 0xd, 0x6, 0x0, 0x0, 0x0, 0x6,
+    0xd, 0xff, 0xff, 0xff, 0x83, 0xa6, 0x0, 0x0,
+    0x0, 0x5c, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70,
+    0x0, 0x0, 0x4c, 0x67, 0xf7, 0xf7, 0xf7, 0x3f,
+    0x5e, 0x0, 0xb2, 0x75, 0xff, 0xff, 0xff, 0x31,
+    0x2c, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff, 0xff,
+    0xff, 0xd, 0x18, 0xe8, 0x83, 0xff, 0xff, 0xff,
+    0xbd, 0xfe, 0x3e, 0x0, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xd, 0x6, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xd, 0xac, 0x71, 0xff,
+    0xff, 0xe9, 0xff, 0xff, 0x5b, 0xa0, 0x29, 0xff,
+    0xff, 0xff, 0x77, 0x98, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xd, 0x6, 0x34, 0xfe,
+    0xc3, 0xff, 0xff, 0xff, 0xff, 0xff, 0x83, 0xa6,
+    0x0, 0x0, 0x0, 0xba, 0x8f, 0xff, 0xff, 0xfd,
+    0x3f, 0xa2, 0x4, 0x0, 0x2a, 0xf8, 0xad, 0xff,
+    0xff, 0xfb, 0x1b, 0x36, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0xe0,
+    0xe2, 0xf0, 0x9, 0xad, 0xff, 0xff, 0xff, 0x4d,
+    0x5a, 0x0, 0x0, 0x7c, 0x49, 0xff, 0xff, 0xff,
+    0xa5, 0xfe, 0xd0, 0xd0, 0xfe, 0x9f, 0xff, 0xff,
+    0xff, 0x4b, 0x72, 0x0, 0x0, 0xac, 0x87, 0xff,
+    0xff, 0xff, 0xd, 0xe4, 0xf0, 0xfe, 0x63, 0xf1,
+    0xff, 0xff, 0xdf, 0x9, 0x3a, 0x0, 0x0, 0x0,
+    0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0xe0, 0xe0,
+    0xe0, 0xe0, 0xe0, 0xe0, 0xc8, 0x92, 0x20, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0x6,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x74, 0x41, 0xfd, 0xff, 0xff, 0xbf,
+    0x9, 0xdc, 0xb6, 0xd6, 0xfe, 0xd1, 0xff, 0xff,
+    0xc7, 0xec, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff,
+    0xff, 0xff, 0xd, 0x6, 0x0, 0x0, 0x0, 0x6,
+    0xd, 0xff, 0xff, 0xff, 0x83, 0xa6, 0x0, 0x0,
+    0x0, 0x5c, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70,
+    0x0, 0x0, 0x4c, 0x47, 0xff, 0xff, 0xff, 0x81,
+    0xf6, 0xd0, 0xfe, 0xb7, 0xff, 0xff, 0xf1, 0x9,
+    0x12, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff, 0xff,
+    0xff, 0xd, 0x6, 0x4c, 0x5, 0xcf, 0xff, 0xff,
+    0xff, 0x73, 0xe0, 0xe, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xd, 0xe0, 0xe0, 0xe0,
+    0xe0, 0xe0, 0xd2, 0xa6, 0x4a, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xd, 0x44, 0x11, 0xf3,
+    0xff, 0xff, 0xff, 0xe7, 0x5, 0x4e, 0x29, 0xff,
+    0xff, 0xff, 0x77, 0x98, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xd, 0x6, 0x0, 0x98,
+    0x39, 0xf9, 0xff, 0xff, 0xff, 0xff, 0x83, 0xa6,
+    0x0, 0x0, 0x0, 0x62, 0x2d, 0xf9, 0xff, 0xff,
+    0xc9, 0x11, 0xe6, 0xce, 0xfa, 0x57, 0xfb, 0xff,
+    0xff, 0xb5, 0xf6, 0x8, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xb7, 0xb7,
+    0xb7, 0xbf, 0xe3, 0xff, 0xff, 0xff, 0xdb, 0xfe,
+    0x22, 0x0, 0x0, 0x20, 0xfe, 0xb9, 0xff, 0xff,
+    0xff, 0xc7, 0x89, 0x93, 0xc9, 0xff, 0xff, 0xff,
+    0xc5, 0xfe, 0x22, 0x0, 0x0, 0xac, 0x87, 0xff,
+    0xff, 0xff, 0xb7, 0xb7, 0xbf, 0xe1, 0xff, 0xff,
+    0xff, 0xf7, 0x49, 0xc0, 0x0, 0x0, 0x0, 0x0,
+    0xac, 0x87, 0xff, 0xff, 0xff, 0xb7, 0xb7, 0xb7,
+    0xb7, 0xb7, 0xb7, 0xb7, 0xb7, 0x49, 0x50, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0x6,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x1c, 0xfa, 0xa7, 0xff, 0xff, 0xff,
+    0xdb, 0x93, 0x83, 0x95, 0xd1, 0xff, 0xff, 0xff,
+    0xc3, 0xd4, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff,
+    0xff, 0xff, 0xd, 0x6, 0x0, 0x0, 0x0, 0x6,
+    0xd, 0xff, 0xff, 0xff, 0x83, 0xa6, 0x0, 0x0,
+    0x0, 0x5c, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70,
+    0x0, 0x0, 0x1e, 0xfe, 0xe3, 0xff, 0xff, 0xf7,
+    0xa5, 0x89, 0xbb, 0xff, 0xff, 0xff, 0xa7, 0xea,
+    0x0, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff, 0xff,
+    0xff, 0xd, 0x6, 0x0, 0xaa, 0x3f, 0xf9, 0xff,
+    0xff, 0xef, 0x29, 0x90, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xb7, 0xb7, 0xb7, 0xb7,
+    0xb7, 0xb7, 0xb7, 0x7f, 0xa2, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xd, 0xa, 0xee, 0xb1,
+    0xff, 0xff, 0xff, 0x9f, 0xde, 0x2a, 0x29, 0xff,
+    0xff, 0xff, 0x77, 0x98, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xd, 0x6, 0x0, 0x16,
+    0xf2, 0x9b, 0xff, 0xff, 0xff, 0xff, 0x83, 0xa6,
+    0x0, 0x0, 0x0, 0x10, 0xee, 0x8f, 0xff, 0xff,
+    0xff, 0xe3, 0x9f, 0x91, 0xb7, 0xfb, 0xff, 0xff,
+    0xef, 0x31, 0x88, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xed, 0x45, 0xba,
+    0x0, 0x0, 0x0, 0x0, 0x88, 0x1d, 0xcf, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf,
+    0x27, 0x98, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xe5, 0x4d, 0xe8, 0x20, 0x0, 0x0, 0x0, 0x0,
+    0xac, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0x67, 0x74, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0x6,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x70, 0xb, 0xb7, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xdf,
+    0x37, 0x98, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff,
+    0xff, 0xff, 0xd, 0x6, 0x0, 0x0, 0x0, 0x6,
+    0xd, 0xff, 0xff, 0xff, 0x83, 0xa6, 0x0, 0x0,
+    0x0, 0x5c, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70,
+    0x0, 0x0, 0x0, 0xc8, 0x5d, 0xfb, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xd9, 0x1d, 0x74,
+    0x0, 0x0, 0x0, 0x0, 0xac, 0x87, 0xff, 0xff,
+    0xff, 0xd, 0x6, 0x0, 0x1a, 0xf2, 0x93, 0xff,
+    0xff, 0xff, 0xbf, 0xfe, 0x40, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xb3, 0xd0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xd, 0x6, 0x90, 0x59,
+    0xff, 0xff, 0xff, 0x41, 0x76, 0x2a, 0x29, 0xff,
+    0xff, 0xff, 0x77, 0x98, 0x0, 0x0, 0x0, 0xac,
+    0x87, 0xff, 0xff, 0xff, 0xd, 0x6, 0x0, 0x0,
+    0x66, 0x15, 0xe9, 0xff, 0xff, 0xff, 0x83, 0xa6,
+    0x0, 0x0, 0x0, 0x0, 0x58, 0xfe, 0xa7, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xef,
+    0x51, 0xda, 0x12, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x86, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xfd, 0xf3, 0xd3, 0x95, 0x21, 0xd4, 0x1e,
+    0x0, 0x0, 0x0, 0x0, 0x8, 0xa4, 0x11, 0x91,
+    0xe9, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x9b, 0x17,
+    0xba, 0xe, 0x0, 0x0, 0x0, 0x86, 0x87, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xf9, 0xeb, 0xc3, 0x7f,
+    0xf, 0xca, 0x24, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x86, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0x67, 0x60, 0x0,
+    0x0, 0x86, 0x87, 0xff, 0xff, 0xff, 0xd, 0x4,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x2, 0x82, 0xfe, 0x73, 0xd7,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xd5, 0x89, 0xd,
+    0xbc, 0x16, 0x0, 0x0, 0x0, 0x86, 0x87, 0xff,
+    0xff, 0xff, 0xd, 0x4, 0x0, 0x0, 0x0, 0x4,
+    0xd, 0xff, 0xff, 0xff, 0x83, 0x82, 0x0, 0x0,
+    0x0, 0x42, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x52,
+    0x0, 0x0, 0x0, 0x2e, 0xf0, 0x4d, 0xc9, 0xfd,
+    0xff, 0xff, 0xff, 0xf3, 0xa5, 0x19, 0xb2, 0x8,
+    0x0, 0x0, 0x0, 0x0, 0x86, 0x87, 0xff, 0xff,
+    0xff, 0xd, 0x4, 0x0, 0x0, 0x5e, 0xd, 0xdb,
+    0xff, 0xff, 0xff, 0x75, 0x40, 0x0, 0x0, 0x86,
+    0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xb3, 0xbc, 0x0, 0x0, 0x86,
+    0x87, 0xff, 0xff, 0xff, 0xd, 0x4, 0x2c, 0xfe,
+    0xe7, 0xff, 0xd9, 0xfe, 0x1c, 0x1c, 0x29, 0xff,
+    0xff, 0xff, 0x77, 0x74, 0x0, 0x0, 0x0, 0x86,
+    0x87, 0xff, 0xff, 0xff, 0xd, 0x4, 0x0, 0x0,
+    0x6, 0xd4, 0x6f, 0xff, 0xff, 0xff, 0x83, 0x82,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x6e, 0xfe, 0x69,
+    0xd3, 0xff, 0xff, 0xff, 0xff, 0xf1, 0xab, 0x2d,
+    0xd8, 0x26, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x50, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
+    0xfe, 0xfe, 0xfe, 0xf6, 0xc8, 0x64, 0xa, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0x5a, 0xda,
+    0xfe, 0x39, 0x55, 0x55, 0x35, 0xfe, 0xe0, 0x68,
+    0x6, 0x0, 0x0, 0x0, 0x0, 0x50, 0xfe, 0xfe,
+    0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xee, 0xb0,
+    0x4a, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x50, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
+    0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x36, 0x0,
+    0x0, 0x50, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x2,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xbe, 0xfe,
+    0x25, 0x4f, 0x57, 0x43, 0x21, 0xfc, 0xc4, 0x54,
+    0x2, 0x0, 0x0, 0x0, 0x0, 0x50, 0xfe, 0xfe,
+    0xfe, 0xfe, 0xfe, 0x2, 0x0, 0x0, 0x0, 0x2,
+    0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x4c, 0x0, 0x0,
+    0x0, 0x24, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x2c,
+    0x0, 0x0, 0x0, 0x0, 0x24, 0xa6, 0xfa, 0x1b,
+    0x4d, 0x59, 0x47, 0xb, 0xea, 0x70, 0x6, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x50, 0xfe, 0xfe, 0xfe,
+    0xfe, 0xfe, 0x2, 0x0, 0x0, 0x2, 0xb0, 0xfe,
+    0xfe, 0xfe, 0xfe, 0xfe, 0x40, 0x0, 0x0, 0x50,
+    0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
+    0xfe, 0xfe, 0xfe, 0xfe, 0x7e, 0x0, 0x0, 0x50,
+    0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x2, 0x0, 0xc2,
+    0xfe, 0xfe, 0xfe, 0xac, 0x0, 0xe, 0xfe, 0xfe,
+    0xfe, 0xfe, 0xfe, 0x42, 0x0, 0x0, 0x0, 0x50,
+    0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x2, 0x0, 0x0,
+    0x0, 0x3c, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x4c,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x36, 0xb8,
+    0xfc, 0x23, 0x4d, 0x57, 0x41, 0x9, 0xea, 0x7e,
+    0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x16, 0x3c, 0x5a, 0x58, 0x38, 0x14, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc,
+    0x2e, 0x50, 0x5c, 0x48, 0x24, 0xa, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x2a,
+    0x4e, 0x5e, 0x46, 0x20, 0x2, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xc, 0x2e, 0x50, 0x5a, 0x40, 0x1a, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x62, 0xd0, 0xf0, 0xf8, 0xf8, 0xee, 0xca,
+    0x4c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x90,
+    0xde, 0xf4, 0xf8, 0xf8, 0xea, 0xbc, 0x24, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xb0, 0x9b, 0xdd, 0xdd, 0xdd, 0xdd, 0x83,
+    0x90, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe2,
+    0xc3, 0xdd, 0xdd, 0xdd, 0xdd, 0x4d, 0x4a, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x4, 0xe, 0x1a, 0x20, 0x20, 0x20, 0x20,
+    0x1e, 0x14, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x14, 0x3e, 0x66, 0x72, 0x56, 0x28, 0x4,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x4, 0xe, 0x1a, 0x20, 0x20, 0x20, 0x20, 0x1e,
+    0x14, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa,
+    0x32, 0x5e, 0x78, 0x6c, 0x44, 0x18, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x4, 0x10, 0x1a, 0x20,
+    0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+    0x20, 0x20, 0x1e, 0x12, 0x8, 0x0, 0x0, 0x6,
+    0x12, 0x1c, 0x1e, 0x14, 0x8, 0x0, 0x0, 0x0,
+    0x0, 0x4, 0xe, 0x1a, 0x20, 0x16, 0xc, 0x0,
+    0x0, 0x8, 0x14, 0x1e, 0x1e, 0x14, 0x8, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x4, 0xe, 0x1a, 0x20,
+    0x18, 0xc, 0x2, 0x2, 0xe, 0x18, 0x20, 0x16,
+    0xc, 0x0, 0x0, 0x0, 0x8, 0x14, 0x1a, 0x12,
+    0x8, 0x0, 0x0, 0x0, 0xc, 0x16, 0x20, 0x18,
+    0xc, 0x2, 0x0, 0x6, 0x12, 0x1c, 0x20, 0x1a,
+    0xe, 0x4, 0x0, 0x0, 0x0, 0x2, 0xe, 0x18,
+    0x20, 0x1c, 0x12, 0x6, 0x0, 0xa, 0x14, 0x20,
+    0x1e, 0x14, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x6, 0x12, 0x1c, 0x20, 0x16, 0xc, 0x0, 0x0,
+    0xc, 0x16, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20,
+    0x20, 0x20, 0x20, 0x20, 0x18, 0xc, 0x2, 0x0,
+    0x0, 0xd6, 0xb3, 0xff, 0xff, 0xff, 0xff, 0x99,
+    0xae, 0x0, 0xa, 0x16, 0x20, 0x1a, 0xe, 0x4,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0,
+    0xe3, 0xff, 0xff, 0xff, 0xff, 0x5b, 0x6a, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0xa, 0x16, 0x1a,
+    0x10, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x52, 0x11, 0x23, 0x23, 0x23, 0x23, 0x23,
+    0x23, 0x1d, 0xfe, 0xfc, 0xd2, 0x6a, 0xc, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40,
+    0xc8, 0xfe, 0x35, 0x5d, 0x67, 0x51, 0x11, 0xf2,
+    0x8a, 0x14, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x52, 0x11, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
+    0x1d, 0xfe, 0xfc, 0xd4, 0x6a, 0xa, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x28, 0xa8, 0xfc,
+    0x21, 0x57, 0x69, 0x61, 0x3b, 0xfe, 0xd4, 0x4e,
+    0x0, 0x0, 0x0, 0x0, 0x60, 0x13, 0x23, 0x23,
+    0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
+    0x23, 0x23, 0x23, 0x1b, 0x98, 0x0, 0x0, 0x7c,
+    0x17, 0x23, 0x23, 0x1f, 0xbe, 0x0, 0x0, 0x0,
+    0x0, 0x44, 0xf, 0x23, 0x23, 0x23, 0x5, 0x10,
+    0x0, 0x92, 0x1f, 0x23, 0x23, 0x1d, 0xd2, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x6c, 0xf, 0x23, 0x23,
+    0x23, 0xb, 0xe, 0x1c, 0xd, 0x23, 0x23, 0x23,
+    0xfe, 0x1c, 0x0, 0x0, 0xd6, 0x1d, 0x23, 0x1b,
+    0xbe, 0x0, 0x0, 0x26, 0x5, 0x23, 0x23, 0x23,
+    0xb, 0x10, 0x0, 0x36, 0x17, 0x23, 0x23, 0x23,
+    0x11, 0x8c, 0x0, 0x0, 0x0, 0x76, 0xd, 0x23,
+    0x23, 0x23, 0x19, 0x4c, 0x0, 0x86, 0x21, 0x23,
+    0x23, 0x1f, 0xf0, 0x14, 0x0, 0x0, 0x0, 0x4,
+    0xcc, 0x19, 0x23, 0x23, 0x23, 0x7, 0x0, 0xe,
+    0x5, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23, 0x23,
+    0x23, 0x23, 0x23, 0x23, 0x23, 0xb, 0x24, 0x0,
+    0x0, 0xdc, 0xb3, 0xff, 0xff, 0xf7, 0xcb, 0x79,
+    0x8a, 0x0, 0xa6, 0x21, 0x23, 0x23, 0x11, 0x82,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xdc,
+    0xb3, 0xd5, 0xff, 0xff, 0xff, 0x5b, 0x70, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x28, 0xfe, 0x21, 0x23,
+    0x15, 0x9e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xfd, 0xdd, 0x9b, 0x25, 0xd4, 0x20,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7a, 0xfe,
+    0x75, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xf7, 0xb5,
+    0x35, 0xde, 0x2a, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x88, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xfd, 0xdd, 0x9b, 0x21, 0xce, 0x16, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x4a, 0xfa, 0x55, 0xcb,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xe5, 0x85, 0x5,
+    0x8c, 0x2, 0x0, 0x0, 0x9a, 0x95, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xc7, 0xd4, 0x0, 0x0, 0xba,
+    0xb1, 0xff, 0xff, 0xe3, 0xee, 0x0, 0x0, 0x0,
+    0x0, 0x76, 0x77, 0xff, 0xff, 0xff, 0x2f, 0x20,
+    0x0, 0xae, 0xc3, 0xff, 0xff, 0xef, 0x5, 0x26,
+    0x0, 0x0, 0x0, 0x0, 0xd4, 0xa1, 0xff, 0xff,
+    0xfd, 0x29, 0xe, 0x1c, 0x41, 0xff, 0xff, 0xff,
+    0x41, 0x54, 0x0, 0x20, 0x5, 0xf1, 0xff, 0xe3,
+    0xfe, 0x12, 0x0, 0x66, 0x51, 0xff, 0xff, 0xff,
+    0x2b, 0x10, 0x0, 0x36, 0x63, 0xff, 0xff, 0xff,
+    0xbf, 0xfc, 0x24, 0x0, 0x18, 0xf8, 0xad, 0xff,
+    0xff, 0xff, 0x7b, 0x4c, 0x0, 0x90, 0xb7, 0xff,
+    0xff, 0xfb, 0x35, 0x7e, 0x0, 0x0, 0x0, 0x4c,
+    0xf, 0xeb, 0xff, 0xff, 0xdb, 0x7, 0x0, 0x1c,
+    0x29, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0x4d, 0x3c, 0x0,
+    0x0, 0xdc, 0xb3, 0xff, 0xff, 0xdf, 0xfe, 0xb4,
+    0x44, 0x0, 0xbe, 0xd1, 0xff, 0xff, 0xb7, 0xf2,
+    0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7c,
+    0xdc, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x96, 0x55, 0xff, 0xff,
+    0xcd, 0xfc, 0x1a, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xeb, 0x49, 0xce,
+    0x6, 0x0, 0x0, 0x0, 0x0, 0x60, 0x5, 0xb1,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xf1, 0x57, 0xde, 0x14, 0x0, 0x0, 0x0, 0x0,
+    0xac, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xe9, 0x37, 0x9e, 0x0,
+    0x0, 0x0, 0x0, 0x1a, 0xf4, 0x7f, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xbf,
+    0xd, 0x5e, 0x0, 0x0, 0xac, 0x95, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xc7, 0xe0, 0x0, 0x0, 0xda,
+    0xb1, 0xff, 0xff, 0xe3, 0xfa, 0x0, 0x0, 0x0,
+    0x0, 0x98, 0x77, 0xff, 0xff, 0xff, 0x2f, 0x2e,
+    0x0, 0xae, 0x77, 0xff, 0xff, 0xff, 0x53, 0x7c,
+    0x0, 0x0, 0x0, 0x16, 0xfe, 0xdf, 0xff, 0xff,
+    0xc9, 0xfc, 0xe, 0x1a, 0xfe, 0xf3, 0xff, 0xff,
+    0x75, 0x9a, 0x0, 0x6a, 0x49, 0xff, 0xff, 0xff,
+    0x31, 0x52, 0x0, 0xac, 0x81, 0xff, 0xff, 0xe7,
+    0xfe, 0xe, 0x0, 0x32, 0xfe, 0xbf, 0xff, 0xff,
+    0xff, 0x4f, 0xa4, 0x0, 0x8e, 0x3b, 0xfb, 0xff,
+    0xff, 0xd3, 0xfe, 0x46, 0x0, 0x8c, 0x39, 0xfb,
+    0xff, 0xff, 0xab, 0xf2, 0xe, 0x0, 0x0, 0xd0,
+    0x81, 0xff, 0xff, 0xff, 0x67, 0xc0, 0x0, 0x22,
+    0x29, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0x41, 0x3a, 0x0,
+    0x0, 0xdc, 0xb3, 0xff, 0xff, 0xdf, 0xfa, 0x0,
+    0x0, 0x0, 0xbe, 0x7d, 0xff, 0xff, 0xf7, 0x1f,
+    0x52, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x5c, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70, 0x0,
+    0x0, 0x0, 0x0, 0xc, 0xf6, 0xb7, 0xff, 0xff,
+    0xff, 0x41, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xad, 0xad,
+    0xad, 0xb3, 0xd5, 0xff, 0xff, 0xff, 0xe9, 0x17,
+    0x50, 0x0, 0x0, 0x0, 0x12, 0xf4, 0x97, 0xff,
+    0xff, 0xff, 0xd9, 0x91, 0x83, 0xad, 0xf9, 0xff,
+    0xff, 0xf1, 0x35, 0x8e, 0x0, 0x0, 0x0, 0x0,
+    0xac, 0x87, 0xff, 0xff, 0xff, 0xad, 0xad, 0xad,
+    0xb9, 0xe5, 0xff, 0xff, 0xff, 0xc7, 0xfc, 0xc,
+    0x0, 0x0, 0x0, 0x70, 0x3f, 0xfb, 0xff, 0xff,
+    0xef, 0x99, 0x75, 0x87, 0xd5, 0xff, 0xff, 0xff,
+    0x95, 0xde, 0x0, 0x0, 0x7e, 0x65, 0xad, 0xad,
+    0xad, 0xad, 0xb7, 0xff, 0xff, 0xff, 0xc7, 0xad,
+    0xad, 0xad, 0xad, 0x87, 0xb6, 0x0, 0x0, 0xda,
+    0xb1, 0xff, 0xff, 0xe3, 0xfa, 0x0, 0x0, 0x0,
+    0x0, 0x98, 0x77, 0xff, 0xff, 0xff, 0x2f, 0x2e,
+    0x0, 0x48, 0x1b, 0xf9, 0xff, 0xff, 0x9b, 0xd4,
+    0x0, 0x0, 0x0, 0x62, 0x39, 0xff, 0xff, 0xff,
+    0x7f, 0xb8, 0x0, 0x0, 0xf6, 0xc9, 0xff, 0xff,
+    0xa1, 0xd0, 0x0, 0xbe, 0x8b, 0xff, 0xff, 0xff,
+    0x79, 0xa6, 0x0, 0xdc, 0xad, 0xff, 0xff, 0xbd,
+    0xec, 0x0, 0x0, 0x0, 0x92, 0x33, 0xf7, 0xff,
+    0xff, 0xc9, 0xfe, 0x46, 0xfc, 0xb9, 0xff, 0xff,
+    0xfd, 0x4b, 0xb0, 0x0, 0x0, 0x16, 0xf6, 0xab,
+    0xff, 0xff, 0xf9, 0x29, 0x70, 0x0, 0x40, 0x9,
+    0xe3, 0xff, 0xff, 0xd1, 0xfe, 0x36, 0x0, 0x16,
+    0x1b, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad, 0xad,
+    0xb7, 0xff, 0xff, 0xff, 0xb9, 0xfe, 0x1a, 0x0,
+    0x0, 0xdc, 0xb3, 0xff, 0xff, 0xdf, 0xfa, 0x0,
+    0x0, 0x0, 0x4c, 0x19, 0xf5, 0xff, 0xff, 0x83,
+    0xc4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x5c, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70, 0x0,
+    0x0, 0x0, 0x0, 0x60, 0x27, 0xf9, 0xff, 0xff,
+    0xff, 0xa7, 0xec, 0x6, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0xd8,
+    0xd8, 0xe6, 0xfe, 0x87, 0xff, 0xff, 0xff, 0x81,
+    0xa8, 0x0, 0x0, 0x0, 0x68, 0x31, 0xfb, 0xff,
+    0xff, 0xc1, 0x9, 0xda, 0xc0, 0xf8, 0x51, 0xf9,
+    0xff, 0xff, 0xb9, 0xf8, 0x8, 0x0, 0x0, 0x0,
+    0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0xd8, 0xda,
+    0xee, 0xd, 0xc3, 0xff, 0xff, 0xff, 0x25, 0x2e,
+    0x0, 0x0, 0x0, 0xb2, 0x97, 0xff, 0xff, 0xfb,
+    0x3d, 0xea, 0xae, 0xd0, 0x5, 0xcf, 0xff, 0xff,
+    0xeb, 0x5, 0xc, 0x0, 0x34, 0x92, 0xc4, 0xd6,
+    0xd6, 0xe0, 0x35, 0xff, 0xff, 0xff, 0x6f, 0xec,
+    0xd6, 0xd6, 0xcc, 0xa0, 0x50, 0x0, 0x0, 0xda,
+    0xb1, 0xff, 0xff, 0xe3, 0xfa, 0x0, 0x0, 0x0,
+    0x0, 0x98, 0x77, 0xff, 0xff, 0xff, 0x2f, 0x2e,
+    0x0, 0x8, 0xf6, 0xbf, 0xff, 0xff, 0xd9, 0xfe,
+    0x10, 0x0, 0x0, 0xbe, 0x89, 0xff, 0xff, 0xfb,
+    0x23, 0x50, 0x0, 0x0, 0xce, 0x9d, 0xff, 0xff,
+    0xc7, 0xf2, 0x0, 0xf2, 0xc3, 0xff, 0xff, 0xff,
+    0xb3, 0xe8, 0x0, 0xf8, 0xd3, 0xff, 0xff, 0x8d,
+    0xbc, 0x0, 0x0, 0x0, 0x14, 0xee, 0x93, 0xff,
+    0xff, 0xff, 0x59, 0xe2, 0x47, 0xff, 0xff, 0xff,
+    0xab, 0xfa, 0x22, 0x0, 0x0, 0x0, 0x7c, 0x2d,
+    0xf7, 0xff, 0xff, 0x9f, 0xec, 0x8, 0xc4, 0x75,
+    0xff, 0xff, 0xff, 0x59, 0xb2, 0x0, 0x0, 0x8,
+    0x7a, 0xb6, 0xd6, 0xd6, 0xd6, 0xd6, 0xde, 0xfe,
+    0xad, 0xff, 0xff, 0xf1, 0x29, 0x8a, 0x0, 0x0,
+    0x0, 0xdc, 0xb3, 0xff, 0xff, 0xdf, 0xfa, 0x0,
+    0x0, 0x0, 0x6, 0xf0, 0xb1, 0xff, 0xff, 0xd5,
+    0xfe, 0x1c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x5c, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70, 0x0,
+    0x0, 0x0, 0x0, 0xd8, 0x91, 0xff, 0xff, 0xd5,
+    0xff, 0xf3, 0x17, 0x4e, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0x6,
+    0x0, 0x0, 0x50, 0xfe, 0xe5, 0xff, 0xff, 0xb5,
+    0xd6, 0x0, 0x0, 0x0, 0xbe, 0x93, 0xff, 0xff,
+    0xfb, 0x37, 0x96, 0x0, 0x0, 0x26, 0xf6, 0xa9,
+    0xff, 0xff, 0xfd, 0x1f, 0x3a, 0x0, 0x0, 0x0,
+    0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0x6, 0x0,
+    0x2, 0xb6, 0x63, 0xff, 0xff, 0xff, 0x4f, 0x44,
+    0x0, 0x0, 0x0, 0xc8, 0xad, 0xff, 0xff, 0xe7,
+    0xfe, 0x46, 0x0, 0x0, 0xb8, 0x7b, 0xf5, 0xf5,
+    0xf5, 0x27, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x36, 0x35, 0xff, 0xff, 0xff, 0x6f, 0x8c,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xda,
+    0xb1, 0xff, 0xff, 0xe3, 0xfa, 0x0, 0x0, 0x0,
+    0x0, 0x98, 0x77, 0xff, 0xff, 0xff, 0x2f, 0x2e,
+    0x0, 0x0, 0xa8, 0x71, 0xff, 0xff, 0xff, 0x2f,
+    0x56, 0x0, 0x6, 0xf8, 0xc9, 0xff, 0xff, 0xc5,
+    0xfa, 0xc, 0x0, 0x0, 0x8c, 0x69, 0xff, 0xff,
+    0xeb, 0xfe, 0x30, 0x5, 0xf3, 0xff, 0xff, 0xff,
+    0xe7, 0xfe, 0x2c, 0x5, 0xf5, 0xff, 0xff, 0x57,
+    0x76, 0x0, 0x0, 0x0, 0x0, 0x5e, 0xf, 0xe3,
+    0xff, 0xff, 0xd1, 0xfe, 0xc3, 0xff, 0xff, 0xef,
+    0x21, 0x7a, 0x0, 0x0, 0x0, 0x0, 0x10, 0xf0,
+    0x9d, 0xff, 0xff, 0xf3, 0x1f, 0x82, 0xfe, 0xdb,
+    0xff, 0xff, 0xc5, 0xfe, 0x2a, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xc4, 0x57,
+    0xff, 0xff, 0xff, 0x7b, 0xe2, 0xe, 0x0, 0x0,
+    0x0, 0xdc, 0xb3, 0xff, 0xff, 0xdf, 0xfa, 0x0,
+    0x0, 0x0, 0x0, 0x90, 0x55, 0xff, 0xff, 0xff,
+    0x43, 0x7e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x5c, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70, 0x0,
+    0x0, 0x0, 0x34, 0x5, 0xe5, 0xff, 0xd5, 0x65,
+    0xff, 0xff, 0x81, 0xc6, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0x6,
+    0x0, 0x0, 0x4, 0xfa, 0xcf, 0xff, 0xff, 0xc1,
+    0xe0, 0x0, 0x0, 0x0, 0xe8, 0xc5, 0xff, 0xff,
+    0xd3, 0xfc, 0x16, 0x0, 0x0, 0x0, 0x8e, 0x53,
+    0xff, 0xff, 0xff, 0x65, 0x72, 0x0, 0x0, 0x0,
+    0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0x6, 0x0,
+    0x0, 0xa2, 0x5b, 0xff, 0xff, 0xff, 0x41, 0x3e,
+    0x0, 0x0, 0x0, 0xb2, 0x97, 0xff, 0xff, 0xff,
+    0x63, 0xfc, 0x9a, 0x2e, 0x44, 0xe6, 0xfc, 0xfe,
+    0xfa, 0xde, 0xc, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x36, 0x35, 0xff, 0xff, 0xff, 0x6f, 0x8c,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xda,
+    0xb1, 0xff, 0xff, 0xe3, 0xfa, 0x0, 0x0, 0x0,
+    0x0, 0x98, 0x77, 0xff, 0xff, 0xff, 0x2f, 0x2e,
+    0x0, 0x0, 0x42, 0x15, 0xf7, 0xff, 0xff, 0x81,
+    0xb4, 0x0, 0x40, 0x19, 0xf9, 0xff, 0xff, 0x7b,
+    0xb2, 0x0, 0x0, 0x0, 0x42, 0x29, 0xff, 0xff,
+    0xff, 0x29, 0x90, 0x4d, 0xff, 0xff, 0xfb, 0xff,
+    0xff, 0x37, 0x8c, 0x3d, 0xff, 0xff, 0xfb, 0x15,
+    0x2e, 0x0, 0x0, 0x0, 0x0, 0x4, 0xca, 0x63,
+    0xff, 0xff, 0xff, 0x9b, 0xff, 0xff, 0xff, 0x7d,
+    0xe0, 0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6c,
+    0x21, 0xf1, 0xff, 0xff, 0x93, 0xf6, 0x67, 0xff,
+    0xff, 0xff, 0x49, 0xa0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x66, 0x11, 0xe1,
+    0xff, 0xff, 0xc9, 0xfe, 0x44, 0x0, 0x0, 0x0,
+    0x0, 0xdc, 0xb3, 0xff, 0xff, 0xdf, 0xfa, 0x0,
+    0x0, 0x0, 0x0, 0x28, 0xfe, 0xdf, 0xff, 0xff,
+    0xa5, 0xe8, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x5c, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70, 0x0,
+    0x0, 0x0, 0xa6, 0x65, 0xff, 0xff, 0x7f, 0x5,
+    0xe7, 0xff, 0xd9, 0xfe, 0x26, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0x6,
+    0x0, 0x6, 0x82, 0x11, 0xef, 0xff, 0xff, 0xad,
+    0xd0, 0x0, 0x0, 0x0, 0xf4, 0xd9, 0xff, 0xff,
+    0xb7, 0xe6, 0x0, 0x0, 0x0, 0x0, 0x32, 0x27,
+    0xff, 0xff, 0xff, 0x7d, 0x9a, 0x0, 0x0, 0x0,
+    0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0xba, 0xbe,
+    0xda, 0xfe, 0xab, 0xff, 0xff, 0xe7, 0xd, 0x1e,
+    0x0, 0x0, 0x0, 0x6e, 0x3d, 0xfb, 0xff, 0xff,
+    0xfd, 0xbb, 0x5d, 0x5, 0xe8, 0x88, 0x22, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x36, 0x35, 0xff, 0xff, 0xff, 0x6f, 0x8c,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xda,
+    0xb1, 0xff, 0xff, 0xe3, 0xfa, 0x0, 0x0, 0x0,
+    0x0, 0x98, 0x77, 0xff, 0xff, 0xff, 0x2f, 0x2e,
+    0x0, 0x0, 0x6, 0xf4, 0xbb, 0xff, 0xff, 0xc3,
+    0xf6, 0x4, 0x9c, 0x6d, 0xff, 0xff, 0xf9, 0x1f,
+    0x4a, 0x0, 0x0, 0x0, 0xe, 0xfe, 0xe5, 0xff,
+    0xff, 0x63, 0xde, 0x8f, 0xff, 0xff, 0xad, 0xff,
+    0xff, 0x7f, 0xdc, 0x71, 0xff, 0xff, 0xd9, 0xfc,
+    0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x32, 0xfe,
+    0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd3, 0x5,
+    0x48, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa,
+    0xe6, 0x91, 0xff, 0xff, 0xef, 0x15, 0xd1, 0xff,
+    0xff, 0xbb, 0xfc, 0x20, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x1e, 0xf6, 0x9b, 0xff,
+    0xff, 0xf7, 0x39, 0xa0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xdc, 0xb3, 0xff, 0xff, 0xdf, 0xfa, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xd2, 0x8f, 0xff, 0xff,
+    0xef, 0xd, 0x3e, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x5c, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70, 0x0,
+    0x0, 0x14, 0xfc, 0xc3, 0xff, 0xf5, 0x1b, 0xe6,
+    0x97, 0xff, 0xff, 0x53, 0x94, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0xfa,
+    0xfa, 0xfe, 0x19, 0xb3, 0xff, 0xff, 0xff, 0x6d,
+    0x96, 0x0, 0x0, 0x0, 0xf8, 0xdf, 0xff, 0xff,
+    0xad, 0xda, 0x0, 0x0, 0x0, 0x0, 0x10, 0xd,
+    0xff, 0xff, 0xff, 0x87, 0xa8, 0x0, 0x0, 0x0,
+    0xac, 0x87, 0xff, 0xff, 0xff, 0x93, 0x91, 0x91,
+    0x9f, 0xcf, 0xff, 0xff, 0xf7, 0x5f, 0xce, 0x2,
+    0x0, 0x0, 0x0, 0x1a, 0xf4, 0x7b, 0xfb, 0xff,
+    0xff, 0xff, 0xff, 0xed, 0xad, 0x4b, 0xfe, 0x96,
+    0x12, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x36, 0x35, 0xff, 0xff, 0xff, 0x6f, 0x8c,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xda,
+    0xb1, 0xff, 0xff, 0xe3, 0xfa, 0x0, 0x0, 0x0,
+    0x0, 0x98, 0x77, 0xff, 0xff, 0xff, 0x2f, 0x2e,
+    0x0, 0x0, 0x0, 0xa2, 0x6d, 0xff, 0xff, 0xf7,
+    0x11, 0x36, 0xea, 0xb1, 0xff, 0xff, 0xc1, 0xf8,
+    0x8, 0x0, 0x0, 0x0, 0x0, 0xec, 0xbb, 0xff,
+    0xff, 0x91, 0xfc, 0xc5, 0xff, 0xf9, 0x31, 0xff,
+    0xff, 0xb7, 0xfa, 0x9d, 0xff, 0xff, 0xad, 0xde,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x94,
+    0x35, 0xf7, 0xff, 0xff, 0xff, 0xfd, 0x4d, 0xb2,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x5c, 0x15, 0xeb, 0xff, 0xff, 0xb9, 0xff, 0xff,
+    0xfb, 0x3d, 0x90, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xb2, 0x47, 0xfb, 0xff,
+    0xff, 0x8d, 0xee, 0x16, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xdc, 0xb3, 0xff, 0xff, 0xdf, 0xfa, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x60, 0x2b, 0xfb, 0xff,
+    0xff, 0x6f, 0xac, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x5c, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70, 0x0,
+    0x0, 0x32, 0x35, 0xfd, 0xff, 0xaf, 0xf0, 0x6e,
+    0x31, 0xfd, 0xff, 0xb7, 0xb6, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xdf, 0xdf,
+    0xdf, 0xe5, 0xfb, 0xff, 0xff, 0xff, 0xd1, 0x5,
+    0x3a, 0x0, 0x0, 0x0, 0xfa, 0xdf, 0xff, 0xff,
+    0xad, 0xd6, 0x0, 0x0, 0x0, 0x0, 0x6, 0xd,
+    0xff, 0xff, 0xff, 0x87, 0xac, 0x0, 0x0, 0x0,
+    0xac, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xd1, 0x3d, 0xf4, 0x32, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x46, 0xf4, 0x49, 0xc7,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc3, 0x31,
+    0xd4, 0x16, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x36, 0x35, 0xff, 0xff, 0xff, 0x6f, 0x8c,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xda,
+    0xb1, 0xff, 0xff, 0xe3, 0xfa, 0x0, 0x0, 0x0,
+    0x0, 0x98, 0x77, 0xff, 0xff, 0xff, 0x2f, 0x2e,
+    0x0, 0x0, 0x0, 0x3c, 0x11, 0xf3, 0xff, 0xff,
+    0x63, 0xa0, 0xfe, 0xed, 0xff, 0xff, 0x75, 0xac,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0xba, 0x8b, 0xff,
+    0xff, 0xb9, 0x9, 0xf3, 0xff, 0xcb, 0xfe, 0xdb,
+    0xff, 0xeb, 0xfe, 0xc5, 0xff, 0xff, 0x7b, 0xa6,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x36,
+    0xfe, 0xc3, 0xff, 0xff, 0xff, 0xd9, 0xfe, 0x58,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x6, 0xda, 0x83, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xad, 0xf8, 0x18, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x54, 0x9, 0xd5, 0xff, 0xff,
+    0xd9, 0x9, 0x56, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xdc, 0xb3, 0xff, 0xff, 0xdf, 0xfa, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xe, 0xfa, 0xc1, 0xff,
+    0xff, 0xc5, 0xfa, 0x10, 0x0, 0x0, 0x0, 0x0,
+    0x5c, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70, 0x0,
+    0x0, 0x32, 0x4b, 0x91, 0x91, 0x3d, 0x86, 0x12,
+    0xf6, 0x7b, 0x91, 0x89, 0xa8, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xcb, 0x25, 0xa6,
+    0x0, 0x0, 0x0, 0x0, 0xf8, 0xdf, 0xff, 0xff,
+    0xad, 0xda, 0x0, 0x0, 0x0, 0x0, 0x12, 0xd,
+    0xff, 0xff, 0xff, 0x87, 0xa6, 0x0, 0x0, 0x0,
+    0xac, 0x87, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xb9, 0xf, 0x6e, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0xa2, 0xfc,
+    0x41, 0x9d, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xed,
+    0x39, 0x9a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x36, 0x35, 0xff, 0xff, 0xff, 0x6f, 0x8c,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xda,
+    0xb1, 0xff, 0xff, 0xe3, 0xfa, 0x0, 0x0, 0x0,
+    0x0, 0x98, 0x77, 0xff, 0xff, 0xff, 0x2f, 0x2e,
+    0x0, 0x0, 0x0, 0x4, 0xf0, 0xb5, 0xff, 0xff,
+    0xa9, 0xf0, 0x4f, 0xff, 0xff, 0xf7, 0x19, 0x46,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x72, 0x55, 0xff,
+    0xff, 0xdf, 0x51, 0xff, 0xff, 0x95, 0xf8, 0xa7,
+    0xff, 0xff, 0x3d, 0xeb, 0xff, 0xff, 0x43, 0x5a,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xba,
+    0x53, 0xff, 0xff, 0xff, 0xff, 0xff, 0x73, 0xda,
+    0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x4e, 0xb, 0xe3, 0xff, 0xff, 0xff, 0xf9,
+    0x2f, 0x80, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x16, 0xee, 0x8b, 0xff, 0xff, 0xfb,
+    0x4b, 0xb8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xdc, 0xb3, 0xff, 0xff, 0xdf, 0xfa, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0xa6, 0x6b, 0xff,
+    0xff, 0xfd, 0x2f, 0x66, 0x0, 0x0, 0x0, 0x0,
+    0x5c, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70, 0x0,
+    0x0, 0x20, 0x6e, 0xa0, 0x9e, 0x6a, 0x1a, 0x0,
+    0x46, 0x86, 0xac, 0x8e, 0x52, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xdd, 0xdd,
+    0xdd, 0xdb, 0xcf, 0xab, 0x5f, 0xfe, 0x9e, 0xc,
+    0x0, 0x0, 0x0, 0x0, 0xf4, 0xd9, 0xff, 0xff,
+    0xbb, 0xe8, 0x0, 0x0, 0x0, 0x0, 0x36, 0x2b,
+    0xff, 0xff, 0xff, 0x7b, 0x96, 0x0, 0x0, 0x0,
+    0xac, 0x87, 0xff, 0xff, 0xff, 0x4d, 0x49, 0x49,
+    0x5b, 0xa5, 0xff, 0xff, 0xff, 0xa3, 0xe4, 0x0,
+    0x0, 0x0, 0x6, 0x3a, 0x62, 0x80, 0x6a, 0x56,
+    0x7e, 0xd8, 0xfe, 0x47, 0xb7, 0xff, 0xff, 0xff,
+    0xc3, 0xf8, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x36, 0x35, 0xff, 0xff, 0xff, 0x6f, 0x8c,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd8,
+    0xb1, 0xff, 0xff, 0xe3, 0xfc, 0x0, 0x0, 0x0,
+    0x0, 0x9c, 0x77, 0xff, 0xff, 0xff, 0x2f, 0x2a,
+    0x0, 0x0, 0x0, 0x0, 0x9a, 0x67, 0xff, 0xff,
+    0xe5, 0xfe, 0x9b, 0xff, 0xff, 0xbd, 0xf6, 0x6,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x2c, 0x13, 0xfb,
+    0xff, 0xfb, 0x97, 0xff, 0xff, 0x55, 0xc4, 0x6b,
+    0xff, 0xff, 0x93, 0xff, 0xff, 0xf3, 0x5, 0x1c,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x50, 0x9,
+    0xd9, 0xff, 0xff, 0xfd, 0xff, 0xff, 0xeb, 0x1f,
+    0x78, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x2, 0xd2, 0x75, 0xff, 0xff, 0xff, 0xa1,
+    0xf4, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x9e, 0x37, 0xf7, 0xff, 0xff, 0xa1,
+    0xf8, 0x22, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xdc, 0xb3, 0xff, 0xff, 0xdf, 0xfa, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x38, 0xb, 0xed,
+    0xff, 0xff, 0x93, 0xd6, 0x0, 0x0, 0x0, 0x0,
+    0x5c, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0xf8,
+    0xf8, 0xf6, 0xee, 0xd4, 0x8e, 0x30, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xe8, 0xc3, 0xff, 0xff,
+    0xd5, 0xfe, 0x1a, 0x0, 0x0, 0x0, 0x92, 0x55,
+    0xff, 0xff, 0xff, 0x5f, 0x6a, 0x0, 0x0, 0x0,
+    0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0x58, 0x5e,
+    0x94, 0xfe, 0xb7, 0xff, 0xff, 0xef, 0xfe, 0x6,
+    0x0, 0x0, 0xe, 0x15, 0x67, 0x67, 0x67, 0x2d,
+    0x5e, 0x0, 0x1e, 0x90, 0xfe, 0xb3, 0xff, 0xff,
+    0xfb, 0x13, 0x16, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x36, 0x35, 0xff, 0xff, 0xff, 0x6f, 0x8c,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xd0,
+    0xab, 0xff, 0xff, 0xeb, 0xfe, 0x8, 0x0, 0x0,
+    0x0, 0xb2, 0x81, 0xff, 0xff, 0xff, 0x25, 0x1c,
+    0x0, 0x0, 0x0, 0x0, 0x36, 0xd, 0xf1, 0xff,
+    0xff, 0x41, 0xd9, 0xff, 0xff, 0x71, 0xa6, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xfc, 0xd9,
+    0xff, 0xff, 0xeb, 0xff, 0xf5, 0xb, 0x5c, 0x1f,
+    0xfd, 0xff, 0xeb, 0xff, 0xff, 0xcb, 0xf6, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0xe, 0xe6, 0x87,
+    0xff, 0xff, 0xff, 0x75, 0xf9, 0xff, 0xff, 0xab,
+    0xfa, 0x26, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x68, 0x43, 0xff, 0xff, 0xff, 0x63,
+    0x9e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x44, 0xfe, 0xc7, 0xff, 0xff, 0xe3, 0x15,
+    0x6c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xdc, 0xb3, 0xff, 0xff, 0xdf, 0xfa, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xe4, 0xa1,
+    0xff, 0xff, 0xe3, 0xfe, 0x2c, 0x0, 0x0, 0x0,
+    0x5c, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0x6,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xba, 0x8f, 0xff, 0xff,
+    0xfd, 0x3f, 0xa2, 0x4, 0x0, 0x2a, 0xf8, 0xad,
+    0xff, 0xff, 0xf7, 0x15, 0x34, 0x0, 0x0, 0x0,
+    0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0x6, 0x0,
+    0x0, 0xbc, 0x81, 0xff, 0xff, 0xff, 0x19, 0x14,
+    0x0, 0x0, 0xe, 0x1d, 0xff, 0xff, 0xff, 0x8b,
+    0xd0, 0x6, 0x0, 0x0, 0xcc, 0x77, 0xff, 0xff,
+    0xff, 0x31, 0x18, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x36, 0x35, 0xff, 0xff, 0xff, 0x6f, 0x8c,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xb6,
+    0x97, 0xff, 0xff, 0xff, 0x1d, 0x74, 0x0, 0x0,
+    0x16, 0xf2, 0xa5, 0xff, 0xff, 0xf9, 0x5, 0xc,
+    0x0, 0x0, 0x0, 0x0, 0x2, 0xee, 0xb1, 0xff,
+    0xff, 0x9f, 0xff, 0xff, 0xf7, 0x15, 0x40, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xde, 0xad,
+    0xff, 0xff, 0xff, 0xff, 0xc5, 0xf6, 0xa, 0xfc,
+    0xd5, 0xff, 0xff, 0xff, 0xff, 0x9d, 0xce, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x84, 0x29, 0xf3,
+    0xff, 0xff, 0xc3, 0xfe, 0xa5, 0xff, 0xff, 0xfd,
+    0x51, 0xba, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x4c, 0x43, 0xff, 0xff, 0xff, 0x63,
+    0x7a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xe, 0xe2, 0x79, 0xff, 0xff, 0xff, 0x5d, 0xca,
+    0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xdc, 0xb3, 0xff, 0xff, 0xdf, 0xfa, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x78, 0x41,
+    0xff, 0xff, 0xff, 0x5b, 0x96, 0x0, 0x0, 0x0,
+    0x5c, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0x6,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x62, 0x2d, 0xf9, 0xff,
+    0xff, 0xc9, 0x11, 0xe6, 0xce, 0xfa, 0x57, 0xfb,
+    0xff, 0xff, 0xad, 0xf2, 0x6, 0x0, 0x0, 0x0,
+    0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0x6, 0x0,
+    0x0, 0x94, 0x73, 0xff, 0xff, 0xff, 0x29, 0x2a,
+    0x0, 0x0, 0x8, 0xfe, 0xdf, 0xff, 0xff, 0xdd,
+    0x15, 0xe8, 0xb4, 0xc8, 0xfe, 0xb1, 0xff, 0xff,
+    0xfb, 0x11, 0x14, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x36, 0x35, 0xff, 0xff, 0xff, 0x6f, 0x8c,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7a,
+    0x59, 0xff, 0xff, 0xff, 0xa7, 0xfe, 0xd8, 0xc4,
+    0xf4, 0x37, 0xf5, 0xff, 0xff, 0xcb, 0xf8, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x94, 0x5f, 0xff,
+    0xff, 0xf3, 0xff, 0xff, 0xb9, 0xf4, 0x6, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa4, 0x7b,
+    0xff, 0xff, 0xff, 0xff, 0x8d, 0xbe, 0x0, 0xd4,
+    0x9f, 0xff, 0xff, 0xff, 0xff, 0x6b, 0x8e, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x2a, 0xfc, 0xb3, 0xff,
+    0xff, 0xfd, 0x47, 0xca, 0x27, 0xf5, 0xff, 0xff,
+    0xd9, 0x9, 0x54, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x4c, 0x43, 0xff, 0xff, 0xff, 0x63,
+    0x7a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x8a, 0x27, 0xf1, 0xff, 0xff, 0xb3, 0xfe, 0xe4,
+    0xe0, 0xe0, 0xe0, 0xe0, 0xcc, 0x98, 0x2e, 0x0,
+    0x0, 0xdc, 0xb3, 0xff, 0xff, 0xdf, 0xfa, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1a, 0xfe,
+    0xd1, 0xff, 0xff, 0xb5, 0xf4, 0x8, 0x0, 0x0,
+    0x5c, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0x6,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x10, 0xee, 0x8f, 0xff,
+    0xff, 0xff, 0xe3, 0x9f, 0x91, 0xb7, 0xfb, 0xff,
+    0xff, 0xeb, 0x27, 0x7e, 0x0, 0x0, 0x0, 0x0,
+    0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0x6, 0x0,
+    0x0, 0x7e, 0x69, 0xff, 0xff, 0xff, 0x39, 0x52,
+    0x0, 0x0, 0x0, 0xc8, 0x75, 0xff, 0xff, 0xff,
+    0xe9, 0x9f, 0x81, 0x89, 0xc3, 0xff, 0xff, 0xff,
+    0xbf, 0xf8, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x36, 0x35, 0xff, 0xff, 0xff, 0x6f, 0x8c,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2a,
+    0xfe, 0xd1, 0xff, 0xff, 0xff, 0xd1, 0x97, 0x89,
+    0xab, 0xf7, 0xff, 0xff, 0xff, 0x5f, 0xac, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x30, 0x9, 0xef,
+    0xff, 0xff, 0xff, 0xff, 0x6b, 0xa0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x58, 0x41,
+    0xff, 0xff, 0xff, 0xff, 0x49, 0x6a, 0x0, 0x86,
+    0x61, 0xff, 0xff, 0xff, 0xff, 0x2b, 0x42, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xbc, 0x57, 0xff, 0xff,
+    0xff, 0xb5, 0xfa, 0x2a, 0xec, 0x95, 0xff, 0xff,
+    0xff, 0x8b, 0xec, 0x14, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x4c, 0x43, 0xff, 0xff, 0xff, 0x63,
+    0x7a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe,
+    0xfe, 0xb9, 0xff, 0xff, 0xff, 0xc3, 0xb7, 0xb7,
+    0xb7, 0xb7, 0xb7, 0xb7, 0xb7, 0x5d, 0x6c, 0x0,
+    0x0, 0xdc, 0xb3, 0xff, 0xff, 0xdf, 0xfa, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbe,
+    0x7d, 0xff, 0xff, 0xf7, 0x1d, 0x52, 0x0, 0x0,
+    0x5c, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0x6,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x58, 0xfe, 0xa7,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0x4f, 0xf2, 0x20, 0x0, 0x0, 0x0, 0x0,
+    0xac, 0x87, 0xff, 0xff, 0xff, 0xd, 0x6, 0x0,
+    0x0, 0x58, 0x51, 0xff, 0xff, 0xff, 0x67, 0xba,
+    0x0, 0x0, 0x0, 0x40, 0xfe, 0x91, 0xfd, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xe5,
+    0x31, 0x92, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x36, 0x35, 0xff, 0xff, 0xff, 0x6f, 0x8c,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xaa, 0x31, 0xe1, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xfd, 0x8b, 0xfe, 0x30, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xea, 0xad,
+    0xff, 0xff, 0xff, 0xf3, 0x11, 0x3c, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1a, 0xfe,
+    0xf3, 0xff, 0xff, 0xef, 0x5, 0x20, 0x0, 0x34,
+    0x15, 0xf9, 0xff, 0xff, 0xe7, 0xfe, 0xe, 0x0,
+    0x0, 0x0, 0x0, 0x52, 0x9, 0xdb, 0xff, 0xff,
+    0xfb, 0x35, 0x8a, 0x0, 0x62, 0x19, 0xed, 0xff,
+    0xff, 0xf7, 0x33, 0x94, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x4c, 0x43, 0xff, 0xff, 0xff, 0x63,
+    0x7a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1e,
+    0x29, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0x83, 0x98, 0x0,
+    0x0, 0xdc, 0xb3, 0xff, 0xff, 0xdf, 0xfa, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4e,
+    0x19, 0xf5, 0xff, 0xff, 0x81, 0xc4, 0x0, 0x0,
+    0x5c, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x86, 0x87, 0xff, 0xff, 0xff, 0xd, 0x4,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6e, 0xfe,
+    0x69, 0xd3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xdb, 0x33, 0xd6, 0x22, 0x0, 0x0, 0x0,
+    0x86, 0x87, 0xff, 0xff, 0xff, 0xd, 0x4, 0x0,
+    0x0, 0x28, 0xf, 0xe9, 0xff, 0xff, 0xcf, 0xb4,
+    0x0, 0x0, 0x0, 0x0, 0x5a, 0xf8, 0x49, 0xbb,
+    0xf7, 0xff, 0xff, 0xff, 0xff, 0xed, 0xa1, 0x21,
+    0xc6, 0x12, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x26, 0x35, 0xff, 0xff, 0xff, 0x6f, 0x68,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x12, 0xc0, 0x17, 0x97, 0xe7, 0xff, 0xff, 0xff,
+    0xff, 0xf9, 0xc3, 0x55, 0xf8, 0x54, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8e, 0x5b,
+    0xff, 0xff, 0xff, 0xb7, 0xee, 0x4, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xf0,
+    0xc9, 0xff, 0xff, 0xbf, 0xea, 0x0, 0x0, 0x6,
+    0xf6, 0xcf, 0xff, 0xff, 0xbd, 0xe2, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x52, 0x89, 0xff, 0xff, 0xff,
+    0xa7, 0xf4, 0x14, 0x0, 0x6, 0xde, 0x87, 0xff,
+    0xff, 0xff, 0xc1, 0x94, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x36, 0x43, 0xff, 0xff, 0xff, 0x63,
+    0x5a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1e,
+    0x2f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0x83, 0x82, 0x0,
+    0x0, 0xdc, 0xb3, 0xff, 0xff, 0xdf, 0xfa, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6,
+    0xf2, 0xb1, 0xff, 0xff, 0xd5, 0xfe, 0x1c, 0x0,
+    0x5c, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x50, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x2,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x36,
+    0xb8, 0xfc, 0x23, 0x4d, 0x59, 0x3d, 0x63, 0xf5,
+    0xff, 0xff, 0xeb, 0x4d, 0x50, 0x0, 0x0, 0x0,
+    0x50, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x2, 0x0,
+    0x0, 0x4, 0xc8, 0xfe, 0xfe, 0xfe, 0xfe, 0xa0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x20, 0x94, 0xf2,
+    0x9, 0x43, 0x59, 0x55, 0x35, 0xfe, 0xe4, 0x70,
+    0xa, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x14, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x3c,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x6, 0x64, 0xda, 0xfe, 0x31, 0x53, 0x59,
+    0x47, 0xf, 0xf6, 0xa0, 0x28, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2c, 0xfe,
+    0xfe, 0xfe, 0xfe, 0xfe, 0x80, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x98,
+    0xfe, 0xfe, 0xfe, 0xfe, 0x8a, 0x0, 0x0, 0x0,
+    0x9e, 0xfe, 0xfe, 0xfe, 0xfe, 0x88, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x52, 0xfe, 0xfe, 0xfe, 0xfe,
+    0xfe, 0x6e, 0x0, 0x0, 0x0, 0x50, 0xfe, 0xfe,
+    0xfe, 0xfe, 0xfe, 0x8c, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x1c, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
+    0x32, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10,
+    0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
+    0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x4c, 0x0,
+    0x0, 0xdc, 0xb3, 0xff, 0xff, 0xdf, 0xfe, 0x96,
+    0x36, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x90, 0x57, 0xff, 0xff, 0xff, 0x43, 0x3e, 0x64,
+    0xca, 0x4d, 0xff, 0xff, 0xff, 0x5b, 0x70, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xc, 0x2e, 0x50, 0x5a, 0x66, 0xea, 0x4b,
+    0xed, 0xff, 0xf5, 0x67, 0x50, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x1c, 0x42, 0x60, 0x5a, 0x3a, 0x14, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x12, 0x36, 0x58, 0x60,
+    0x48, 0x22, 0x4, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xdc, 0xb3, 0xff, 0xff, 0xf3, 0xb1, 0x69,
+    0x82, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x2a, 0xfe, 0x8d, 0x95, 0x95, 0x51, 0x3e, 0xd6,
+    0x9b, 0xbf, 0xff, 0xff, 0xff, 0x5b, 0x70, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x22, 0xd8,
+    0x35, 0xc9, 0x49, 0xe8, 0x34, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xda, 0xb3, 0xff, 0xff, 0xff, 0xff, 0x99,
+    0xae, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x56, 0x94, 0xbc, 0xa8, 0x76, 0x26, 0xf2,
+    0xe3, 0xff, 0xff, 0xff, 0xff, 0x5b, 0x6e, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x14,
+    0xa0, 0xac, 0xa4, 0x20, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xb8, 0xab, 0xf5, 0xf5, 0xf5, 0xf5, 0x91,
+    0x98, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xea,
+    0xd9, 0xf5, 0xf5, 0xf5, 0xf5, 0x57, 0x4e, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x74, 0xec, 0xfc, 0xfe, 0xfe, 0xfc, 0xe8,
+    0x5a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xac,
+    0xf4, 0xfe, 0xfe, 0xfe, 0xfc, 0xe2, 0x2a, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x24, 0x52, 0x76, 0x76, 0x52, 0x26,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xa, 0x3e, 0x66, 0x80, 0x66, 0x3e, 0xa,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x54,
+    0x98, 0xba, 0xb2, 0x80, 0x34, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x28, 0x56, 0x78, 0x74, 0x50, 0x22, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x1a, 0x4a, 0x70, 0x7e, 0x5c, 0x30, 0x0,
+    0x0, 0x0, 0x1a, 0x4a, 0x70, 0x7e, 0x5c, 0x32,
+    0x0, 0x0, 0x0, 0x24, 0x52, 0x76, 0x78, 0x54,
+    0x26, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x1a, 0x4a, 0x70, 0x7e, 0x5c,
+    0x30, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x3c,
+    0x6e, 0x90, 0x86, 0x5e, 0x2a, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xa0, 0x4f, 0x67, 0x67, 0x51, 0xa8,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x32, 0x21, 0x67, 0x67, 0x67, 0x21, 0x32,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x4e, 0xf2, 0x2d,
+    0x7f, 0x9b, 0x99, 0x67, 0xaa, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xb4, 0x55, 0x67, 0x67, 0x4d, 0x98, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x78, 0x41, 0x67, 0x67, 0x5f, 0xda, 0x0,
+    0x0, 0x0, 0x74, 0x3f, 0x67, 0x67, 0x63, 0xe4,
+    0x0, 0x0, 0x0, 0xa0, 0x4f, 0x67, 0x67, 0x51,
+    0xac, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x78, 0x41, 0x67, 0x67, 0x5f,
+    0xda, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x17,
+    0x71, 0x73, 0x73, 0x57, 0xf0, 0x22, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xd4, 0xc3, 0xff, 0xff, 0xcb, 0xdc,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x54, 0x57, 0xff, 0xff, 0xff, 0x57, 0x54,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x28, 0xfc, 0x85, 0xfb,
+    0xff, 0xff, 0xff, 0xc7, 0xd2, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xe4, 0xd3, 0xff, 0xff, 0xbd, 0xce, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xae, 0x9f, 0xff, 0xff, 0xef, 0xf8, 0x0,
+    0x0, 0x0, 0xaa, 0x9b, 0xff, 0xff, 0xf5, 0xfa,
+    0x0, 0x0, 0x0, 0xd4, 0xc3, 0xff, 0xff, 0xcd,
+    0xde, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0xae, 0x9f, 0xff, 0xff, 0xef,
+    0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x6c,
+    0x77, 0xfb, 0xff, 0xfb, 0x4d, 0xc8, 0x8, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xcb, 0xee,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x6a, 0x57, 0xff, 0xff, 0xff, 0x57, 0x6a,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x8e, 0x55, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xb1, 0xcc, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xf4, 0xd3, 0xff, 0xff, 0xbd, 0xe4, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xae, 0x9f, 0xff, 0xff, 0xef, 0xf8, 0x0,
+    0x0, 0x0, 0xaa, 0x9b, 0xff, 0xff, 0xf5, 0xfc,
+    0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xcd,
+    0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0xc8, 0x9f, 0xff, 0xff, 0xef,
+    0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40,
+    0xf6, 0x6d, 0xfb, 0xff, 0xe3, 0x1d, 0x5e, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xcb, 0xee,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x6a, 0x57, 0xff, 0xff, 0xff, 0x57, 0x6a,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xd2, 0xaf, 0xff, 0xff,
+    0xfb, 0x7b, 0x45, 0x37, 0x86, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xf4, 0xd3, 0xff, 0xff, 0xbd, 0xe4, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x78, 0x41, 0x67, 0x67, 0x5f, 0xda, 0x0,
+    0x0, 0x0, 0x74, 0x3d, 0x63, 0x63, 0x5d, 0xe4,
+    0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xcd,
+    0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0xc8, 0x9f, 0xff, 0xff, 0xef,
+    0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x3a, 0xf2, 0x65, 0xd9, 0xd9, 0x95, 0x5e, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xcb, 0xee,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x6a, 0x57, 0xff, 0xff, 0xff, 0x57, 0x6a,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xec, 0xcd, 0xff, 0xff,
+    0xc9, 0xfe, 0x6a, 0x30, 0x16, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xf4, 0xd3, 0xff, 0xff, 0xbd, 0xe4, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x1a, 0x4a, 0x70, 0x7e, 0x5c, 0x30, 0x0,
+    0x0, 0x0, 0x18, 0x46, 0x6a, 0x78, 0x58, 0x2e,
+    0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xcd,
+    0xf0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0xc8, 0x9f, 0xff, 0xff, 0xef,
+    0xfe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x34, 0xbe, 0xea, 0xee, 0xca, 0x58, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x3c, 0xa6, 0xe8, 0xfa,
+    0xfc, 0xf8, 0xe4, 0x98, 0x2a, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xcb, 0xf8,
+    0xea, 0xf8, 0xf8, 0xe2, 0x8e, 0x1c, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x22, 0x8e, 0xde,
+    0xf8, 0xfc, 0xf8, 0xe4, 0x98, 0x2a, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x48, 0xbc, 0xf0, 0xfa,
+    0xf4, 0xe2, 0x57, 0xff, 0xff, 0xff, 0x57, 0x6a,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x74, 0xd4,
+    0xf6, 0xfa, 0xf8, 0xe6, 0x9e, 0x2e, 0x0, 0x0,
+    0x0, 0x0, 0x56, 0xb6, 0xfe, 0xd3, 0xff, 0xff,
+    0xbd, 0xfc, 0xd4, 0x9a, 0x18, 0x0, 0x0, 0x0,
+    0x0, 0x46, 0xba, 0xf0, 0xfa, 0xf6, 0xd2, 0xa4,
+    0xc0, 0xe2, 0xd4, 0x9e, 0x1e, 0x0, 0x0, 0x0,
+    0xf4, 0xd3, 0xff, 0xff, 0xbd, 0xf2, 0xe0, 0xf8,
+    0xf8, 0xea, 0xa2, 0x28, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x44, 0xae, 0xdc, 0xe6, 0xc8, 0x80, 0x0,
+    0x0, 0x0, 0x38, 0xa8, 0xd8, 0xea, 0xce, 0x90,
+    0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xcd,
+    0xf0, 0x0, 0x5c, 0xb8, 0xe0, 0xea, 0xd4, 0x9e,
+    0x20, 0x0, 0x0, 0xc8, 0x9f, 0xff, 0xff, 0xef,
+    0xfe, 0x0, 0x0, 0x0, 0x5e, 0xb8, 0xe0, 0xdc,
+    0xb2, 0x9c, 0xda, 0xf6, 0xf8, 0xee, 0xae, 0x34,
+    0x60, 0xce, 0xf4, 0xfa, 0xf2, 0xc0, 0x48, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x68, 0xbe, 0xe2, 0xda,
+    0xae, 0x92, 0xd6, 0xf6, 0xfa, 0xf0, 0xb6, 0x3c,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x14,
+    0x78, 0xd4, 0xf6, 0xfa, 0xfa, 0xec, 0xb0, 0x44,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x4, 0x8e, 0xfe, 0x6f, 0xbf, 0xe3,
+    0xef, 0xe3, 0xb9, 0x57, 0xfc, 0x5c, 0x0, 0x0,
+    0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xcb, 0x49,
+    0xc3, 0xeb, 0xe5, 0xb7, 0x41, 0xea, 0x26, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x52, 0xfa, 0x4d, 0xb3,
+    0xdf, 0xed, 0xe3, 0xb9, 0x57, 0xfc, 0x5c, 0x0,
+    0x0, 0x0, 0x0, 0x7a, 0xfe, 0x7d, 0xd1, 0xeb,
+    0xdd, 0x8f, 0x59, 0xff, 0xff, 0xff, 0x57, 0x6a,
+    0x0, 0x0, 0x0, 0x0, 0x2a, 0xe2, 0x2f, 0xa3,
+    0xdb, 0xed, 0xe3, 0xbd, 0x5d, 0xfe, 0x60, 0x0,
+    0x0, 0x0, 0xae, 0x8d, 0xc3, 0xf3, 0xff, 0xff,
+    0xeb, 0xc3, 0xc3, 0x3b, 0x38, 0x0, 0x0, 0x0,
+    0x76, 0xfe, 0x7b, 0xcf, 0xeb, 0xdf, 0x97, 0xd,
+    0xa5, 0xc3, 0xc3, 0x45, 0x44, 0x0, 0x0, 0x0,
+    0xf4, 0xd3, 0xff, 0xff, 0xbd, 0x2d, 0xb1, 0xe5,
+    0xe9, 0xc3, 0x55, 0xf2, 0x2e, 0x0, 0x0, 0x0,
+    0x0, 0x90, 0x79, 0xc3, 0xc3, 0xb7, 0xe8, 0x0,
+    0x0, 0x0, 0x78, 0x69, 0xc3, 0xc3, 0xc3, 0xfe,
+    0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xcd,
+    0xf0, 0x24, 0xfa, 0x93, 0xc3, 0xc3, 0xc3, 0x53,
+    0x20, 0x0, 0x0, 0xc8, 0x9f, 0xff, 0xff, 0xef,
+    0xfe, 0x0, 0x0, 0x0, 0xb8, 0x95, 0xc3, 0xc3,
+    0x79, 0x27, 0xa9, 0xe1, 0xeb, 0xcb, 0x61, 0xfc,
+    0x11, 0x95, 0xdb, 0xed, 0xd5, 0x7d, 0xfe, 0x5c,
+    0x0, 0x0, 0x0, 0x0, 0xc8, 0x9f, 0xc3, 0xc3,
+    0x71, 0x1d, 0xa1, 0xdf, 0xeb, 0xcf, 0x71, 0xfe,
+    0x4c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x38, 0xec,
+    0x35, 0xa5, 0xd9, 0xeb, 0xe5, 0xc5, 0x79, 0x5,
+    0x9e, 0x8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x62, 0x11, 0xc1, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0x93, 0xfa, 0x22, 0x0,
+    0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xe5, 0xf5,
+    0xff, 0xff, 0xff, 0xff, 0xf7, 0x53, 0xc4, 0x2,
+    0x0, 0x0, 0x0, 0x2c, 0xfa, 0x89, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0x93, 0xfe, 0x2e,
+    0x0, 0x0, 0x38, 0xfe, 0xb1, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xd9, 0xff, 0xff, 0xff, 0x57, 0x6a,
+    0x0, 0x0, 0x0, 0xe, 0xdc, 0x57, 0xf3, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0x97, 0xfc, 0x2e,
+    0x0, 0x0, 0xca, 0xbb, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0x4d, 0x4a, 0x0, 0x0, 0x36,
+    0xfe, 0xad, 0xff, 0xff, 0xff, 0xff, 0xff, 0xc1,
+    0xf1, 0xff, 0xff, 0x5b, 0x66, 0x0, 0x0, 0x0,
+    0xf4, 0xd3, 0xff, 0xff, 0xd1, 0xeb, 0xff, 0xff,
+    0xff, 0xff, 0xfb, 0x5d, 0xbc, 0x0, 0x0, 0x0,
+    0x0, 0xbc, 0x9f, 0xff, 0xff, 0xef, 0xfa, 0x0,
+    0x0, 0x0, 0xa4, 0x89, 0xff, 0xff, 0xff, 0xfe,
+    0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xcd,
+    0xf0, 0xb4, 0x4f, 0xff, 0xff, 0xff, 0xbf, 0xd4,
+    0x20, 0x0, 0x0, 0xc8, 0x9f, 0xff, 0xff, 0xef,
+    0xfe, 0x0, 0x0, 0x0, 0xe0, 0xc3, 0xff, 0xff,
+    0xbf, 0xe5, 0xff, 0xff, 0xff, 0xff, 0xfd, 0x61,
+    0xcb, 0xff, 0xff, 0xff, 0xff, 0xff, 0x93, 0xee,
+    0x8, 0x0, 0x0, 0x0, 0xea, 0xd1, 0xff, 0xff,
+    0xb1, 0xdf, 0xff, 0xff, 0xff, 0xff, 0xff, 0x83,
+    0xe0, 0x2, 0x0, 0x0, 0x0, 0x1c, 0xec, 0x6b,
+    0xf9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xcd,
+    0x1d, 0x88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xd2, 0x99, 0xff, 0xff, 0xff, 0xcb,
+    0xb7, 0xed, 0xff, 0xff, 0xff, 0x4b, 0x76, 0x0,
+    0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xff, 0xff,
+    0xdb, 0xe1, 0xff, 0xff, 0xff, 0xe1, 0xb, 0x34,
+    0x0, 0x0, 0x0, 0xac, 0x59, 0xff, 0xff, 0xff,
+    0xef, 0xd1, 0xf3, 0xff, 0xff, 0xff, 0x5d, 0x9c,
+    0x0, 0x0, 0xb0, 0x6b, 0xff, 0xff, 0xff, 0xf9,
+    0xd5, 0xef, 0xff, 0xff, 0xff, 0xff, 0x57, 0x6a,
+    0x0, 0x0, 0x0, 0x70, 0x29, 0xef, 0xff, 0xff,
+    0xf9, 0xd5, 0xed, 0xff, 0xff, 0xff, 0x5d, 0xa2,
+    0x0, 0x0, 0xb0, 0x93, 0xcb, 0xf3, 0xff, 0xff,
+    0xef, 0xcb, 0xcb, 0x3d, 0x38, 0x0, 0x0, 0xae,
+    0x67, 0xff, 0xff, 0xff, 0xf9, 0xd5, 0xed, 0xff,
+    0xff, 0xff, 0xff, 0x5b, 0x70, 0x0, 0x0, 0x0,
+    0xf4, 0xd3, 0xff, 0xff, 0xff, 0xf9, 0xd7, 0xeb,
+    0xff, 0xff, 0xff, 0xd9, 0xfe, 0x10, 0x0, 0x0,
+    0x0, 0xc8, 0x9f, 0xff, 0xff, 0xef, 0xfe, 0x0,
+    0x0, 0x0, 0xb0, 0x89, 0xff, 0xff, 0xff, 0xfe,
+    0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xcd,
+    0xf4, 0x5, 0xd5, 0xff, 0xff, 0xed, 0x27, 0x8e,
+    0x0, 0x0, 0x0, 0xc8, 0x9f, 0xff, 0xff, 0xef,
+    0xfe, 0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff,
+    0xff, 0xfb, 0xd7, 0xeb, 0xff, 0xff, 0xff, 0xf9,
+    0xff, 0xe5, 0xdb, 0xff, 0xff, 0xff, 0xf9, 0x1f,
+    0x3c, 0x0, 0x0, 0x0, 0xf2, 0xd1, 0xff, 0xff,
+    0xff, 0xfb, 0xd9, 0xe7, 0xff, 0xff, 0xff, 0xef,
+    0xb, 0x22, 0x0, 0x0, 0x0, 0x92, 0x41, 0xf9,
+    0xff, 0xff, 0xf9, 0xd1, 0xe3, 0xff, 0xff, 0xff,
+    0xb9, 0xfe, 0x20, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xd4, 0xdf, 0xff, 0xff, 0xbd, 0xfe,
+    0xf6, 0x31, 0xf9, 0xff, 0xff, 0x9b, 0xb8, 0x0,
+    0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xf7, 0x4f,
+    0xfe, 0xfe, 0x8f, 0xff, 0xff, 0xff, 0x63, 0x88,
+    0x0, 0x0, 0x8, 0xfa, 0xcb, 0xff, 0xff, 0xdb,
+    0x19, 0xfc, 0x23, 0xdf, 0xff, 0xff, 0xbb, 0xe2,
+    0x0, 0x4, 0xf8, 0xcb, 0xff, 0xff, 0xf1, 0x39,
+    0xfe, 0x11, 0xbb, 0xff, 0xff, 0xff, 0x57, 0x6a,
+    0x0, 0x0, 0x0, 0xda, 0xa1, 0xff, 0xff, 0xf9,
+    0x49, 0xfe, 0x15, 0xd5, 0xff, 0xff, 0xc3, 0xf0,
+    0x0, 0x0, 0x5a, 0xbc, 0xfe, 0xd3, 0xff, 0xff,
+    0xbd, 0xfe, 0xda, 0xa2, 0x18, 0x0, 0x2, 0xf8,
+    0xcb, 0xff, 0xff, 0xf1, 0x39, 0xfe, 0xb, 0xad,
+    0xff, 0xff, 0xff, 0x5b, 0x70, 0x0, 0x0, 0x0,
+    0xf4, 0xd3, 0xff, 0xff, 0xe3, 0x35, 0xfe, 0x9,
+    0xbb, 0xff, 0xff, 0xff, 0x2d, 0x36, 0x0, 0x0,
+    0x0, 0xc8, 0x9f, 0xff, 0xff, 0xef, 0xfe, 0x0,
+    0x0, 0x0, 0xb0, 0x89, 0xff, 0xff, 0xff, 0xfe,
+    0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xcd,
+    0xfe, 0x81, 0xff, 0xff, 0xff, 0x67, 0xda, 0xc,
+    0x0, 0x0, 0x0, 0xc8, 0x9f, 0xff, 0xff, 0xef,
+    0xfe, 0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff,
+    0xed, 0x43, 0xfe, 0xd, 0xcf, 0xff, 0xff, 0xff,
+    0x8f, 0xfe, 0xfe, 0x7f, 0xff, 0xff, 0xff, 0x67,
+    0x78, 0x0, 0x0, 0x0, 0xf2, 0xd1, 0xff, 0xff,
+    0xeb, 0x43, 0xfe, 0xfe, 0xa7, 0xff, 0xff, 0xff,
+    0x49, 0x50, 0x0, 0x0, 0x2, 0xf2, 0xbb, 0xff,
+    0xff, 0xf1, 0x39, 0xfc, 0xfe, 0xa1, 0xff, 0xff,
+    0xff, 0x49, 0x76, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xbc, 0x2b, 0x2f, 0x2f, 0x1d, 0xda,
+    0xc0, 0xfe, 0xdf, 0xff, 0xff, 0xb1, 0xd4, 0x0,
+    0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xcb, 0xfa,
+    0x24, 0x5a, 0x11, 0xf7, 0xff, 0xff, 0xa1, 0xca,
+    0x0, 0x0, 0x2a, 0x1b, 0xfd, 0xff, 0xff, 0x87,
+    0xd4, 0x12, 0xd0, 0x89, 0xff, 0xff, 0xdd, 0xdc,
+    0x0, 0x1e, 0xf, 0xfb, 0xff, 0xff, 0xa7, 0xee,
+    0x1a, 0xaa, 0x57, 0xff, 0xff, 0xff, 0x57, 0x6a,
+    0x0, 0x0, 0x4, 0xfe, 0xe3, 0xff, 0xff, 0xb5,
+    0xfe, 0xdc, 0xf8, 0x87, 0xff, 0xff, 0xf1, 0xfe,
+    0x2, 0x0, 0x0, 0x0, 0xf4, 0xd3, 0xff, 0xff,
+    0xbd, 0xe4, 0x0, 0x0, 0x0, 0x0, 0x1c, 0xd,
+    0xfb, 0xff, 0xff, 0xa7, 0xee, 0x18, 0x9c, 0x51,
+    0xff, 0xff, 0xff, 0x5b, 0x70, 0x0, 0x0, 0x0,
+    0xf4, 0xd3, 0xff, 0xff, 0xbd, 0xf2, 0x14, 0xa4,
+    0x5d, 0xff, 0xff, 0xff, 0x57, 0x60, 0x0, 0x0,
+    0x0, 0xc8, 0x9f, 0xff, 0xff, 0xef, 0xfe, 0x0,
+    0x0, 0x0, 0xb0, 0x89, 0xff, 0xff, 0xff, 0xfe,
+    0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xcd,
+    0x25, 0xf1, 0xff, 0xff, 0xaf, 0xfe, 0x36, 0x0,
+    0x0, 0x0, 0x0, 0xc8, 0x9f, 0xff, 0xff, 0xef,
+    0xfe, 0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff,
+    0xcb, 0xf8, 0x1e, 0xce, 0x87, 0xff, 0xff, 0xff,
+    0x25, 0x68, 0x4e, 0x1b, 0xff, 0xff, 0xff, 0x87,
+    0xa4, 0x0, 0x0, 0x0, 0xf2, 0xd1, 0xff, 0xff,
+    0xc1, 0xf6, 0x1c, 0x8e, 0x4f, 0xff, 0xff, 0xff,
+    0x67, 0x78, 0x0, 0x0, 0x1a, 0xb, 0xf7, 0xff,
+    0xff, 0xa3, 0xee, 0x16, 0x6e, 0x1d, 0xf7, 0xff,
+    0xff, 0x9b, 0xc0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x14, 0x90, 0xfa, 0x2d, 0x6f, 0x8d,
+    0x97, 0x99, 0xef, 0xff, 0xff, 0xb3, 0xdc, 0x0,
+    0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xcb, 0xee,
+    0x0, 0x4, 0xfa, 0xd1, 0xff, 0xff, 0xc1, 0xe4,
+    0x0, 0x0, 0x52, 0x4f, 0xff, 0xff, 0xff, 0x59,
+    0x80, 0x0, 0x52, 0xfe, 0xfe, 0xfe, 0xfe, 0xb4,
+    0x0, 0x40, 0x41, 0xff, 0xff, 0xff, 0x6f, 0xa2,
+    0x0, 0x6a, 0x57, 0xff, 0xff, 0xff, 0x57, 0x6a,
+    0x0, 0x0, 0x12, 0x11, 0xff, 0xff, 0xff, 0xd3,
+    0xad, 0xad, 0xad, 0xc9, 0xff, 0xff, 0xff, 0xb,
+    0x6, 0x0, 0x0, 0x0, 0xf4, 0xd3, 0xff, 0xff,
+    0xbd, 0xe4, 0x0, 0x0, 0x0, 0x0, 0x3e, 0x41,
+    0xff, 0xff, 0xff, 0x6f, 0xa2, 0x0, 0x64, 0x51,
+    0xff, 0xff, 0xff, 0x5b, 0x70, 0x0, 0x0, 0x0,
+    0xf4, 0xd3, 0xff, 0xff, 0xbd, 0xe4, 0x0, 0x56,
+    0x41, 0xff, 0xff, 0xff, 0x65, 0x78, 0x0, 0x0,
+    0x0, 0xc8, 0x9f, 0xff, 0xff, 0xef, 0xfe, 0x0,
+    0x0, 0x0, 0xb0, 0x89, 0xff, 0xff, 0xff, 0xfe,
+    0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xfb,
+    0xf3, 0xff, 0xff, 0xe5, 0x19, 0x7a, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0xc8, 0x9f, 0xff, 0xff, 0xef,
+    0xfe, 0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff,
+    0xcb, 0xee, 0x0, 0x9c, 0x75, 0xff, 0xff, 0xff,
+    0x29, 0x26, 0x8, 0xfe, 0xfb, 0xff, 0xff, 0x91,
+    0xb4, 0x0, 0x0, 0x0, 0xf2, 0xd1, 0xff, 0xff,
+    0xc1, 0xe8, 0x0, 0x48, 0x39, 0xff, 0xff, 0xff,
+    0x6f, 0x88, 0x0, 0x0, 0x3e, 0x3f, 0xff, 0xff,
+    0xff, 0x6d, 0xa0, 0x0, 0x8, 0xfa, 0xd5, 0xff,
+    0xff, 0xc1, 0xe4, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x8c, 0x19, 0xb5, 0xfd, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xb3, 0xdc, 0x0,
+    0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xcb, 0xee,
+    0x0, 0x0, 0xee, 0xc3, 0xff, 0xff, 0xcd, 0xec,
+    0x0, 0x0, 0x6a, 0x5f, 0xff, 0xff, 0xff, 0x47,
+    0x60, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x58, 0x51, 0xff, 0xff, 0xff, 0x59, 0x7a,
+    0x0, 0x6a, 0x57, 0xff, 0xff, 0xff, 0x57, 0x6a,
+    0x0, 0x0, 0x1c, 0x2b, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x15,
+    0xa, 0x0, 0x0, 0x0, 0xf4, 0xd3, 0xff, 0xff,
+    0xbd, 0xe4, 0x0, 0x0, 0x0, 0x0, 0x58, 0x51,
+    0xff, 0xff, 0xff, 0x59, 0x7a, 0x0, 0x64, 0x51,
+    0xff, 0xff, 0xff, 0x5b, 0x70, 0x0, 0x0, 0x0,
+    0xf4, 0xd3, 0xff, 0xff, 0xbd, 0xe4, 0x0, 0x46,
+    0x3f, 0xff, 0xff, 0xff, 0x67, 0x80, 0x0, 0x0,
+    0x0, 0xc8, 0x9f, 0xff, 0xff, 0xef, 0xfe, 0x0,
+    0x0, 0x0, 0xb0, 0x89, 0xff, 0xff, 0xff, 0xfe,
+    0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xd3, 0x5, 0x54, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0xc8, 0x9f, 0xff, 0xff, 0xef,
+    0xfe, 0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff,
+    0xcb, 0xee, 0x0, 0x94, 0x73, 0xff, 0xff, 0xff,
+    0x29, 0x2a, 0x0, 0xfe, 0xfb, 0xff, 0xff, 0x91,
+    0xb8, 0x0, 0x0, 0x0, 0xf2, 0xd1, 0xff, 0xff,
+    0xc1, 0xe8, 0x0, 0x3e, 0x39, 0xff, 0xff, 0xff,
+    0x6f, 0x8c, 0x0, 0x0, 0x54, 0x53, 0xff, 0xff,
+    0xff, 0x57, 0x7a, 0x0, 0x0, 0xf0, 0xc3, 0xff,
+    0xff, 0xcd, 0xec, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xc, 0xfc, 0xbd, 0xff, 0xff, 0xfb, 0xb5,
+    0x91, 0x8d, 0xed, 0xff, 0xff, 0xb3, 0xdc, 0x0,
+    0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xcb, 0xee,
+    0x0, 0x0, 0xf0, 0xc5, 0xff, 0xff, 0xcb, 0xec,
+    0x0, 0x0, 0x5e, 0x57, 0xff, 0xff, 0xff, 0x51,
+    0x6e, 0x0, 0x18, 0x54, 0x80, 0x92, 0x6c, 0x38,
+    0x0, 0x52, 0x4f, 0xff, 0xff, 0xff, 0x5d, 0x82,
+    0x0, 0x6a, 0x57, 0xff, 0xff, 0xff, 0x57, 0x6a,
+    0x0, 0x0, 0x18, 0x21, 0xff, 0xff, 0xff, 0xdb,
+    0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xc1, 0xf,
+    0x8, 0x0, 0x0, 0x0, 0xf4, 0xd3, 0xff, 0xff,
+    0xbd, 0xe4, 0x0, 0x0, 0x0, 0x0, 0x52, 0x4f,
+    0xff, 0xff, 0xff, 0x5d, 0x82, 0x0, 0x64, 0x51,
+    0xff, 0xff, 0xff, 0x5b, 0x70, 0x0, 0x0, 0x0,
+    0xf4, 0xd3, 0xff, 0xff, 0xbd, 0xe4, 0x0, 0x46,
+    0x3f, 0xff, 0xff, 0xff, 0x67, 0x80, 0x0, 0x0,
+    0x0, 0xc8, 0x9f, 0xff, 0xff, 0xef, 0xfe, 0x0,
+    0x0, 0x0, 0xb0, 0x89, 0xff, 0xff, 0xff, 0xfe,
+    0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xf1,
+    0xcd, 0xff, 0xff, 0xff, 0x87, 0xea, 0x12, 0x0,
+    0x0, 0x0, 0x0, 0xc8, 0x9f, 0xff, 0xff, 0xef,
+    0xfe, 0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff,
+    0xcb, 0xee, 0x0, 0x94, 0x73, 0xff, 0xff, 0xff,
+    0x29, 0x2a, 0x0, 0xfe, 0xfb, 0xff, 0xff, 0x91,
+    0xb8, 0x0, 0x0, 0x0, 0xf2, 0xd1, 0xff, 0xff,
+    0xc1, 0xe8, 0x0, 0x3e, 0x39, 0xff, 0xff, 0xff,
+    0x6f, 0x8c, 0x0, 0x0, 0x48, 0x49, 0xff, 0xff,
+    0xff, 0x65, 0x8a, 0x0, 0x0, 0xf6, 0xcf, 0xff,
+    0xff, 0xc7, 0xe8, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x2a, 0x27, 0xff, 0xff, 0xff, 0x91, 0xfc,
+    0xc8, 0xfe, 0xdd, 0xff, 0xff, 0xb3, 0xdc, 0x0,
+    0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xcb, 0xf4,
+    0x4, 0x1c, 0xfe, 0xdb, 0xff, 0xff, 0xb9, 0xde,
+    0x0, 0x0, 0x3a, 0x33, 0xff, 0xff, 0xff, 0x71,
+    0xb2, 0x0, 0x82, 0x3b, 0x77, 0x77, 0x69, 0xb6,
+    0x0, 0x34, 0x33, 0xff, 0xff, 0xff, 0x7d, 0xc4,
+    0x0, 0x7c, 0x57, 0xff, 0xff, 0xff, 0x57, 0x6a,
+    0x0, 0x0, 0xa, 0xfe, 0xf5, 0xff, 0xff, 0xab,
+    0xfe, 0xea, 0xe8, 0xe8, 0xea, 0xea, 0xd0, 0x8e,
+    0x4, 0x0, 0x0, 0x0, 0xf4, 0xd3, 0xff, 0xff,
+    0xbd, 0xe4, 0x0, 0x0, 0x0, 0x0, 0x34, 0x33,
+    0xff, 0xff, 0xff, 0x7d, 0xc4, 0x0, 0x74, 0x51,
+    0xff, 0xff, 0xff, 0x5b, 0x70, 0x0, 0x0, 0x0,
+    0xf4, 0xd3, 0xff, 0xff, 0xbd, 0xe4, 0x0, 0x46,
+    0x3f, 0xff, 0xff, 0xff, 0x67, 0x80, 0x0, 0x0,
+    0x0, 0xc8, 0x9f, 0xff, 0xff, 0xef, 0xfe, 0x0,
+    0x0, 0x0, 0xb0, 0x89, 0xff, 0xff, 0xff, 0xfe,
+    0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xcd,
+    0xfe, 0xd1, 0xff, 0xff, 0xf5, 0x31, 0x96, 0x0,
+    0x0, 0x0, 0x0, 0xc8, 0x9f, 0xff, 0xff, 0xef,
+    0xfe, 0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff,
+    0xcb, 0xee, 0x0, 0x94, 0x73, 0xff, 0xff, 0xff,
+    0x29, 0x2a, 0x0, 0xfe, 0xfb, 0xff, 0xff, 0x91,
+    0xb8, 0x0, 0x0, 0x0, 0xf2, 0xd1, 0xff, 0xff,
+    0xc1, 0xe8, 0x0, 0x3e, 0x39, 0xff, 0xff, 0xff,
+    0x6f, 0x8c, 0x0, 0x0, 0x26, 0x1f, 0xff, 0xff,
+    0xff, 0x89, 0xd0, 0x0, 0x36, 0x5, 0xeb, 0xff,
+    0xff, 0xab, 0xd2, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x32, 0x47, 0xff, 0xff, 0xff, 0x65, 0xe8,
+    0xd4, 0x13, 0xe9, 0xff, 0xff, 0xb3, 0xe2, 0x0,
+    0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xe1, 0xf,
+    0xe2, 0xee, 0x43, 0xff, 0xff, 0xff, 0x8f, 0xb4,
+    0x0, 0x0, 0x14, 0xfe, 0xe5, 0xff, 0xff, 0xbd,
+    0xfe, 0xd8, 0xfe, 0xad, 0xff, 0xff, 0xd1, 0xce,
+    0x0, 0x14, 0xfe, 0xef, 0xff, 0xff, 0xcd, 0x5,
+    0xde, 0xfa, 0x7b, 0xff, 0xff, 0xff, 0x57, 0x6a,
+    0x0, 0x0, 0x0, 0xf2, 0xc1, 0xff, 0xff, 0xf5,
+    0x39, 0xf0, 0xbe, 0xd4, 0xfc, 0x3b, 0xf4, 0x10,
+    0x0, 0x0, 0x0, 0x0, 0xf4, 0xd3, 0xff, 0xff,
+    0xbd, 0xe4, 0x0, 0x0, 0x0, 0x0, 0x14, 0xfe,
+    0xed, 0xff, 0xff, 0xcd, 0x5, 0xdc, 0xf8, 0x71,
+    0xff, 0xff, 0xff, 0x5b, 0x70, 0x0, 0x0, 0x0,
+    0xf4, 0xd3, 0xff, 0xff, 0xbd, 0xe4, 0x0, 0x46,
+    0x3f, 0xff, 0xff, 0xff, 0x67, 0x80, 0x0, 0x0,
+    0x0, 0xc8, 0x9f, 0xff, 0xff, 0xef, 0xfe, 0x0,
+    0x0, 0x0, 0xb0, 0x89, 0xff, 0xff, 0xff, 0xfe,
+    0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xcd,
+    0xfa, 0x47, 0xfb, 0xff, 0xff, 0xc3, 0xfe, 0x3e,
+    0x0, 0x0, 0x0, 0xc8, 0x9f, 0xff, 0xff, 0xef,
+    0xfe, 0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff,
+    0xcb, 0xee, 0x0, 0x94, 0x73, 0xff, 0xff, 0xff,
+    0x29, 0x2a, 0x0, 0xfe, 0xfb, 0xff, 0xff, 0x91,
+    0xb8, 0x0, 0x0, 0x0, 0xf2, 0xd1, 0xff, 0xff,
+    0xc1, 0xe8, 0x0, 0x3e, 0x39, 0xff, 0xff, 0xff,
+    0x6f, 0x8c, 0x0, 0x0, 0x8, 0xfc, 0xd5, 0xff,
+    0xff, 0xd7, 0x5, 0xd6, 0xf2, 0x69, 0xff, 0xff,
+    0xff, 0x6d, 0x94, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x28, 0x21, 0xff, 0xff, 0xff, 0xd9, 0x73,
+    0x81, 0xd9, 0xff, 0xff, 0xff, 0xbf, 0xec, 0x0,
+    0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xff, 0xd9,
+    0x95, 0xa1, 0xed, 0xff, 0xff, 0xfb, 0x35, 0x64,
+    0x0, 0x0, 0x0, 0xd4, 0x8b, 0xff, 0xff, 0xff,
+    0xbf, 0x8d, 0xb5, 0xff, 0xff, 0xff, 0x8d, 0xc2,
+    0x0, 0x0, 0xe6, 0xa7, 0xff, 0xff, 0xff, 0xcd,
+    0x93, 0xaf, 0xfb, 0xff, 0xff, 0xff, 0x57, 0x6a,
+    0x0, 0x0, 0x0, 0x9e, 0x55, 0xff, 0xff, 0xff,
+    0xf1, 0xa1, 0x87, 0x97, 0xcd, 0xfd, 0x2f, 0x5c,
+    0x0, 0x0, 0x0, 0x0, 0xf4, 0xd3, 0xff, 0xff,
+    0xbd, 0xe4, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe4,
+    0xa5, 0xff, 0xff, 0xff, 0xcd, 0x93, 0xab, 0xf9,
+    0xff, 0xff, 0xff, 0x5b, 0x70, 0x0, 0x0, 0x0,
+    0xf4, 0xd3, 0xff, 0xff, 0xbd, 0xe4, 0x0, 0x46,
+    0x3f, 0xff, 0xff, 0xff, 0x67, 0x80, 0x0, 0x0,
+    0x0, 0xc8, 0x9f, 0xff, 0xff, 0xef, 0xfe, 0x0,
+    0x0, 0x0, 0xb0, 0x89, 0xff, 0xff, 0xff, 0xfe,
+    0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xcd,
+    0xf2, 0xf8, 0xa3, 0xff, 0xff, 0xff, 0x71, 0xdc,
+    0xa, 0x0, 0x0, 0xc8, 0x9f, 0xff, 0xff, 0xef,
+    0xfe, 0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff,
+    0xcb, 0xee, 0x0, 0x94, 0x73, 0xff, 0xff, 0xff,
+    0x29, 0x2a, 0x0, 0xfe, 0xfb, 0xff, 0xff, 0x91,
+    0xb8, 0x0, 0x0, 0x0, 0xf2, 0xd1, 0xff, 0xff,
+    0xc1, 0xe8, 0x0, 0x3e, 0x39, 0xff, 0xff, 0xff,
+    0x6f, 0x8c, 0x0, 0x0, 0x0, 0xba, 0x6f, 0xff,
+    0xff, 0xff, 0xcd, 0x89, 0x9d, 0xf3, 0xff, 0xff,
+    0xe1, 0x9, 0x3a, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xa, 0xfc, 0xbb, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xfb, 0xe5, 0xff, 0xff, 0xd7, 0xfc, 0x8,
+    0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xe3, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0x9f, 0xf6, 0x14,
+    0x0, 0x0, 0x0, 0x54, 0xb, 0xcb, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xcf, 0xf, 0x58,
+    0x0, 0x0, 0x76, 0x27, 0xeb, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xe9, 0xfd, 0xff, 0xff, 0x57, 0x6a,
+    0x0, 0x0, 0x0, 0x28, 0xfa, 0x91, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x87, 0x64,
+    0x0, 0x0, 0x0, 0x0, 0xf4, 0xd3, 0xff, 0xff,
+    0xbd, 0xe4, 0x0, 0x0, 0x0, 0x0, 0x0, 0x72,
+    0x23, 0xe9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfb,
+    0xff, 0xff, 0xff, 0x5b, 0x6e, 0x0, 0x0, 0x0,
+    0xf4, 0xd3, 0xff, 0xff, 0xbd, 0xe4, 0x0, 0x46,
+    0x3f, 0xff, 0xff, 0xff, 0x67, 0x80, 0x0, 0x0,
+    0x0, 0xc8, 0x9f, 0xff, 0xff, 0xef, 0xfe, 0x0,
+    0x0, 0x0, 0xb0, 0x89, 0xff, 0xff, 0xff, 0xfe,
+    0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xcd,
+    0xf0, 0x70, 0x19, 0xe9, 0xff, 0xff, 0xed, 0x21,
+    0x80, 0x0, 0x0, 0xc8, 0x9f, 0xff, 0xff, 0xef,
+    0xfe, 0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff,
+    0xcb, 0xee, 0x0, 0x94, 0x73, 0xff, 0xff, 0xff,
+    0x29, 0x2a, 0x0, 0xfe, 0xfb, 0xff, 0xff, 0x91,
+    0xb8, 0x0, 0x0, 0x0, 0xf2, 0xd1, 0xff, 0xff,
+    0xc1, 0xe8, 0x0, 0x3e, 0x39, 0xff, 0xff, 0xff,
+    0x6f, 0x8c, 0x0, 0x0, 0x0, 0x3c, 0xfe, 0xad,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xf3,
+    0x4b, 0xc2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xf4, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
+    0xfe, 0xfe, 0xfe, 0xfe, 0x8c, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x8a, 0x1d, 0xb9, 0xff, 0xff, 0xff,
+    0xe9, 0x67, 0x8b, 0xff, 0xff, 0xfd, 0x1f, 0x8,
+    0x0, 0x0, 0xce, 0xc3, 0xff, 0xff, 0x77, 0x97,
+    0xf9, 0xff, 0xff, 0xf5, 0x99, 0x5, 0x66, 0x0,
+    0x0, 0x0, 0x0, 0x2, 0x9a, 0x11, 0x9d, 0xf1,
+    0xff, 0xff, 0xff, 0xf3, 0x9d, 0x13, 0xa2, 0x4,
+    0x0, 0x0, 0xc, 0xd0, 0x3d, 0xcd, 0xff, 0xff,
+    0xff, 0xd9, 0x3f, 0xe3, 0xff, 0xff, 0x57, 0x4c,
+    0x0, 0x0, 0x0, 0x0, 0x58, 0xfe, 0x6d, 0xdb,
+    0xff, 0xff, 0xff, 0xff, 0xeb, 0xa1, 0x23, 0x58,
+    0x0, 0x0, 0x0, 0x0, 0xe0, 0xd3, 0xff, 0xff,
+    0xbd, 0xc8, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc,
+    0xce, 0x39, 0xcb, 0xff, 0xff, 0xff, 0xdf, 0x81,
+    0xff, 0xff, 0xff, 0x59, 0x64, 0x0, 0x0, 0x0,
+    0xe0, 0xd3, 0xff, 0xff, 0xbd, 0xc8, 0x0, 0x30,
+    0x3f, 0xff, 0xff, 0xff, 0x67, 0x60, 0x0, 0x0,
+    0x0, 0xa4, 0x9f, 0xff, 0xff, 0xef, 0xf6, 0x0,
+    0x0, 0x0, 0xb2, 0x89, 0xff, 0xff, 0xff, 0xfe,
+    0x0, 0x0, 0x0, 0xce, 0xc3, 0xff, 0xff, 0xcd,
+    0xd8, 0x6, 0xd4, 0x6d, 0xff, 0xff, 0xff, 0xb1,
+    0x80, 0x0, 0x0, 0xa4, 0x9f, 0xff, 0xff, 0xef,
+    0xf6, 0x0, 0x0, 0x0, 0xce, 0xc3, 0xff, 0xff,
+    0xcb, 0xd6, 0x0, 0x70, 0x73, 0xff, 0xff, 0xff,
+    0x29, 0x1c, 0x0, 0xfe, 0xfb, 0xff, 0xff, 0x91,
+    0x94, 0x0, 0x0, 0x0, 0xdc, 0xd1, 0xff, 0xff,
+    0xc1, 0xcc, 0x0, 0x2a, 0x39, 0xff, 0xff, 0xff,
+    0x6f, 0x68, 0x0, 0x0, 0x0, 0x0, 0x76, 0xfe,
+    0x83, 0xe5, 0xff, 0xff, 0xff, 0xfb, 0xc1, 0x3f,
+    0xe0, 0x22, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xfe, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xc1, 0xcc, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x8, 0x88, 0xfa, 0x25, 0x53, 0x45,
+    0x9, 0xe0, 0xfe, 0xfe, 0xfe, 0xfe, 0xf2, 0x8,
+    0x0, 0x0, 0x90, 0xfe, 0xfe, 0xfe, 0xfe, 0xf4,
+    0x1d, 0x4f, 0x49, 0x11, 0xea, 0x60, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x4, 0x66, 0xe4, 0x5,
+    0x3f, 0x55, 0x45, 0xb, 0xe8, 0x68, 0x4, 0x0,
+    0x0, 0x0, 0x0, 0x18, 0xa4, 0xfc, 0x2d, 0x53,
+    0x3d, 0xfe, 0xec, 0xfe, 0xfe, 0xfe, 0xfe, 0x2a,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x3a, 0xc2, 0xfe,
+    0x2d, 0x51, 0x51, 0x31, 0xfe, 0xe2, 0x70, 0xc,
+    0x0, 0x0, 0x0, 0x0, 0xa6, 0xfe, 0xfe, 0xfe,
+    0xfe, 0x88, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x1e, 0xa6, 0xfc, 0x2d, 0x53, 0x41, 0xfe, 0x73,
+    0xff, 0xff, 0xff, 0x43, 0x42, 0x0, 0x0, 0x0,
+    0xa6, 0xfe, 0xfe, 0xfe, 0xfe, 0x88, 0x0, 0x1a,
+    0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0x36, 0x0, 0x0,
+    0x0, 0x68, 0xfe, 0xfe, 0xfe, 0xfe, 0xd2, 0x0,
+    0x0, 0x0, 0xc2, 0x8d, 0xff, 0xff, 0xff, 0xfe,
+    0x0, 0x0, 0x0, 0x90, 0xfe, 0xfe, 0xfe, 0xfe,
+    0x9c, 0x0, 0x3a, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
+    0x7c, 0x0, 0x0, 0x68, 0xfe, 0xfe, 0xfe, 0xfe,
+    0xd2, 0x0, 0x0, 0x0, 0x90, 0xfe, 0xfe, 0xfe,
+    0xfe, 0x98, 0x0, 0x40, 0xfe, 0xfe, 0xfe, 0xfe,
+    0xfe, 0xe, 0x0, 0xec, 0xfe, 0xfe, 0xfe, 0xfe,
+    0x5a, 0x0, 0x0, 0x0, 0xa2, 0xfe, 0xfe, 0xfe,
+    0xfe, 0x8c, 0x0, 0x16, 0xfe, 0xfe, 0xfe, 0xfe,
+    0xfe, 0x3c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4c,
+    0xd4, 0xfe, 0x35, 0x53, 0x49, 0x1b, 0xf8, 0x98,
+    0x1a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xfe, 0xfd, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xc1, 0xda, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xc, 0x30, 0x48, 0x40,
+    0x1e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8,
+    0x2c, 0x46, 0x42, 0x24, 0x4, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1a,
+    0x3e, 0x54, 0x42, 0x1e, 0x2, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x34, 0x48,
+    0x3c, 0x1a, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10,
+    0x32, 0x50, 0x52, 0x36, 0x12, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x5a, 0x21, 0x15, 0xf6, 0xde, 0xe8, 0xb, 0xcf,
+    0xff, 0xff, 0xf3, 0xb, 0x1e, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x7a, 0xbe, 0xfe, 0xb1, 0xff, 0xff, 0xef, 0xfe,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x14, 0x38, 0x50, 0x48, 0x26, 0x8, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xf8, 0xa7, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9, 0xa9,
+    0xa9, 0xa9, 0xa9, 0x7f, 0xac, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xba, 0x8d, 0xf3, 0xb9, 0x9b, 0x9d, 0xdb, 0xff,
+    0xff, 0xff, 0xa1, 0xea, 0x2, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc,
+    0x5, 0xb1, 0xb9, 0xfd, 0xff, 0xff, 0xbf, 0xee,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x70, 0xb0, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4, 0xd4,
+    0xd4, 0xd4, 0xc8, 0x9a, 0x48, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xc2, 0xc7, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xcd, 0x13, 0x6c, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20,
+    0x23, 0xff, 0xff, 0xff, 0xff, 0xf9, 0x4d, 0x9a,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xa4, 0x55, 0xb1, 0xef, 0xff, 0xff, 0xfd, 0xdb,
+    0x89, 0xb, 0x9e, 0x4, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x20,
+    0x37, 0xff, 0xff, 0xff, 0xd5, 0x57, 0xf0, 0x22,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x28, 0x90, 0xea, 0xfe, 0x21, 0x2d, 0x11, 0xfc,
+    0xc8, 0x52, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x16,
+    0xfa, 0x1b, 0x35, 0x1b, 0xfc, 0xb4, 0x2a, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0xa, 0x1a, 0x1c, 0x14, 0x4,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x8, 0x1a, 0x22, 0x1a, 0x8, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x26,
+    0x86, 0x86, 0x72, 0x2, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x8, 0x76,
+    0x84, 0x80, 0x1e, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0x7a, 0xfe,
+    0x51, 0xa9, 0xd, 0x3a, 0x0, 0x0, 0x0, 0xa,
+    0x16, 0x16, 0xc, 0x0, 0x0, 0x0, 0x4e, 0x1f,
+    0xa7, 0x45, 0xfa, 0x68, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x62, 0xb, 0xb1,
+    0xff, 0xff, 0x69, 0x4e, 0x0, 0x0, 0x0, 0xec,
+    0x21, 0x23, 0x5, 0x10, 0x0, 0x0, 0x64, 0x7d,
+    0xff, 0xff, 0x9f, 0xfe, 0x4c, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x2, 0xaa,
+    0xe2, 0xf6, 0xe8, 0xbc, 0x3a, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x6, 0xe6, 0x99, 0xff,
+    0xff, 0xd9, 0x3f, 0x4c, 0x0, 0x0, 0x0, 0xfe,
+    0xfb, 0xff, 0x2f, 0x20, 0x0, 0x0, 0x60, 0x49,
+    0xe1, 0xff, 0xff, 0x83, 0xd4, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x4, 0xb,
+    0xd7, 0xd7, 0xd7, 0x6d, 0x76, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x2c, 0x17, 0xf1, 0xff,
+    0xff, 0x37, 0xba, 0x1a, 0x0, 0x0, 0x0, 0xfe,
+    0xfb, 0xff, 0x2f, 0x2e, 0x0, 0x0, 0x20, 0xca,
+    0x4f, 0xff, 0xff, 0xe7, 0x9, 0x16, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xd,
+    0xff, 0xff, 0xff, 0x83, 0x9e, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x60, 0x53, 0xff, 0xff,
+    0xdd, 0xfe, 0x16, 0x0, 0x0, 0x0, 0x0, 0xfe,
+    0xfb, 0xff, 0x2f, 0x2e, 0x0, 0x0, 0x0, 0x24,
+    0xfe, 0xed, 0xff, 0xff, 0x39, 0x40, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x5e, 0xb8, 0xe0, 0xdc, 0xb6, 0xb6, 0xea,
+    0xf8, 0xf8, 0xe0, 0x88, 0x16, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x48, 0xbc, 0xf0, 0xfa,
+    0xf6, 0xd0, 0xa6, 0xc4, 0xe4, 0xd2, 0x9a, 0x16,
+    0x0, 0x0, 0x0, 0x5e, 0xb8, 0xe0, 0xdc, 0xb8,
+    0xbc, 0xec, 0xf0, 0xda, 0x46, 0x0, 0x0, 0x0,
+    0x4, 0x54, 0xbe, 0xf0, 0xfa, 0xfc, 0xf6, 0xd6,
+    0x80, 0x1a, 0x0, 0x0, 0x0, 0x64, 0xbc, 0xd,
+    0xff, 0xff, 0xff, 0x83, 0xf4, 0xb2, 0x4e, 0x0,
+    0x0, 0x6a, 0xbe, 0xe2, 0xde, 0xb6, 0x56, 0x0,
+    0x10, 0x98, 0xd2, 0xea, 0xd6, 0xa0, 0x24, 0x0,
+    0x0, 0x5e, 0xba, 0xe0, 0xe6, 0xc4, 0x78, 0x0,
+    0x0, 0x4e, 0xb2, 0xdc, 0xe8, 0xca, 0x86, 0x0,
+    0x4c, 0xb2, 0xdc, 0xde, 0xb4, 0x52, 0x0, 0x38,
+    0xa8, 0xd8, 0xd0, 0x92, 0x6, 0x2, 0x8e, 0xce,
+    0xea, 0xd4, 0x9a, 0x18, 0x0, 0x3a, 0xaa, 0xda,
+    0xea, 0xd8, 0xa4, 0x2e, 0xa, 0x92, 0xd0, 0xea,
+    0xe2, 0xbe, 0x68, 0x0, 0x72, 0xc2, 0xe4, 0xe4,
+    0xc2, 0x74, 0x0, 0x0, 0x4e, 0xb2, 0xde, 0xea,
+    0xd0, 0x94, 0xa, 0x0, 0x86, 0xca, 0xe8, 0xea,
+    0xea, 0xea, 0xea, 0xea, 0xea, 0xea, 0xd4, 0x9c,
+    0x1c, 0x0, 0x0, 0x0, 0x88, 0x73, 0xff, 0xff,
+    0xcb, 0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe,
+    0xfb, 0xff, 0x2f, 0x2e, 0x0, 0x0, 0x0, 0x0,
+    0xfa, 0xdb, 0xff, 0xff, 0x5d, 0x68, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xb8, 0x95, 0xc3, 0xc3, 0x75, 0x49, 0xc3,
+    0xeb, 0xe3, 0xb3, 0x39, 0xe2, 0x20, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x7a, 0xfe, 0x7d, 0xd1, 0xeb,
+    0xdf, 0x93, 0xb, 0xad, 0xc3, 0xc3, 0x37, 0x32,
+    0x0, 0x0, 0x0, 0xb8, 0x95, 0xc3, 0xc3, 0x79,
+    0x43, 0xc9, 0xeb, 0x7b, 0x74, 0x0, 0x0, 0xc,
+    0xb2, 0x11, 0x89, 0xcf, 0xe9, 0xed, 0xd9, 0xa9,
+    0x3f, 0xf2, 0x40, 0x0, 0x0, 0xc4, 0x9d, 0xc5,
+    0xff, 0xff, 0xff, 0xdb, 0xc3, 0x83, 0xa0, 0x0,
+    0x0, 0xca, 0xa1, 0xc3, 0xc3, 0x8d, 0xae, 0x0,
+    0x28, 0x2f, 0xc3, 0xc3, 0xc3, 0x4f, 0x52, 0x0,
+    0x0, 0x90, 0x97, 0xc3, 0xc3, 0xaf, 0xfc, 0xe,
+    0x0, 0xc6, 0x83, 0xc3, 0xc3, 0xbb, 0xb, 0x0,
+    0x7c, 0x83, 0xc3, 0xc3, 0x89, 0xc6, 0x0, 0xa6,
+    0x6b, 0xc3, 0xc3, 0x17, 0x3c, 0x22, 0xb, 0xc1,
+    0xc3, 0xc3, 0x3f, 0x1c, 0x0, 0x40, 0x73, 0xc3,
+    0xc3, 0xc3, 0x5b, 0xb0, 0x64, 0x21, 0xc1, 0xc3,
+    0xc3, 0xa1, 0x84, 0x0, 0xaa, 0xa9, 0xc3, 0xc3,
+    0xab, 0xfc, 0x10, 0x0, 0xd0, 0x85, 0xc3, 0xc3,
+    0xc3, 0x27, 0xa, 0x0, 0xee, 0xbb, 0xc3, 0xc3,
+    0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0xc3, 0x41,
+    0x40, 0x0, 0x0, 0x0, 0x98, 0x7b, 0xff, 0xff,
+    0xc7, 0xee, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe,
+    0xfb, 0xff, 0x2f, 0x2e, 0x0, 0x0, 0x0, 0x0,
+    0xf6, 0xd7, 0xff, 0xff, 0x67, 0x7c, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xe0, 0xc3, 0xff, 0xff, 0xcf, 0xf7, 0xff,
+    0xff, 0xff, 0xff, 0xf3, 0x49, 0xba, 0x0, 0x0,
+    0x0, 0x0, 0x38, 0xfe, 0xb1, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xbb, 0xfb, 0xff, 0xff, 0x49, 0x4c,
+    0x0, 0x0, 0x0, 0xe0, 0xc3, 0xff, 0xff, 0xb9,
+    0xeb, 0xff, 0xff, 0x75, 0x8c, 0x0, 0x0, 0x7c,
+    0x23, 0xd9, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xfb, 0x73, 0xec, 0x10, 0x0, 0xdc, 0xcd, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xad, 0xbe, 0x0,
+    0x0, 0xec, 0xd3, 0xff, 0xff, 0xbb, 0xd8, 0x0,
+    0x3e, 0x3f, 0xff, 0xff, 0xff, 0x67, 0x76, 0x0,
+    0x0, 0x98, 0x87, 0xff, 0xff, 0xff, 0x2b, 0x4e,
+    0xc, 0xfc, 0xd9, 0xff, 0xff, 0xc1, 0xd6, 0x0,
+    0x86, 0x7b, 0xff, 0xff, 0xd7, 0xfa, 0x6, 0xf4,
+    0xc1, 0xff, 0xff, 0x69, 0x96, 0x64, 0x4b, 0xff,
+    0xff, 0xf7, 0xf, 0x1c, 0x0, 0x40, 0x1d, 0xeb,
+    0xff, 0xff, 0xcf, 0xfe, 0xe8, 0x97, 0xff, 0xff,
+    0xff, 0x5d, 0x84, 0x0, 0xb4, 0x9f, 0xff, 0xff,
+    0xff, 0x2d, 0x54, 0x1a, 0xfe, 0xe3, 0xff, 0xff,
+    0xd7, 0xe6, 0xa, 0x0, 0xfc, 0xf5, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x57,
+    0x4c, 0x0, 0x0, 0x0, 0xa2, 0x7b, 0xff, 0xff,
+    0xc7, 0xea, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe,
+    0xfb, 0xff, 0x2f, 0x2e, 0x0, 0x0, 0x0, 0x0,
+    0xf4, 0xd7, 0xff, 0xff, 0x67, 0x86, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xea, 0xc3, 0xff, 0xff, 0xff, 0xfd, 0xd9,
+    0xe5, 0xff, 0xff, 0xff, 0xdb, 0x5, 0x2e, 0x0,
+    0x0, 0x0, 0xb0, 0x6b, 0xff, 0xff, 0xff, 0xf7,
+    0xcf, 0xe9, 0xff, 0xff, 0xff, 0xff, 0x49, 0x54,
+    0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0x57, 0x64, 0x0, 0x0, 0xe2,
+    0xad, 0xff, 0xff, 0xf7, 0xa7, 0x9b, 0xe5, 0xff,
+    0xff, 0xf7, 0x2f, 0x54, 0x0, 0xc6, 0xa1, 0xcb,
+    0xff, 0xff, 0xff, 0xdf, 0xcb, 0x89, 0xa2, 0x0,
+    0x0, 0xf4, 0xd3, 0xff, 0xff, 0xbb, 0xe2, 0x0,
+    0x46, 0x3f, 0xff, 0xff, 0xff, 0x67, 0x80, 0x0,
+    0x0, 0x5a, 0x2d, 0xfd, 0xff, 0xff, 0x79, 0xa6,
+    0x48, 0x25, 0xff, 0xff, 0xff, 0x75, 0xaa, 0x0,
+    0x52, 0x31, 0xff, 0xff, 0xf9, 0xf, 0x50, 0xd,
+    0xf5, 0xff, 0xff, 0xad, 0xe6, 0xaa, 0x81, 0xff,
+    0xff, 0xcb, 0xf8, 0x4, 0x0, 0x8, 0xd8, 0x73,
+    0xff, 0xff, 0xff, 0x55, 0x19, 0xf1, 0xff, 0xff,
+    0xb9, 0xfe, 0x2e, 0x0, 0x78, 0x45, 0xff, 0xff,
+    0xff, 0x7d, 0xb0, 0x68, 0x3f, 0xff, 0xff, 0xff,
+    0x8b, 0xca, 0x0, 0x0, 0xf8, 0xef, 0xfb, 0xfb,
+    0xfb, 0xfb, 0xfb, 0xff, 0xff, 0xff, 0xf3, 0x2d,
+    0x38, 0x0, 0x0, 0x0, 0xc2, 0x87, 0xff, 0xff,
+    0xbd, 0xe0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe,
+    0xfb, 0xff, 0x2f, 0x2e, 0x0, 0x0, 0x0, 0x0,
+    0xec, 0xcd, 0xff, 0xff, 0x73, 0xaa, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x48, 0xa6, 0xd0, 0xd0,
+    0x9e, 0x42, 0x2, 0x0, 0x2, 0x18, 0x1a, 0x18,
+    0x2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xea, 0xc3, 0xff, 0xff, 0xf3, 0x49, 0xfe,
+    0xfe, 0xa5, 0xff, 0xff, 0xff, 0x5d, 0x82, 0x0,
+    0x0, 0x4, 0xf8, 0xcb, 0xff, 0xff, 0xef, 0x33,
+    0xfc, 0x9, 0xaf, 0xff, 0xff, 0xff, 0x49, 0x54,
+    0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xff,
+    0xbb, 0x77, 0x75, 0x1d, 0x30, 0x0, 0x0, 0xf8,
+    0xe9, 0xff, 0xff, 0x8f, 0xfc, 0xea, 0x39, 0xff,
+    0xff, 0xff, 0x7d, 0x5c, 0x0, 0x6a, 0xc4, 0xd,
+    0xff, 0xff, 0xff, 0x83, 0xf4, 0xb8, 0x52, 0x0,
+    0x0, 0xf4, 0xd3, 0xff, 0xff, 0xbb, 0xe2, 0x0,
+    0x46, 0x3f, 0xff, 0xff, 0xff, 0x67, 0x80, 0x0,
+    0x0, 0x10, 0xfc, 0xcd, 0xff, 0xff, 0xb5, 0xea,
+    0x9c, 0x73, 0xff, 0xff, 0xf7, 0x19, 0x44, 0x0,
+    0x12, 0xfe, 0xe3, 0xff, 0xff, 0x4d, 0xb8, 0x5f,
+    0xff, 0xff, 0xff, 0xe7, 0xfe, 0xe2, 0xad, 0xff,
+    0xff, 0x93, 0xc8, 0x0, 0x0, 0x0, 0x3e, 0xfe,
+    0xc9, 0xff, 0xff, 0xc3, 0x8d, 0xff, 0xff, 0xf3,
+    0x2d, 0x8a, 0x0, 0x0, 0x1e, 0xfe, 0xdb, 0xff,
+    0xff, 0xbf, 0xf4, 0xc6, 0x8f, 0xff, 0xff, 0xfd,
+    0x2d, 0x60, 0x0, 0x0, 0xd2, 0xfc, 0xfe, 0xfe,
+    0xfe, 0xfe, 0x97, 0xff, 0xff, 0xff, 0x6d, 0xe4,
+    0x10, 0x0, 0x26, 0x98, 0xfe, 0xbb, 0xff, 0xff,
+    0x95, 0xb8, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe,
+    0xfb, 0xff, 0x2f, 0x2e, 0x0, 0x0, 0x0, 0x0,
+    0xce, 0xa7, 0xff, 0xff, 0xa9, 0xfc, 0x8c, 0x1e,
+    0x0, 0x0, 0x0, 0x86, 0x9, 0x7d, 0xb7, 0xb1,
+    0x77, 0xb, 0xbc, 0x1c, 0x26, 0xd, 0x39, 0xb,
+    0xf2, 0x2e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xea, 0xc3, 0xff, 0xff, 0xcb, 0xfa, 0x20,
+    0x74, 0x23, 0xfb, 0xff, 0xff, 0x9f, 0xc6, 0x0,
+    0x0, 0x1e, 0xf, 0xfb, 0xff, 0xff, 0xa5, 0xec,
+    0x14, 0xa6, 0x5f, 0xff, 0xff, 0xff, 0x49, 0x54,
+    0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xd9,
+    0xfe, 0xba, 0x74, 0x46, 0x8, 0x0, 0x0, 0xf8,
+    0xeb, 0xff, 0xff, 0xb3, 0x5, 0xea, 0xfe, 0x41,
+    0x43, 0x43, 0x25, 0x50, 0x0, 0x0, 0x6, 0xd,
+    0xff, 0xff, 0xff, 0x83, 0xa6, 0x0, 0x0, 0x0,
+    0x0, 0xf4, 0xd3, 0xff, 0xff, 0xbb, 0xe2, 0x0,
+    0x46, 0x3f, 0xff, 0xff, 0xff, 0x67, 0x80, 0x0,
+    0x0, 0x0, 0xbc, 0x83, 0xff, 0xff, 0xe9, 0xfe,
+    0xe6, 0xaf, 0xff, 0xff, 0xbd, 0xf6, 0x6, 0x0,
+    0x0, 0xe6, 0xb1, 0xff, 0xff, 0x83, 0xf4, 0xa5,
+    0xff, 0xff, 0xff, 0xff, 0x41, 0xfc, 0xd7, 0xff,
+    0xff, 0x55, 0x76, 0x0, 0x0, 0x0, 0x0, 0xa2,
+    0x3d, 0xf9, 0xff, 0xff, 0xf1, 0xff, 0xff, 0x89,
+    0xe8, 0x10, 0x0, 0x0, 0x0, 0xd0, 0x91, 0xff,
+    0xff, 0xf5, 0xd, 0xfc, 0xcf, 0xff, 0xff, 0xcb,
+    0xfc, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10,
+    0xda, 0x5d, 0xfd, 0xff, 0xff, 0xa7, 0xfe, 0x3a,
+    0x0, 0x0, 0x70, 0x51, 0xbb, 0xff, 0xff, 0xef,
+    0x2d, 0x68, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe,
+    0xfb, 0xff, 0x2f, 0x2e, 0x0, 0x0, 0x0, 0x0,
+    0x7e, 0x3d, 0xf5, 0xff, 0xff, 0xb3, 0x45, 0x5a,
+    0x0, 0x0, 0x30, 0xfe, 0xbb, 0xff, 0xff, 0xff,
+    0xff, 0xdd, 0x43, 0xee, 0xca, 0x4f, 0xff, 0xfb,
+    0x5b, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xea, 0xc3, 0xff, 0xff, 0xcb, 0xee, 0x0,
+    0xc, 0xfc, 0xd7, 0xff, 0xff, 0xbf, 0xe4, 0x0,
+    0x0, 0x40, 0x41, 0xff, 0xff, 0xff, 0x6f, 0xa2,
+    0x0, 0x76, 0x5f, 0xff, 0xff, 0xff, 0x49, 0x54,
+    0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xcb,
+    0xf2, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe2,
+    0xad, 0xff, 0xff, 0xff, 0xe7, 0xb1, 0x7b, 0x2d,
+    0xfc, 0xac, 0x38, 0xc, 0x0, 0x0, 0x6, 0xd,
+    0xff, 0xff, 0xff, 0x83, 0xa6, 0x0, 0x0, 0x0,
+    0x0, 0xf4, 0xd3, 0xff, 0xff, 0xbb, 0xe2, 0x0,
+    0x46, 0x3f, 0xff, 0xff, 0xff, 0x67, 0x80, 0x0,
+    0x0, 0x0, 0x56, 0x27, 0xfb, 0xff, 0xff, 0x41,
+    0xfe, 0xe3, 0xff, 0xff, 0x6f, 0xa4, 0x0, 0x0,
+    0x0, 0xa2, 0x77, 0xff, 0xff, 0xb1, 0xfe, 0xdf,
+    0xff, 0xd1, 0xff, 0xff, 0x8d, 0xf, 0xf9, 0xff,
+    0xf5, 0xb, 0x28, 0x0, 0x0, 0x0, 0x0, 0x1a,
+    0xf4, 0x9b, 0xff, 0xff, 0xff, 0xff, 0xd9, 0x9,
+    0x52, 0x0, 0x0, 0x0, 0x0, 0x64, 0x31, 0xff,
+    0xff, 0xff, 0x5f, 0x21, 0xfb, 0xff, 0xff, 0x7f,
+    0xba, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xa2,
+    0x2d, 0xed, 0xff, 0xff, 0xd5, 0xf, 0x72, 0x0,
+    0x0, 0x0, 0x9e, 0x8d, 0xff, 0xff, 0xeb, 0x43,
+    0xea, 0x10, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe,
+    0xfb, 0xff, 0x2f, 0x2e, 0x0, 0x0, 0x0, 0x0,
+    0x1a, 0xf2, 0x4d, 0xed, 0xff, 0xff, 0x7b, 0x84,
+    0x0, 0x0, 0x92, 0x5f, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xf5, 0x85, 0x4d, 0xcb, 0xff, 0xff,
+    0x39, 0x40, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xea, 0xc3, 0xff, 0xff, 0xcb, 0xee, 0x0,
+    0x0, 0xf0, 0xc5, 0xff, 0xff, 0xcd, 0xec, 0x0,
+    0x0, 0x58, 0x51, 0xff, 0xff, 0xff, 0x59, 0x7a,
+    0x0, 0x76, 0x5f, 0xff, 0xff, 0xff, 0x49, 0x54,
+    0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xcb,
+    0xee, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x78,
+    0x19, 0xbf, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfd,
+    0xbf, 0x33, 0xcc, 0x8, 0x0, 0x0, 0x6, 0xd,
+    0xff, 0xff, 0xff, 0x83, 0xa6, 0x0, 0x0, 0x0,
+    0x0, 0xf4, 0xd3, 0xff, 0xff, 0xbb, 0xe2, 0x0,
+    0x46, 0x3f, 0xff, 0xff, 0xff, 0x67, 0x80, 0x0,
+    0x0, 0x0, 0xc, 0xfa, 0xc9, 0xff, 0xff, 0x89,
+    0x35, 0xff, 0xff, 0xf5, 0x13, 0x3e, 0x0, 0x0,
+    0x0, 0x4e, 0x2d, 0xff, 0xff, 0xd9, 0x35, 0xff,
+    0xff, 0x7d, 0xd5, 0xff, 0xcb, 0x4f, 0xff, 0xff,
+    0xc7, 0xf6, 0x2, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x94, 0x17, 0xf7, 0xff, 0xff, 0xff, 0x6b, 0xe4,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x12, 0xfc, 0xcf,
+    0xff, 0xff, 0xa5, 0x75, 0xff, 0xff, 0xf9, 0x21,
+    0x50, 0x0, 0x0, 0x0, 0x0, 0x0, 0x64, 0x9,
+    0xcd, 0xff, 0xff, 0xf3, 0x37, 0xb0, 0x4, 0x0,
+    0x0, 0x0, 0x8c, 0x89, 0xff, 0xff, 0xff, 0xa7,
+    0xfe, 0x34, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe,
+    0xfb, 0xff, 0x2f, 0x2e, 0x0, 0x0, 0x0, 0x0,
+    0x46, 0x5, 0xb5, 0xff, 0xff, 0xff, 0x77, 0x74,
+    0x0, 0x0, 0xc4, 0xaf, 0xff, 0xf9, 0x5d, 0x41,
+    0xb3, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xd3,
+    0xfe, 0x16, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xea, 0xc3, 0xff, 0xff, 0xcb, 0xee, 0x0,
+    0x0, 0xf4, 0xcb, 0xff, 0xff, 0xcb, 0xec, 0x0,
+    0x0, 0x52, 0x4f, 0xff, 0xff, 0xff, 0x5d, 0x82,
+    0x0, 0x76, 0x5f, 0xff, 0xff, 0xff, 0x49, 0x54,
+    0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xcb,
+    0xee, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xc,
+    0x92, 0xfe, 0x4d, 0xa3, 0xd9, 0xff, 0xff, 0xff,
+    0xff, 0xe9, 0x1f, 0x4c, 0x0, 0x0, 0x6, 0xd,
+    0xff, 0xff, 0xff, 0x83, 0xa6, 0x0, 0x0, 0x0,
+    0x0, 0xf2, 0xd3, 0xff, 0xff, 0xbb, 0xe6, 0x0,
+    0x46, 0x3f, 0xff, 0xff, 0xff, 0x67, 0x80, 0x0,
+    0x0, 0x0, 0x0, 0xb6, 0x7d, 0xff, 0xff, 0xc3,
+    0x7f, 0xff, 0xff, 0xb9, 0xf2, 0x4, 0x0, 0x0,
+    0x0, 0x10, 0xfe, 0xe1, 0xff, 0xfb, 0x8b, 0xff,
+    0xff, 0x29, 0x95, 0xff, 0xfb, 0x8d, 0xff, 0xff,
+    0x8f, 0xc2, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe,
+    0xe6, 0x83, 0xff, 0xff, 0xff, 0xff, 0xc5, 0xfe,
+    0x3c, 0x0, 0x0, 0x0, 0x0, 0x0, 0xbe, 0x81,
+    0xff, 0xff, 0xe1, 0xb9, 0xff, 0xff, 0xbf, 0xf8,
+    0xa, 0x0, 0x0, 0x0, 0x0, 0x30, 0xfa, 0x9b,
+    0xff, 0xff, 0xff, 0x6d, 0xe4, 0x16, 0x0, 0x0,
+    0x0, 0x0, 0x52, 0xfe, 0x43, 0xeb, 0xff, 0xff,
+    0x67, 0x94, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe,
+    0xfb, 0xff, 0x2f, 0x2e, 0x0, 0x0, 0x0, 0x0,
+    0xac, 0x7b, 0xff, 0xff, 0xdf, 0x37, 0xfe, 0x42,
+    0x0, 0x0, 0xb6, 0xab, 0xef, 0xc1, 0xf8, 0x9e,
+    0xfe, 0x7d, 0xf7, 0xff, 0xff, 0xff, 0xef, 0x43,
+    0xae, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xea, 0xc3, 0xff, 0xff, 0xcb, 0xf2, 0x0,
+    0x2a, 0xfe, 0xe3, 0xff, 0xff, 0xb7, 0xde, 0x0,
+    0x0, 0x34, 0x33, 0xff, 0xff, 0xff, 0x7d, 0xc4,
+    0x0, 0x82, 0x5f, 0xff, 0xff, 0xff, 0x49, 0x54,
+    0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xcb,
+    0xee, 0x0, 0x0, 0x0, 0x0, 0x0, 0x32, 0x9,
+    0x15, 0x15, 0x13, 0xfc, 0xfe, 0x27, 0x9f, 0xff,
+    0xff, 0xff, 0x7b, 0x8c, 0x0, 0x0, 0x4, 0xd,
+    0xff, 0xff, 0xff, 0x83, 0xac, 0x0, 0x0, 0x0,
+    0x0, 0xee, 0xcf, 0xff, 0xff, 0xc3, 0xf2, 0x0,
+    0x56, 0x3f, 0xff, 0xff, 0xff, 0x67, 0x80, 0x0,
+    0x0, 0x0, 0x0, 0x50, 0x21, 0xfb, 0xff, 0xf3,
+    0xb7, 0xff, 0xff, 0x6b, 0xa0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xe2, 0xad, 0xff, 0xff, 0xe9, 0xff,
+    0xd3, 0xfe, 0x47, 0xff, 0xff, 0xe9, 0xff, 0xff,
+    0x4f, 0x6e, 0x0, 0x0, 0x0, 0x0, 0x0, 0x88,
+    0x29, 0xf3, 0xff, 0xff, 0xfb, 0xff, 0xff, 0x71,
+    0xd8, 0x8, 0x0, 0x0, 0x0, 0x0, 0x54, 0x23,
+    0xfb, 0xff, 0xff, 0xf3, 0xff, 0xff, 0x71, 0xa8,
+    0x0, 0x0, 0x0, 0x0, 0x10, 0xdc, 0x61, 0xff,
+    0xff, 0xff, 0xa7, 0xfc, 0x3a, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x1c, 0xea, 0x99, 0xff, 0xff,
+    0xb1, 0xd2, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe,
+    0xfb, 0xff, 0x2f, 0x2e, 0x0, 0x0, 0x0, 0x0,
+    0xe2, 0xc1, 0xff, 0xff, 0x85, 0xdc, 0x16, 0x0,
+    0x0, 0x0, 0x74, 0xe6, 0xf4, 0x9, 0x8c, 0x0,
+    0x48, 0xea, 0x2b, 0x87, 0xa3, 0x8d, 0x29, 0xda,
+    0x1c, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xea, 0xc3, 0xff, 0xff, 0xdb, 0x5, 0xd8,
+    0xf2, 0x59, 0xff, 0xff, 0xff, 0x8b, 0xb0, 0x0,
+    0x0, 0x14, 0xfe, 0xef, 0xff, 0xff, 0xcb, 0x5,
+    0xd6, 0xf8, 0x77, 0xff, 0xff, 0xff, 0x49, 0x54,
+    0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xcb,
+    0xee, 0x0, 0x0, 0x0, 0x0, 0x0, 0x38, 0x63,
+    0xff, 0xff, 0xfb, 0x17, 0xae, 0xb4, 0xfe, 0xeb,
+    0xff, 0xff, 0x91, 0xa0, 0x0, 0x0, 0x2, 0x5,
+    0xff, 0xff, 0xff, 0x8d, 0xf2, 0x80, 0x30, 0x0,
+    0x0, 0xe0, 0xbb, 0xff, 0xff, 0xe9, 0x9, 0xda,
+    0xf6, 0x5b, 0xff, 0xff, 0xff, 0x67, 0x80, 0x0,
+    0x0, 0x0, 0x0, 0xa, 0xfa, 0xc5, 0xff, 0xff,
+    0xf3, 0xff, 0xf3, 0xf, 0x3a, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x9c, 0x73, 0xff, 0xff, 0xff, 0xff,
+    0x93, 0xd2, 0xfe, 0xe7, 0xff, 0xff, 0xff, 0xf3,
+    0x9, 0x24, 0x0, 0x0, 0x0, 0x0, 0x2e, 0xfe,
+    0xb7, 0xff, 0xff, 0xdd, 0x99, 0xff, 0xff, 0xeb,
+    0x1d, 0x74, 0x0, 0x0, 0x0, 0x0, 0xc, 0xf8,
+    0xc1, 0xff, 0xff, 0xff, 0xff, 0xf3, 0x13, 0x40,
+    0x0, 0x0, 0x0, 0x2, 0xa6, 0x2f, 0xef, 0xff,
+    0xff, 0xd5, 0xf, 0xee, 0xe0, 0xe0, 0xcc, 0x9a,
+    0x32, 0x0, 0x0, 0x0, 0xac, 0x7d, 0xff, 0xff,
+    0xc5, 0xe6, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe,
+    0xfb, 0xff, 0x2f, 0x2e, 0x0, 0x0, 0x0, 0x0,
+    0xf2, 0xd5, 0xff, 0xff, 0x69, 0x92, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xe, 0x5a, 0x9e, 0xba, 0xa2, 0x5e, 0xe,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xea, 0xc3, 0xff, 0xff, 0xff, 0xcf, 0x8b,
+    0x9f, 0xf1, 0xff, 0xff, 0xfb, 0x2f, 0x5e, 0x0,
+    0x0, 0x0, 0xe6, 0xa7, 0xff, 0xff, 0xff, 0xc7,
+    0x8d, 0xa5, 0xf7, 0xff, 0xff, 0xff, 0x49, 0x54,
+    0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xcb,
+    0xee, 0x0, 0x0, 0x0, 0x0, 0x0, 0x38, 0x19,
+    0xf3, 0xff, 0xff, 0xc1, 0x51, 0x3f, 0x8b, 0xff,
+    0xff, 0xff, 0x67, 0x7c, 0x0, 0x0, 0x0, 0xfe,
+    0xeb, 0xff, 0xff, 0xe9, 0x99, 0x5f, 0x8c, 0x0,
+    0x0, 0xb2, 0x89, 0xff, 0xff, 0xff, 0xcb, 0x91,
+    0xa9, 0xf5, 0xff, 0xff, 0xff, 0x67, 0x80, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0xb2, 0x79, 0xff, 0xff,
+    0xff, 0xff, 0xb5, 0xf0, 0x4, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x4a, 0x29, 0xff, 0xff, 0xff, 0xff,
+    0x45, 0x70, 0xe4, 0xab, 0xff, 0xff, 0xff, 0xc3,
+    0xf4, 0x0, 0x0, 0x0, 0x0, 0x4, 0xc6, 0x5d,
+    0xff, 0xff, 0xff, 0x73, 0x21, 0xf3, 0xff, 0xff,
+    0xa7, 0xf8, 0x22, 0x0, 0x0, 0x0, 0x0, 0xaa,
+    0x71, 0xff, 0xff, 0xff, 0xff, 0xb5, 0xf0, 0x4,
+    0x0, 0x0, 0x0, 0x18, 0xb, 0xcf, 0xff, 0xff,
+    0xff, 0xcd, 0xb7, 0xb7, 0xb7, 0xb7, 0xb7, 0x63,
+    0x74, 0x0, 0x0, 0x0, 0x9e, 0x7b, 0xff, 0xff,
+    0xc7, 0xec, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe,
+    0xfb, 0xff, 0x2f, 0x2e, 0x0, 0x0, 0x0, 0x0,
+    0xf6, 0xd7, 0xff, 0xff, 0x67, 0x82, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xea, 0xc3, 0xff, 0xff, 0xfb, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0x95, 0xf4, 0x10, 0x0,
+    0x0, 0x0, 0x76, 0x27, 0xeb, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xfd, 0xff, 0xff, 0xff, 0x49, 0x54,
+    0x0, 0x0, 0x0, 0xea, 0xc3, 0xff, 0xff, 0xcb,
+    0xee, 0x0, 0x0, 0x0, 0x0, 0x0, 0x6, 0xe4,
+    0x73, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xc7, 0x5, 0x34, 0x0, 0x0, 0x0, 0xe4,
+    0xad, 0xff, 0xff, 0xff, 0xff, 0xa9, 0xc8, 0x0,
+    0x0, 0x5a, 0x25, 0xef, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xe7, 0xf7, 0xff, 0xff, 0x67, 0x80, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x4a, 0x1d, 0xf9, 0xff,
+    0xff, 0xff, 0x65, 0x9a, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xe, 0xfe, 0xdd, 0xff, 0xff, 0xe5,
+    0xfe, 0x1e, 0x90, 0x63, 0xff, 0xff, 0xff, 0x8b,
+    0xbc, 0x0, 0x0, 0x0, 0x0, 0x60, 0xf, 0xe1,
+    0xff, 0xff, 0xdf, 0x5, 0xf0, 0x9d, 0xff, 0xff,
+    0xfd, 0x4b, 0xb2, 0x0, 0x0, 0x0, 0x0, 0x40,
+    0x13, 0xf5, 0xff, 0xff, 0xff, 0x63, 0x98, 0x0,
+    0x0, 0x0, 0x0, 0x2c, 0x39, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x89,
+    0xa0, 0x0, 0x0, 0x0, 0x92, 0x7b, 0xff, 0xff,
+    0xc7, 0xee, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe,
+    0xfb, 0xff, 0x2f, 0x2e, 0x0, 0x0, 0x0, 0x0,
+    0xf8, 0xd7, 0xff, 0xff, 0x65, 0x74, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xea, 0xc3, 0xff, 0xff, 0xcb, 0x9f, 0xfb,
+    0xff, 0xff, 0xf3, 0x8f, 0xfe, 0x5e, 0x0, 0x0,
+    0x0, 0x0, 0xc, 0xd0, 0x3d, 0xcd, 0xff, 0xff,
+    0xff, 0xdd, 0x87, 0xff, 0xff, 0xff, 0x49, 0x54,
+    0x0, 0x0, 0x0, 0xce, 0xc3, 0xff, 0xff, 0xcb,
+    0xd6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x40,
+    0xfa, 0x5d, 0xd5, 0xff, 0xff, 0xff, 0xff, 0xed,
+    0x99, 0x11, 0x96, 0x0, 0x0, 0x0, 0x0, 0x7a,
+    0x21, 0xbd, 0xff, 0xff, 0xff, 0xb9, 0xba, 0x0,
+    0x0, 0xc, 0xd8, 0x4b, 0xdb, 0xff, 0xff, 0xff,
+    0xcf, 0x39, 0xdb, 0xff, 0xff, 0x67, 0x60, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x8, 0xf4, 0xc1, 0xff,
+    0xff, 0xf1, 0xd, 0x36, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0xd6, 0xa9, 0xff, 0xff, 0xa7,
+    0xdc, 0x0, 0x36, 0xf, 0xf5, 0xff, 0xff, 0x49,
+    0x68, 0x0, 0x0, 0x0, 0x0, 0x60, 0x95, 0xff,
+    0xff, 0xff, 0x77, 0xc8, 0x6c, 0x25, 0xf5, 0xff,
+    0xff, 0xd5, 0x7, 0x0, 0x0, 0x0, 0x0, 0x4,
+    0xf6, 0xb3, 0xff, 0xff, 0xed, 0x9, 0x32, 0x0,
+    0x0, 0x0, 0x0, 0x2a, 0x39, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x89,
+    0x8a, 0x0, 0x0, 0x0, 0x78, 0x65, 0xff, 0xff,
+    0xd1, 0xf8, 0x0, 0x0, 0x0, 0x0, 0x0, 0xfe,
+    0xfb, 0xff, 0x2f, 0x2e, 0x0, 0x0, 0x0, 0x8,
+    0xfc, 0xe3, 0xff, 0xff, 0x4d, 0x56, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xea, 0xc3, 0xff, 0xff, 0xcb, 0xfe, 0x21,
+    0x51, 0x49, 0xf, 0xe8, 0x58, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x18, 0xa4, 0xfc, 0x2d, 0x53,
+    0x3f, 0xfe, 0x5f, 0xff, 0xff, 0xff, 0x49, 0x54,
+    0x0, 0x0, 0x0, 0x90, 0xfe, 0xfe, 0xfe, 0xfe,
+    0x98, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x2e, 0xb6, 0xfe, 0x25, 0x4f, 0x55, 0x39, 0xfe,
+    0xe2, 0x64, 0x4, 0x0, 0x0, 0x0, 0x0, 0xa,
+    0x8e, 0xfe, 0x25, 0x51, 0x43, 0x5, 0x84, 0x0,
+    0x0, 0x0, 0x22, 0xbc, 0xfe, 0x39, 0x55, 0x33,
+    0xfe, 0xe4, 0xfe, 0xfe, 0xfe, 0xfe, 0x36, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x8c, 0xfe, 0xfe,
+    0xfe, 0xfe, 0xd6, 0x2, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x72, 0xfe, 0xfe, 0xfe, 0xfe,
+    0x70, 0x0, 0x4, 0xde, 0xfe, 0xfe, 0xfe, 0xfe,
+    0x20, 0x0, 0x0, 0x0, 0x0, 0x5e, 0xfe, 0xfe,
+    0xfe, 0xfe, 0xfe, 0x42, 0xc, 0xe0, 0xfe, 0xfe,
+    0xfe, 0xfe, 0xa8, 0x0, 0x0, 0x0, 0x0, 0x1a,
+    0xfc, 0xbb, 0xff, 0xff, 0xa7, 0xe8, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x16, 0xfe, 0xfe, 0xfe, 0xfe,
+    0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe, 0xfe,
+    0x52, 0x0, 0x0, 0x0, 0x46, 0x39, 0xff, 0xff,
+    0xf1, 0x9, 0x4e, 0x0, 0x0, 0x0, 0x0, 0xfe,
+    0xfb, 0xff, 0x2f, 0x2e, 0x0, 0x0, 0x0, 0x66,
+    0x1b, 0xfb, 0xff, 0xfd, 0x1f, 0x2a, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xea, 0xc3, 0xff, 0xff, 0xcb, 0xee, 0x2e,
+    0x48, 0x44, 0x22, 0x4, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x34, 0x48,
+    0x3c, 0x84, 0x5f, 0xff, 0xff, 0xff, 0x49, 0x54,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0xc, 0x2e, 0x4e, 0x56, 0x3a, 0x16,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xc, 0x30, 0x46, 0x3e, 0x1c, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x16, 0x3a, 0x48, 0x38,
+    0x14, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x40, 0xa0, 0xee,
+    0x3d, 0xfb, 0xff, 0xff, 0x51, 0x86, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x16, 0xfe, 0xcd, 0xff,
+    0xff, 0x83, 0xfc, 0x40, 0x0, 0x0, 0x0, 0xfe,
+    0xfb, 0xff, 0x2f, 0x2e, 0x0, 0x0, 0x50, 0xfe,
+    0x99, 0xff, 0xff, 0xbb, 0xfa, 0x8, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xea, 0xc3, 0xff, 0xff, 0xcb, 0xee, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x76, 0x5f, 0xff, 0xff, 0xff, 0x49, 0x54,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0xa8, 0x73, 0xb5,
+    0xef, 0xff, 0xff, 0xd5, 0xfe, 0x26, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0xaa, 0x4d, 0xf7,
+    0xff, 0xff, 0x73, 0x50, 0x0, 0x0, 0x0, 0xfe,
+    0xfb, 0xff, 0x2f, 0x22, 0x0, 0x0, 0x68, 0x87,
+    0xff, 0xff, 0xef, 0x3b, 0x90, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xe6, 0xc3, 0xff, 0xff, 0xcb, 0xea, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x72, 0x5f, 0xff, 0xff, 0xff, 0x49, 0x50,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0xe2, 0xc1, 0xff,
+    0xff, 0xff, 0xfb, 0x55, 0xb6, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x24, 0xe8, 0x41,
+    0xc7, 0xfd, 0x37, 0x50, 0x0, 0x0, 0x0, 0xee,
+    0x47, 0x49, 0xd, 0x12, 0x0, 0x0, 0x68, 0x4f,
+    0xfd, 0xbd, 0x35, 0xda, 0x18, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0xc6, 0xb1, 0xe9, 0xe9, 0xb7, 0xcc, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x52, 0x57, 0xe9, 0xe9, 0xe9, 0x41, 0x38,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0xd8, 0xd7, 0xff,
+    0xff, 0xdf, 0x63, 0xf2, 0x28, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x1c, 0x9e,
+    0xfa, 0x29, 0xf6, 0x16, 0x0, 0x0, 0x0, 0x1e,
+    0x3a, 0x3c, 0x22, 0x2, 0x0, 0x0, 0x24, 0xf4,
+    0x29, 0xfa, 0x92, 0x14, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x7c, 0xe2, 0xf8, 0xf8, 0xe4, 0x82, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x2a, 0xd0, 0xf4, 0xfc, 0xf4, 0xcc, 0x1c,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0xaa, 0x9, 0x2f,
+    0x17, 0xfe, 0xc6, 0x32, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0xe, 0xe, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0xe,
+    0xe, 0xe, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x10, 0x16,
+    0x16, 0x6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+    0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
+};
+const uint16_t FontBitmap::glyphWidth[] = {
+    8, 9, 10, 16, 16, 20, 18, 6,
+    10, 10, 13, 15, 8, 11, 9, 11,
+    16, 16, 16, 16, 16, 16, 16, 16,
+    16, 16, 9, 9, 14, 16, 14, 14,
+    23, 17, 17, 17, 18, 16, 16, 18,
+    19, 9, 16, 18, 15, 23, 19, 19,
+    18, 19, 18, 17, 17, 18, 17, 23,
+    17, 17, 16, 9, 12, 9, 13, 13,
+    10, 15, 16, 14, 16, 15, 11, 16,
+    16, 8, 8, 15, 8, 23, 16, 16,
+    16, 16, 11, 14, 10, 16, 14, 20,
+    14, 14, 14, 10, 8, 10, 18,
+};
+const uint16_t FontBitmap::yoffset[] = {
+    0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 0, 0, 0, 0, 0,
+    0, 0, 0, 34, 34, 34, 34, 34,
+    34, 34, 34, 34, 34, 34, 34, 34,
+    34, 34, 68, 68, 68, 68, 68, 68,
+    68, 68, 68, 68, 68, 68, 68, 68,
+    102, 102, 102, 102, 102, 102, 102, 102,
+    102, 102, 102, 102, 102, 102, 102, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    136, 136, 136, 136, 136, 136, 136, 136,
+    170, 170, 170, 170, 170, 170, 170, 170,
+    170, 170, 170, 170, 170, 170, 170,
+};
diff --git a/cmds/screenrecord/Overlay.cpp b/cmds/screenrecord/Overlay.cpp
new file mode 100644
index 0000000..f2d8b59
--- /dev/null
+++ b/cmds/screenrecord/Overlay.cpp
@@ -0,0 +1,399 @@
+/*
+ * Copyright 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#define LOG_TAG "ScreenRecord"
+//#define LOG_NDEBUG 0
+#include <utils/Log.h>
+
+#include <gui/BufferQueue.h>
+#include <gui/GraphicBufferAlloc.h>
+#include <gui/Surface.h>
+#include <cutils/properties.h>
+#include <utils/misc.h>
+
+#include <GLES2/gl2.h>
+#include <GLES2/gl2ext.h>
+
+#include <stdlib.h>
+
+#include "screenrecord.h"
+#include "Overlay.h"
+#include "TextRenderer.h"
+
+using namespace android;
+
+// System properties to look up and display on the info screen.
+const char* Overlay::kPropertyNames[] = {
+        "ro.build.description",
+        // includes ro.build.id, ro.build.product, ro.build.tags, ro.build.type,
+        // and ro.build.version.release
+        "ro.product.manufacturer",
+        "ro.product.model",
+        "ro.board.platform",
+        "ro.revision",
+        "dalvik.vm.heapgrowthlimit",
+        "dalvik.vm.heapsize",
+        "persist.sys.dalvik.vm.lib",
+        //"ro.product.cpu.abi",
+        //"ro.bootloader",
+        //"this-never-appears!",
+};
+
+
+status_t Overlay::start(const sp<IGraphicBufferProducer>& outputSurface,
+        sp<IGraphicBufferProducer>* pBufferProducer) {
+    ALOGV("Overlay::start");
+    mOutputSurface = outputSurface;
+
+    // Grab the current monotonic time and the current wall-clock time so we
+    // can map one to the other.  This allows the overlay counter to advance
+    // by the exact delay between frames, but if the wall clock gets adjusted
+    // we won't track it, which means we'll gradually go out of sync with the
+    // times in logcat.
+    mStartMonotonicNsecs = systemTime(CLOCK_MONOTONIC);
+    mStartRealtimeNsecs = systemTime(CLOCK_REALTIME);
+
+    // Start the thread.  Traffic begins immediately.
+    run("overlay");
+
+    Mutex::Autolock _l(mMutex);
+    mState = INIT;
+    while (mState == INIT) {
+        mStartCond.wait(mMutex);
+    }
+
+    if (mThreadResult != NO_ERROR) {
+        ALOGE("Failed to start overlay thread: err=%d", mThreadResult);
+        return mThreadResult;
+    }
+    assert(mState == READY);
+
+    ALOGV("Overlay::start successful");
+    *pBufferProducer = mBufferQueue;
+    return NO_ERROR;
+}
+
+status_t Overlay::stop() {
+    ALOGV("Overlay::stop");
+    Mutex::Autolock _l(mMutex);
+    mState = STOPPING;
+    mEventCond.signal();
+    return NO_ERROR;
+}
+
+bool Overlay::threadLoop() {
+    Mutex::Autolock _l(mMutex);
+
+    mThreadResult = setup_l();
+
+    if (mThreadResult != NO_ERROR) {
+        ALOGW("Aborting overlay thread");
+        mState = STOPPED;
+        release_l();
+        mStartCond.broadcast();
+        return false;
+    }
+
+    ALOGV("Overlay thread running");
+    mState = RUNNING;
+    mStartCond.broadcast();
+
+    while (mState == RUNNING) {
+        mEventCond.wait(mMutex);
+        if (mFrameAvailable) {
+            ALOGV("Awake, frame available");
+            processFrame_l();
+            mFrameAvailable = false;
+        } else {
+            ALOGV("Awake, frame not available");
+        }
+    }
+
+    ALOGV("Overlay thread stopping");
+    release_l();
+    mState = STOPPED;
+    return false;       // stop
+}
+
+status_t Overlay::setup_l() {
+    status_t err;
+
+    err = mEglWindow.createWindow(mOutputSurface);
+    if (err != NO_ERROR) {
+        return err;
+    }
+    mEglWindow.makeCurrent();
+
+    int width = mEglWindow.getWidth();
+    int height = mEglWindow.getHeight();
+
+    glViewport(0, 0, width, height);
+    glDisable(GL_DEPTH_TEST);
+    glDisable(GL_CULL_FACE);
+
+    // Shaders for rendering from different types of textures.
+    err = mTexProgram.setup(Program::PROGRAM_TEXTURE_2D);
+    if (err != NO_ERROR) {
+        return err;
+    }
+    err = mExtTexProgram.setup(Program::PROGRAM_EXTERNAL_TEXTURE);
+    if (err != NO_ERROR) {
+        return err;
+    }
+
+    err = mTextRenderer.loadIntoTexture();
+    if (err != NO_ERROR) {
+        return err;
+    }
+    mTextRenderer.setScreenSize(width, height);
+
+    // Input side (buffers from virtual display).
+    glGenTextures(1, &mExtTextureName);
+    if (mExtTextureName == 0) {
+        ALOGE("glGenTextures failed: %#x", glGetError());
+        return UNKNOWN_ERROR;
+    }
+
+    mBufferQueue = new BufferQueue(/*new GraphicBufferAlloc()*/);
+    mGlConsumer = new GLConsumer(mBufferQueue, mExtTextureName,
+                GL_TEXTURE_EXTERNAL_OES);
+    mGlConsumer->setName(String8("virtual display"));
+    mGlConsumer->setDefaultBufferSize(width, height);
+    mGlConsumer->setDefaultMaxBufferCount(5);
+    mGlConsumer->setConsumerUsageBits(GRALLOC_USAGE_HW_TEXTURE);
+
+    mGlConsumer->setFrameAvailableListener(this);
+
+    return NO_ERROR;
+}
+
+
+void Overlay::release_l() {
+    ALOGV("Overlay::release_l");
+    mOutputSurface.clear();
+    mGlConsumer.clear();
+    mBufferQueue.clear();
+
+    mTexProgram.release();
+    mExtTexProgram.release();
+    mEglWindow.release();
+}
+
+void Overlay::processFrame_l() {
+    float texMatrix[16];
+
+    mGlConsumer->updateTexImage();
+    mGlConsumer->getTransformMatrix(texMatrix);
+    nsecs_t monotonicNsec = mGlConsumer->getTimestamp();
+    nsecs_t frameNumber = mGlConsumer->getFrameNumber();
+    int64_t droppedFrames = 0;
+
+    if (mLastFrameNumber > 0) {
+        mTotalDroppedFrames += size_t(frameNumber - mLastFrameNumber) - 1;
+    }
+    mLastFrameNumber = frameNumber;
+
+    mTextRenderer.setProportionalScale(35);
+
+    if (false) {  // DEBUG - full blue background
+        glClearColor(0.0f, 0.0f, 1.0f, 1.0f);
+        glClear(GL_DEPTH_BUFFER_BIT | GL_COLOR_BUFFER_BIT);
+    }
+
+    int width = mEglWindow.getWidth();
+    int height = mEglWindow.getHeight();
+    if (false) {  // DEBUG - draw inset
+        mExtTexProgram.blit(mExtTextureName, texMatrix,
+                100, 100, width-200, height-200);
+    } else {
+        mExtTexProgram.blit(mExtTextureName, texMatrix,
+                0, 0, width, height);
+    }
+
+    glEnable(GL_BLEND);
+    glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
+    if (false) {  // DEBUG - show entire font bitmap
+        mTexProgram.blit(mTextRenderer.getTextureName(), Program::kIdentity,
+                100, 100, width-200, height-200);
+    }
+
+    char textBuf[64];
+    getTimeString_l(monotonicNsec, textBuf, sizeof(textBuf));
+    String8 timeStr(String8::format("%s f=%lld (%zd)",
+            textBuf, frameNumber, mTotalDroppedFrames));
+    mTextRenderer.drawString(mTexProgram, Program::kIdentity, 0, 0, timeStr);
+
+    glDisable(GL_BLEND);
+
+    if (false) {  // DEBUG - add red rectangle in lower-left corner
+        glEnable(GL_SCISSOR_TEST);
+        glScissor(0, 0, 200, 200);
+        glClearColor(1.0f, 0.0f, 0.0f, 1.0f);
+        glClear(GL_COLOR_BUFFER_BIT);
+        glDisable(GL_SCISSOR_TEST);
+    }
+
+    mEglWindow.presentationTime(monotonicNsec);
+    mEglWindow.swapBuffers();
+}
+
+void Overlay::getTimeString_l(nsecs_t monotonicNsec, char* buf, size_t bufLen) {
+    //const char* format = "%m-%d %T";    // matches log output
+    const char* format = "%T";
+    struct tm tm;
+
+    // localtime/strftime is not the fastest way to do this, but a trivial
+    // benchmark suggests that the cost is negligible.
+    int64_t realTime = mStartRealtimeNsecs +
+            (monotonicNsec - mStartMonotonicNsecs);
+    time_t secs = (time_t) (realTime / 1000000000);
+    localtime_r(&secs, &tm);
+    strftime(buf, bufLen, format, &tm);
+
+    int32_t msec = (int32_t) ((realTime % 1000000000) / 1000000);
+    char tmpBuf[5];
+    snprintf(tmpBuf, sizeof(tmpBuf), ".%03d", msec);
+    strlcat(buf, tmpBuf, bufLen);
+}
+
+// Callback; executes on arbitrary thread.
+void Overlay::onFrameAvailable() {
+    ALOGV("Overlay::onFrameAvailable");
+    Mutex::Autolock _l(mMutex);
+    mFrameAvailable = true;
+    mEventCond.signal();
+}
+
+
+/*static*/ status_t Overlay::drawInfoPage(
+        const sp<IGraphicBufferProducer>& outputSurface) {
+    status_t err;
+
+    EglWindow window;
+    err = window.createWindow(outputSurface);
+    if (err != NO_ERROR) {
+        return err;
+    }
+    window.makeCurrent();
+
+    int width = window.getWidth();
+    int height = window.getHeight();
+    glViewport(0, 0, width, height);
+    glDisable(GL_DEPTH_TEST);
+    glDisable(GL_CULL_FACE);
+
+    // Shaders for rendering.
+    Program texProgram;
+    err = texProgram.setup(Program::PROGRAM_TEXTURE_2D);
+    if (err != NO_ERROR) {
+        return err;
+    }
+    TextRenderer textRenderer;
+    err = textRenderer.loadIntoTexture();
+    if (err != NO_ERROR) {
+        return err;
+    }
+    textRenderer.setScreenSize(width, height);
+
+    doDrawInfoPage(window, texProgram, textRenderer);
+
+    // Destroy the surface.  This causes a disconnect.
+    texProgram.release();
+    window.release();
+
+    return NO_ERROR;
+}
+
+/*static*/ void Overlay::doDrawInfoPage(const EglWindow& window,
+        const Program& texProgram, TextRenderer& textRenderer) {
+    const nsecs_t holdTime = 250000000LL;
+
+    glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
+    glClear(GL_COLOR_BUFFER_BIT);
+
+    int width = window.getWidth();
+    int height = window.getHeight();
+
+    // Draw a thin border around the screen.  Some players, e.g. browser
+    // plugins, make it hard to see where the edges are when the device
+    // is using a black background, so this gives the viewer a frame of
+    // reference.
+    //
+    // This is a clumsy way to do it, but we're only doing it for one frame,
+    // and it's easier than actually drawing lines.
+    const int lineWidth = 4;
+    glEnable(GL_SCISSOR_TEST);
+    glClearColor(0.5f, 0.5f, 0.5f, 1.0f);
+    glScissor(0, 0, width, lineWidth);
+    glClear(GL_COLOR_BUFFER_BIT);
+    glScissor(0, height - lineWidth, width, lineWidth);
+    glClear(GL_COLOR_BUFFER_BIT);
+    glScissor(0, 0, lineWidth, height);
+    glClear(GL_COLOR_BUFFER_BIT);
+    glScissor(width - lineWidth, 0, lineWidth, height);
+    glClear(GL_COLOR_BUFFER_BIT);
+    glDisable(GL_SCISSOR_TEST);
+
+    //glEnable(GL_BLEND);
+    //glBlendFunc(GL_ONE, GL_ONE_MINUS_SRC_ALPHA);
+    textRenderer.setProportionalScale(30);
+
+    float xpos = 0;
+    float ypos = 0;
+    ypos = textRenderer.drawWrappedString(texProgram, xpos, ypos,
+            String8::format("Android screenrecord v%d.%d",
+                    kVersionMajor, kVersionMinor));
+
+    // Show date/time
+    time_t now = time(0);
+    struct tm tm;
+    localtime_r(&now, &tm);
+    char timeBuf[64];
+    strftime(timeBuf, sizeof(timeBuf), "%a, %d %b %Y %T %z", &tm);
+    String8 header("Started ");
+    header += timeBuf;
+    ypos = textRenderer.drawWrappedString(texProgram, xpos, ypos, header);
+    ypos += 8 * textRenderer.getScale();    // slight padding
+
+    // Show selected system property values
+    for (int i = 0; i < NELEM(kPropertyNames); i++) {
+        char valueBuf[PROPERTY_VALUE_MAX];
+
+        property_get(kPropertyNames[i], valueBuf, "");
+        if (valueBuf[0] == '\0') {
+            continue;
+        }
+        String8 str(String8::format("%s: [%s]", kPropertyNames[i], valueBuf));
+        ypos = textRenderer.drawWrappedString(texProgram, xpos, ypos, str);
+    }
+    ypos += 8 * textRenderer.getScale();    // slight padding
+
+    // Show GL info
+    String8 glStr("OpenGL: ");
+    glStr += (char*) glGetString(GL_VENDOR);
+    glStr += " / ";
+    glStr += (char*) glGetString(GL_RENDERER);
+    glStr += ", ";
+    glStr += (char*) glGetString(GL_VERSION);
+    ypos = textRenderer.drawWrappedString(texProgram, xpos, ypos, glStr);
+
+    //glDisable(GL_BLEND);
+
+    // Set a presentation time slightly in the past.  This will cause the
+    // player to hold the frame on screen.
+    window.presentationTime(systemTime(CLOCK_MONOTONIC) - holdTime);
+    window.swapBuffers();
+}
diff --git a/cmds/screenrecord/Overlay.h b/cmds/screenrecord/Overlay.h
new file mode 100644
index 0000000..b8473b4
--- /dev/null
+++ b/cmds/screenrecord/Overlay.h
@@ -0,0 +1,157 @@
+/*
+ * Copyright 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef SCREENRECORD_OVERLAY_H
+#define SCREENRECORD_OVERLAY_H
+
+#include "Program.h"
+#include "TextRenderer.h"
+#include "EglWindow.h"
+
+#include <gui/BufferQueue.h>
+#include <gui/GLConsumer.h>
+#include <utils/Thread.h>
+
+#include <EGL/egl.h>
+
+namespace android {
+
+/*
+ * Overlay "filter".  This sits between the virtual display and the video
+ * encoder.
+ *
+ * Most functions run on a thread created by start().
+ */
+class Overlay : public GLConsumer::FrameAvailableListener, Thread {
+public:
+    Overlay() : Thread(false),
+        mThreadResult(UNKNOWN_ERROR),
+        mState(UNINITIALIZED),
+        mFrameAvailable(false),
+        mExtTextureName(0),
+        mStartMonotonicNsecs(0),
+        mStartRealtimeNsecs(0),
+        mLastFrameNumber(-1),
+        mTotalDroppedFrames(0)
+        {}
+    virtual ~Overlay() { assert(mState == UNINITIALIZED || mState == STOPPED); }
+
+    // Creates a thread that performs the overlay.  Pass in the surface that
+    // output will be sent to.
+    //
+    // This creates a dedicated thread for processing frames.
+    //
+    // Returns a reference to the producer side of a new BufferQueue that will
+    // be used by the virtual display.
+    status_t start(const sp<IGraphicBufferProducer>& outputSurface,
+            sp<IGraphicBufferProducer>* pBufferProducer);
+
+    // Stops the thread and releases resources.  It's okay to call this even
+    // if start() was never called.
+    status_t stop();
+
+    // This creates an EGL context and window surface, draws some informative
+    // text on it, swaps the buffer, and then tears the whole thing down.
+    static status_t drawInfoPage(const sp<IGraphicBufferProducer>& outputSurface);
+
+private:
+    Overlay(const Overlay&);
+    Overlay& operator=(const Overlay&);
+
+    // Draw the initial info screen.
+    static void doDrawInfoPage(const EglWindow& window,
+            const Program& texRender, TextRenderer& textRenderer);
+
+    // (overrides GLConsumer::FrameAvailableListener method)
+    virtual void onFrameAvailable();
+
+    // (overrides Thread method)
+    virtual bool threadLoop();
+
+    // One-time setup (essentially object construction on the overlay thread).
+    status_t setup_l();
+
+    // Release all resources held.
+    void release_l();
+
+    // Release EGL display, context, surface.
+    void eglRelease_l();
+
+    // Process a frame received from the virtual display.
+    void processFrame_l();
+
+    // Convert a monotonic time stamp into a string with the current time.
+    void getTimeString_l(nsecs_t monotonicNsec, char* buf, size_t bufLen);
+
+    // Guards all fields below.
+    Mutex mMutex;
+
+    // Initialization gate.
+    Condition mStartCond;
+
+    // Thread status, mostly useful during startup.
+    status_t mThreadResult;
+
+    // Overlay thread state.  States advance from left to right; object may
+    // not be restarted.
+    enum { UNINITIALIZED, INIT, RUNNING, STOPPING, STOPPED } mState;
+
+    // Event notification.  Overlay thread sleeps on this until a frame
+    // arrives or it's time to shut down.
+    Condition mEventCond;
+
+    // Set by the FrameAvailableListener callback.
+    bool mFrameAvailable;
+
+    // The surface we send our output to, i.e. the video encoder's input
+    // surface.
+    sp<IGraphicBufferProducer> mOutputSurface;
+
+    // Our queue.  The producer side is passed to the virtual display, the
+    // consumer side feeds into our GLConsumer.
+    sp<BufferQueue> mBufferQueue;
+
+    // This receives frames from the virtual display and makes them available
+    // as an external texture.
+    sp<GLConsumer> mGlConsumer;
+
+    // EGL display / context / surface.
+    EglWindow mEglWindow;
+
+    // GL rendering support.
+    Program mExtTexProgram;
+    Program mTexProgram;
+
+    // Text rendering.
+    TextRenderer mTextRenderer;
+
+    // External texture, updated by GLConsumer.
+    GLuint mExtTextureName;
+
+    // Start time, used to map monotonic to wall-clock time.
+    nsecs_t mStartMonotonicNsecs;
+    nsecs_t mStartRealtimeNsecs;
+
+    // Used for tracking dropped frames.
+    nsecs_t mLastFrameNumber;
+    size_t mTotalDroppedFrames;
+
+    static const char* kPropertyNames[];
+};
+
+}; // namespace android
+
+#endif /*SCREENRECORD_OVERLAY_H*/
diff --git a/cmds/screenrecord/Program.cpp b/cmds/screenrecord/Program.cpp
new file mode 100644
index 0000000..a198204
--- /dev/null
+++ b/cmds/screenrecord/Program.cpp
@@ -0,0 +1,303 @@
+/*
+ * Copyright 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#define LOG_TAG "ScreenRecord"
+//#define LOG_NDEBUG 0
+#include <utils/Log.h>
+
+#include "Program.h"
+
+#include <GLES2/gl2.h>
+#include <GLES2/gl2ext.h>
+
+#include <assert.h>
+
+using namespace android;
+
+// 4x4 identity matrix
+const float Program::kIdentity[] = {
+        1.0f, 0.0f, 0.0f, 0.0f,
+        0.0f, 1.0f, 0.0f, 0.0f,
+        0.0f, 0.0f, 1.0f, 0.0f,
+        0.0f, 0.0f, 0.0f, 1.0f
+};
+
+// Simple vertex shader.  Texture coord calc includes matrix for GLConsumer
+// transform.
+static const char* kVertexShader =
+        "uniform mat4 uMVPMatrix;\n"
+        "uniform mat4 uGLCMatrix;\n"
+        "attribute vec4 aPosition;\n"
+        "attribute vec4 aTextureCoord;\n"
+        "varying vec2 vTextureCoord;\n"
+        "void main() {\n"
+        "    gl_Position = uMVPMatrix * aPosition;\n"
+        "    vTextureCoord = (uGLCMatrix * aTextureCoord).xy;\n"
+        "}\n";
+
+// Trivial fragment shader for external texture.
+static const char* kExtFragmentShader =
+        "#extension GL_OES_EGL_image_external : require\n"
+        "precision mediump float;\n"
+        "varying vec2 vTextureCoord;\n"
+        "uniform samplerExternalOES uTexture;\n"
+        "void main() {\n"
+        "    gl_FragColor = texture2D(uTexture, vTextureCoord);\n"
+        "}\n";
+
+// Trivial fragment shader for mundane texture.
+static const char* kFragmentShader =
+        "precision mediump float;\n"
+        "varying vec2 vTextureCoord;\n"
+        "uniform sampler2D uTexture;\n"
+        "void main() {\n"
+        "    gl_FragColor = texture2D(uTexture, vTextureCoord);\n"
+        //"    gl_FragColor = vec4(0.2, 1.0, 0.2, 1.0);\n"
+        "}\n";
+
+status_t Program::setup(ProgramType type) {
+    ALOGV("Program::setup type=%d", type);
+    status_t err;
+
+    mProgramType = type;
+
+    GLuint program;
+    if (type == PROGRAM_TEXTURE_2D) {
+        err = createProgram(&program, kVertexShader, kFragmentShader);
+    } else {
+        err = createProgram(&program, kVertexShader, kExtFragmentShader);
+    }
+    if (err != NO_ERROR) {
+        return err;
+    }
+    assert(program != 0);
+
+    maPositionLoc = glGetAttribLocation(program, "aPosition");
+    maTextureCoordLoc = glGetAttribLocation(program, "aTextureCoord");
+    muMVPMatrixLoc = glGetUniformLocation(program, "uMVPMatrix");
+    muGLCMatrixLoc = glGetUniformLocation(program, "uGLCMatrix");
+    muTextureLoc = glGetUniformLocation(program, "uTexture");
+    if ((maPositionLoc | maTextureCoordLoc | muMVPMatrixLoc |
+            muGLCMatrixLoc | muTextureLoc) == -1) {
+        ALOGE("Attrib/uniform lookup failed: %#x", glGetError());
+        glDeleteProgram(program);
+        return UNKNOWN_ERROR;
+    }
+
+    mProgram = program;
+    return NO_ERROR;
+}
+
+void Program::release() {
+    ALOGV("Program::release");
+    if (mProgram != 0) {
+        glDeleteProgram(mProgram);
+        mProgram = 0;
+    }
+}
+
+status_t Program::createProgram(GLuint* outPgm, const char* vertexShader,
+        const char* fragmentShader) {
+    GLuint vs, fs;
+    status_t err;
+
+    err = compileShader(GL_VERTEX_SHADER, vertexShader, &vs);
+    if (err != NO_ERROR) {
+        return err;
+    }
+    err = compileShader(GL_FRAGMENT_SHADER, fragmentShader, &fs);
+    if (err != NO_ERROR) {
+        glDeleteShader(vs);
+        return err;
+    }
+
+    GLuint program;
+    err = linkShaderProgram(vs, fs, &program);
+    glDeleteShader(vs);
+    glDeleteShader(fs);
+    if (err == NO_ERROR) {
+        *outPgm = program;
+    }
+    return err;
+}
+
+status_t Program::compileShader(GLenum shaderType, const char* src,
+        GLuint* outShader) {
+    GLuint shader = glCreateShader(shaderType);
+    if (shader == 0) {
+        ALOGE("glCreateShader error: %#x", glGetError());
+        return UNKNOWN_ERROR;
+    }
+
+    glShaderSource(shader, 1, &src, NULL);
+    glCompileShader(shader);
+
+    GLint compiled = 0;
+    glGetShaderiv(shader, GL_COMPILE_STATUS, &compiled);
+    if (!compiled) {
+        ALOGE("Compile of shader type %d failed", shaderType);
+        GLint infoLen = 0;
+        glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &infoLen);
+        if (infoLen) {
+            char* buf = new char[infoLen];
+            if (buf) {
+                glGetShaderInfoLog(shader, infoLen, NULL, buf);
+                ALOGE("Compile log: %s", buf);
+                delete[] buf;
+            }
+        }
+        glDeleteShader(shader);
+        return UNKNOWN_ERROR;
+    }
+    *outShader = shader;
+    return NO_ERROR;
+}
+
+status_t Program::linkShaderProgram(GLuint vs, GLuint fs, GLuint* outPgm) {
+    GLuint program = glCreateProgram();
+    if (program == 0) {
+        ALOGE("glCreateProgram error: %#x", glGetError());
+        return UNKNOWN_ERROR;
+    }
+
+    glAttachShader(program, vs);
+    glAttachShader(program, fs);
+    glLinkProgram(program);
+    GLint linkStatus = GL_FALSE;
+    glGetProgramiv(program, GL_LINK_STATUS, &linkStatus);
+    if (linkStatus != GL_TRUE) {
+        ALOGE("glLinkProgram failed");
+        GLint bufLength = 0;
+        glGetProgramiv(program, GL_INFO_LOG_LENGTH, &bufLength);
+        if (bufLength) {
+            char* buf = new char[bufLength];
+            if (buf) {
+                glGetProgramInfoLog(program, bufLength, NULL, buf);
+                ALOGE("Link log: %s", buf);
+                delete[] buf;
+            }
+        }
+        glDeleteProgram(program);
+        return UNKNOWN_ERROR;
+    }
+
+    *outPgm = program;
+    return NO_ERROR;
+}
+
+
+
+status_t Program::blit(GLuint texName, const float* texMatrix,
+        int32_t x, int32_t y, int32_t w, int32_t h) const {
+    ALOGV("Program::blit %d xy=%d,%d wh=%d,%d", texName, x, y, w, h);
+
+    const float pos[] = {
+        float(x),   float(y+h),
+        float(x+w), float(y+h),
+        float(x),   float(y),
+        float(x+w), float(y),
+    };
+    const float uv[] = {
+        0.0f, 0.0f,
+        1.0f, 0.0f,
+        0.0f, 1.0f,
+        1.0f, 1.0f,
+    };
+    status_t err;
+
+    err = beforeDraw(texName, texMatrix, pos, uv);
+    if (err == NO_ERROR) {
+        glDrawArrays(GL_TRIANGLE_STRIP, 0, 4);
+        err = afterDraw();
+    }
+    return err;
+}
+
+status_t Program::drawTriangles(GLuint texName, const float* texMatrix,
+        const float* vertices, const float* texes, size_t count) const {
+    ALOGV("Program::drawTriangles texName=%d", texName);
+
+    status_t err;
+
+    err = beforeDraw(texName, texMatrix, vertices, texes);
+    if (err == NO_ERROR) {
+        glDrawArrays(GL_TRIANGLES, 0, count);
+        err = afterDraw();
+    }
+    return err;
+}
+
+status_t Program::beforeDraw(GLuint texName, const float* texMatrix,
+        const float* vertices, const float* texes) const {
+    // Create an orthographic projection matrix based on viewport size.
+    GLint vp[4];
+    glGetIntegerv(GL_VIEWPORT, vp);
+    float screenToNdc[16] = {
+        2.0f/float(vp[2]),  0.0f,               0.0f,   0.0f,
+        0.0f,               -2.0f/float(vp[3]), 0.0f,   0.0f,
+        0.0f,               0.0f,               1.0f,   0.0f,
+        -1.0f,              1.0f,               0.0f,   1.0f,
+    };
+
+    glUseProgram(mProgram);
+
+    glVertexAttribPointer(maPositionLoc, 2, GL_FLOAT, GL_FALSE, 0, vertices);
+    glVertexAttribPointer(maTextureCoordLoc, 2, GL_FLOAT, GL_FALSE, 0, texes);
+    glEnableVertexAttribArray(maPositionLoc);
+    glEnableVertexAttribArray(maTextureCoordLoc);
+
+    glUniformMatrix4fv(muMVPMatrixLoc, 1, GL_FALSE, screenToNdc);
+    glUniformMatrix4fv(muGLCMatrixLoc, 1, GL_FALSE, texMatrix);
+
+    glActiveTexture(GL_TEXTURE0);
+
+    switch (mProgramType) {
+    case PROGRAM_EXTERNAL_TEXTURE:
+        glBindTexture(GL_TEXTURE_EXTERNAL_OES, texName);
+        break;
+    case PROGRAM_TEXTURE_2D:
+        glBindTexture(GL_TEXTURE_2D, texName);
+        break;
+    default:
+        ALOGE("unexpected program type %d", mProgramType);
+        return UNKNOWN_ERROR;
+    }
+
+    glUniform1i(muTextureLoc, 0);
+
+    GLenum glErr;
+    if ((glErr = glGetError()) != GL_NO_ERROR) {
+        ALOGE("GL error before draw: %#x", glErr);
+        glDisableVertexAttribArray(maPositionLoc);
+        glDisableVertexAttribArray(maTextureCoordLoc);
+        return UNKNOWN_ERROR;
+    }
+
+    return NO_ERROR;
+}
+
+status_t Program::afterDraw() const {
+    glDisableVertexAttribArray(maPositionLoc);
+    glDisableVertexAttribArray(maTextureCoordLoc);
+
+    GLenum glErr;
+    if ((glErr = glGetError()) != GL_NO_ERROR) {
+        ALOGE("GL error after draw: %#x", glErr);
+        return UNKNOWN_ERROR;
+    }
+
+    return NO_ERROR;
+}
diff --git a/cmds/screenrecord/Program.h b/cmds/screenrecord/Program.h
new file mode 100644
index 0000000..e47bc0d
--- /dev/null
+++ b/cmds/screenrecord/Program.h
@@ -0,0 +1,92 @@
+/*
+ * Copyright 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef SCREENRECORD_PROGRAM_H
+#define SCREENRECORD_PROGRAM_H
+
+#include <utils/Errors.h>
+
+#include <EGL/egl.h>
+#include <GLES2/gl2.h>
+
+namespace android {
+
+/*
+ * Utility class for GLES rendering.
+ *
+ * Not thread-safe.
+ */
+class Program {
+public:
+    enum ProgramType { PROGRAM_UNKNOWN=0, PROGRAM_EXTERNAL_TEXTURE,
+            PROGRAM_TEXTURE_2D };
+
+    Program() :
+        mProgramType(PROGRAM_UNKNOWN),
+        mProgram(0),
+        maPositionLoc(0),
+        maTextureCoordLoc(0),
+        muMVPMatrixLoc(0),
+        muGLCMatrixLoc(0),
+        muTextureLoc(0)
+        {}
+    ~Program() { release(); }
+
+    // Initialize the program for use with the specified texture type.
+    status_t setup(ProgramType type);
+
+    // Release the program and associated resources.
+    void release();
+
+    // Blit the specified texture to { x, y, x+w, y+h }.
+    status_t blit(GLuint texName, const float* texMatrix,
+            int32_t x, int32_t y, int32_t w, int32_t h) const;
+
+    // Draw a number of triangles.
+    status_t drawTriangles(GLuint texName, const float* texMatrix,
+            const float* vertices, const float* texes, size_t count) const;
+
+    static const float kIdentity[];
+
+private:
+    Program(const Program&);
+    Program& operator=(const Program&);
+
+    // Common code for draw functions.
+    status_t beforeDraw(GLuint texName, const float* texMatrix,
+            const float* vertices, const float* texes) const;
+    status_t afterDraw() const;
+
+    // GLES 2 shader utilities.
+    status_t createProgram(GLuint* outPgm, const char* vertexShader,
+            const char* fragmentShader);
+    static status_t compileShader(GLenum shaderType, const char* src,
+            GLuint* outShader);
+    static status_t linkShaderProgram(GLuint vs, GLuint fs, GLuint* outPgm);
+
+    ProgramType mProgramType;
+    GLuint mProgram;
+
+    GLint maPositionLoc;
+    GLint maTextureCoordLoc;
+    GLint muMVPMatrixLoc;
+    GLint muGLCMatrixLoc;
+    GLint muTextureLoc;
+};
+
+}; // namespace android
+
+#endif /*SCREENRECORD_PROGRAM_H*/
diff --git a/cmds/screenrecord/TextRenderer.cpp b/cmds/screenrecord/TextRenderer.cpp
new file mode 100644
index 0000000..048d382
--- /dev/null
+++ b/cmds/screenrecord/TextRenderer.cpp
@@ -0,0 +1,349 @@
+/*
+ * Copyright 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#define LOG_TAG "ScreenRecord"
+//#define LOG_NDEBUG 0
+#include <utils/Log.h>
+
+#include "TextRenderer.h"
+
+#include <assert.h>
+
+namespace android {
+#include "FontBitmap.h"
+};
+
+using namespace android;
+
+const char TextRenderer::kWhitespace[] = " \t\n\r";
+
+bool TextRenderer::mInitialized = false;
+uint32_t TextRenderer::mXOffset[FontBitmap::numGlyphs];
+
+void TextRenderer::initOnce() {
+    if (!mInitialized) {
+        initXOffset();
+        mInitialized = true;
+    }
+}
+
+void TextRenderer::initXOffset() {
+    // Generate a table of X offsets.  They start at zero and reset whenever
+    // we move down a line (i.e. the Y offset changes).  The offset increases
+    // by one pixel more than the width because the generator left a gap to
+    // avoid reading pixels from adjacent glyphs in the texture filter.
+    uint16_t offset = 0;
+    uint16_t prevYOffset = (int16_t) -1;
+    for (unsigned int i = 0; i < FontBitmap::numGlyphs; i++) {
+        if (prevYOffset != FontBitmap::yoffset[i]) {
+            prevYOffset = FontBitmap::yoffset[i];
+            offset = 0;
+        }
+        mXOffset[i] = offset;
+        offset += FontBitmap::glyphWidth[i] + 1;
+    }
+}
+
+static bool isPowerOfTwo(uint32_t val) {
+    // a/k/a "is exactly one bit set"; note returns true for 0
+    return (val & (val -1)) == 0;
+}
+
+static uint32_t powerOfTwoCeil(uint32_t val) {
+    // drop it, smear the bits across, pop it
+    val--;
+    val |= val >> 1;
+    val |= val >> 2;
+    val |= val >> 4;
+    val |= val >> 8;
+    val |= val >> 16;
+    val++;
+
+    return val;
+}
+
+float TextRenderer::getGlyphHeight() const {
+    return FontBitmap::maxGlyphHeight;
+}
+
+status_t TextRenderer::loadIntoTexture() {
+    ALOGV("Font::loadIntoTexture");
+
+    glGenTextures(1, &mTextureName);
+    if (mTextureName == 0) {
+        ALOGE("glGenTextures failed: %#x", glGetError());
+        return UNKNOWN_ERROR;
+    }
+    glBindTexture(GL_TEXTURE_2D, mTextureName);
+    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
+    glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
+
+    // The pixel data is stored as combined color+alpha, 8 bits per pixel.
+    // It's guaranteed to be a power-of-two wide, but we cut off the height
+    // where the data ends.  We want to expand it to a power-of-two bitmap
+    // with ARGB data and hand that to glTexImage2D.
+
+    if (!isPowerOfTwo(FontBitmap::width)) {
+        ALOGE("npot glyph bitmap width %u", FontBitmap::width);
+        return UNKNOWN_ERROR;
+    }
+
+    uint32_t potHeight = powerOfTwoCeil(FontBitmap::height);
+    uint32_t* rgbaPixels = new uint32_t[FontBitmap::width * potHeight];
+    memset(rgbaPixels, 0, FontBitmap::width * potHeight * 4);
+
+    for (unsigned int i = 0; i < FontBitmap::width * FontBitmap::height; i++) {
+        uint8_t alpha, color;
+        if ((FontBitmap::pixels[i] & 1) == 0) {
+            // black pixel with varying alpha
+            color = 0x00;
+            alpha = FontBitmap::pixels[i] & ~1;
+        } else {
+            // opaque grey pixel
+            color = FontBitmap::pixels[i] & ~1;
+            alpha = 0xff;
+        }
+        rgbaPixels[i] = (alpha << 24) | (color << 16) | (color << 8) | color;
+    }
+
+    glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, FontBitmap::width, potHeight, 0,
+            GL_RGBA, GL_UNSIGNED_BYTE, rgbaPixels);
+    delete[] rgbaPixels;
+    GLint glErr = glGetError();
+    if (glErr != 0) {
+        ALOGE("glTexImage2D failed: %#x", glErr);
+        return UNKNOWN_ERROR;
+    }
+    return NO_ERROR;
+}
+
+void TextRenderer::setProportionalScale(float linesPerScreen) {
+    if (mScreenWidth == 0 || mScreenHeight == 0) {
+        ALOGW("setFontScale: can't set scale for width=%d height=%d",
+                mScreenWidth, mScreenHeight);
+        return;
+    }
+    float tallest = mScreenWidth > mScreenHeight ? mScreenWidth : mScreenHeight;
+    setScale(tallest / (linesPerScreen * getGlyphHeight()));
+}
+
+float TextRenderer::computeScaledStringWidth(const String8& str8) const {
+    // String8.length() isn't documented, but I'm assuming it will return
+    // the number of characters rather than the number of bytes.  Since
+    // we can only display ASCII we want to ignore anything else, so we
+    // just convert to char* -- but String8 doesn't document what it does
+    // with values outside 0-255.  So just convert to char* and use strlen()
+    // to see what we get.
+    const char* str = str8.string();
+    return computeScaledStringWidth(str, strlen(str));
+}
+
+float TextRenderer::computeScaledStringWidth(const char* str,
+        size_t len) const {
+    float width = 0.0f;
+    for (size_t i = 0; i < len; i++) {
+        size_t chi = str[i] - FontBitmap::firstGlyphChar;
+        float glyphWidth = FontBitmap::glyphWidth[chi];
+        width += (glyphWidth - 1 - FontBitmap::outlineWidth) * mScale;
+    }
+
+    return width;
+}
+
+void TextRenderer::drawString(const Program& program, const float* texMatrix,
+        float x, float y, const String8& str8) const {
+    ALOGV("drawString %.3f,%.3f '%s' (scale=%.3f)", x, y, str8.string(),mScale);
+    initOnce();
+
+    // We want to draw the entire string with a single GLES call.  We
+    // generate two arrays, one with screen coordinates, one with texture
+    // coordinates.  Need two triangles per character.
+    const char* str = str8.string();
+    size_t len = strlen(str);       // again, unsure about String8 handling
+
+    const size_t quadCoords =
+            2 /*triangles*/ * 3 /*vertex/tri*/ * 2 /*coord/vertex*/;
+    float vertices[len * quadCoords];
+    float texes[len * quadCoords];
+
+    float fullTexWidth = FontBitmap::width;
+    float fullTexHeight = powerOfTwoCeil(FontBitmap::height);
+    for (size_t i = 0; i < len; i++) {
+        size_t chi = str[i] - FontBitmap::firstGlyphChar;
+        if (chi >= FontBitmap::numGlyphs) {
+            chi = '?' - FontBitmap::firstGlyphChar;
+            assert(chi < FontBitmap::numGlyphs);
+        }
+        float glyphWidth = FontBitmap::glyphWidth[chi];
+        float glyphHeight = FontBitmap::maxGlyphHeight;
+
+        float vertLeft = x;
+        float vertRight = x + glyphWidth * mScale;
+        float vertTop = y;
+        float vertBottom = y + glyphHeight * mScale;
+
+        // Lowest-numbered glyph is in top-left of bitmap, which puts it at
+        // the bottom-left in texture coordinates.
+        float texLeft = mXOffset[chi] / fullTexWidth;
+        float texRight = (mXOffset[chi] + glyphWidth) / fullTexWidth;
+        float texTop = FontBitmap::yoffset[chi] / fullTexHeight;
+        float texBottom = (FontBitmap::yoffset[chi] + glyphHeight) /
+                fullTexHeight;
+
+        size_t off = i * quadCoords;
+        vertices[off +  0] = vertLeft;
+        vertices[off +  1] = vertBottom;
+        vertices[off +  2] = vertRight;
+        vertices[off +  3] = vertBottom;
+        vertices[off +  4] = vertLeft;
+        vertices[off +  5] = vertTop;
+        vertices[off +  6] = vertLeft;
+        vertices[off +  7] = vertTop;
+        vertices[off +  8] = vertRight;
+        vertices[off +  9] = vertBottom;
+        vertices[off + 10] = vertRight;
+        vertices[off + 11] = vertTop;
+        texes[off +  0] = texLeft;
+        texes[off +  1] = texBottom;
+        texes[off +  2] = texRight;
+        texes[off +  3] = texBottom;
+        texes[off +  4] = texLeft;
+        texes[off +  5] = texTop;
+        texes[off +  6] = texLeft;
+        texes[off +  7] = texTop;
+        texes[off +  8] = texRight;
+        texes[off +  9] = texBottom;
+        texes[off + 10] = texRight;
+        texes[off + 11] = texTop;
+
+        // We added 1-pixel padding in the texture, so we want to advance by
+        // one less.  Also, each glyph is surrounded by a black outline, which
+        // we want to merge.
+        x += (glyphWidth - 1 - FontBitmap::outlineWidth) * mScale;
+    }
+
+    program.drawTriangles(mTextureName, texMatrix, vertices, texes,
+            len * quadCoords / 2);
+}
+
+float TextRenderer::drawWrappedString(const Program& texRender,
+        float xpos, float ypos, const String8& str) {
+    ALOGV("drawWrappedString %.3f,%.3f '%s'", xpos, ypos, str.string());
+    initOnce();
+
+    if (mScreenWidth == 0 || mScreenHeight == 0) {
+        ALOGW("drawWrappedString: can't wrap with width=%d height=%d",
+                mScreenWidth, mScreenHeight);
+        return ypos;
+    }
+
+    const float indentWidth = mIndentMult * getScale();
+    if (xpos < mBorderWidth) {
+        xpos = mBorderWidth;
+    }
+    if (ypos < mBorderWidth) {
+        ypos = mBorderWidth;
+    }
+
+    const size_t maxWidth = (mScreenWidth - mBorderWidth) - xpos;
+    if (maxWidth < 1) {
+        ALOGE("Unable to render text: xpos=%.3f border=%.3f width=%u",
+                xpos, mBorderWidth, mScreenWidth);
+        return ypos;
+    }
+    float stringWidth = computeScaledStringWidth(str);
+    if (stringWidth <= maxWidth) {
+        // Trivial case.
+        drawString(texRender, Program::kIdentity, xpos, ypos, str);
+        ypos += getScaledGlyphHeight();
+    } else {
+        // We need to break the string into pieces, ideally at whitespace
+        // boundaries.
+        char* mangle = strdup(str.string());
+        char* start = mangle;
+        while (start != NULL) {
+            float xposAdj = (start == mangle) ? xpos : xpos + indentWidth;
+            char* brk = breakString(start,
+                    (float) (mScreenWidth - mBorderWidth - xposAdj));
+            if (brk == NULL) {
+                // draw full string
+                drawString(texRender, Program::kIdentity, xposAdj, ypos,
+                        String8(start));
+                start = NULL;
+            } else {
+                // draw partial string
+                char ch = *brk;
+                *brk = '\0';
+                drawString(texRender, Program::kIdentity, xposAdj, ypos,
+                        String8(start));
+                *brk = ch;
+                start = brk;
+                if (strchr(kWhitespace, ch) != NULL) {
+                    // if we broke on whitespace, skip past it
+                    start++;
+                }
+            }
+            ypos += getScaledGlyphHeight();
+        }
+        free(mangle);
+    }
+
+    return ypos;
+}
+
+char* TextRenderer::breakString(const char* str, float maxWidth) const {
+    // Ideally we'd do clever things like binary search.  Not bothering.
+    ALOGV("breakString '%s' %.3f", str, maxWidth);
+
+    size_t len = strlen(str);
+    if (len == 0) {
+        // Caller should detect this and not advance ypos.
+        return NULL;
+    }
+
+    float stringWidth = computeScaledStringWidth(str, len);
+    if (stringWidth <= maxWidth) {
+        return NULL;        // trivial -- use full string
+    }
+
+    // Find the longest string that will fit.
+    size_t goodPos = 0;
+    for (size_t i = 0; i < len; i++) {
+        stringWidth = computeScaledStringWidth(str, i);
+        if (stringWidth < maxWidth) {
+            goodPos = i;
+        } else {
+            break;  // too big
+        }
+    }
+    if (goodPos == 0) {
+        // space is too small to hold any glyph; output a single char
+        ALOGW("Couldn't find a nonzero prefix that fit from '%s'", str);
+        goodPos = 1;
+    }
+
+    // Scan back for whitespace.  If we can't find any we'll just have
+    // an ugly mid-word break.
+    for (size_t i = goodPos; i > 0; i--) {
+        if (strchr(kWhitespace, str[i]) != NULL) {
+            goodPos = i;
+            break;
+        }
+    }
+
+    ALOGV("goodPos=%d for str='%s'", goodPos, str);
+    return const_cast<char*>(str + goodPos);
+}
diff --git a/cmds/screenrecord/TextRenderer.h b/cmds/screenrecord/TextRenderer.h
new file mode 100644
index 0000000..9a28fcb
--- /dev/null
+++ b/cmds/screenrecord/TextRenderer.h
@@ -0,0 +1,136 @@
+/*
+ * Copyright 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef SCREENRECORD_TEXT_RENDER_H
+#define SCREENRECORD_TEXT_RENDER_H
+
+#include "Program.h"
+
+#include <utils/String8.h>
+#include <utils/Errors.h>
+
+#include <GLES2/gl2.h>
+
+
+namespace android {
+
+/*
+ * Simple font representation.
+ *
+ * Not thread-safe.
+ */
+class TextRenderer {
+public:
+    TextRenderer() :
+        mTextureName(0),
+        mScale(1.0f),
+        mBorderWidth(10.0f),
+        mIndentMult(30.0f),
+        mScreenWidth(0),
+        mScreenHeight(0)
+        {}
+    ~TextRenderer() {}
+
+    // Load the glyph bitmap into a 2D texture in the current context.
+    status_t loadIntoTexture();
+
+    // Set the screen dimensions, used for scaling and line wrap.
+    void setScreenSize(uint32_t width, uint32_t height) {
+        mScreenWidth = width;
+        mScreenHeight = height;
+    }
+
+    // Get/set the font scaling.
+    float getScale() const { return mScale; }
+    void setScale(float scale) { mScale = scale; }
+
+    // Set the font scaling based on the desired number of lines per screen.
+    // The display's tallest axis is used, so if the device is in landscape
+    // the screen will fit fewer lines.
+    void setProportionalScale(float linesPerScreen);
+
+    // Render the text string at the specified coordinates.  Pass in the
+    // upper-left corner in non-GL-flipped coordinates, i.e. to print text
+    // at the top left of the screen use (0,0).
+    //
+    // Set blend func (1, 1-srcAlpha) before calling if drawing onto
+    // something other than black.
+    void drawString(const Program& program, const float* texMatrix,
+            float x, float y, const String8& str) const;
+
+    // Draw a string, possibly wrapping it at the screen boundary.  Top-left
+    // is at (0,0).
+    //
+    // Returns the updated Y position.
+    float drawWrappedString(const Program& texRender, float xpos, float ypos,
+            const String8& str);
+
+    // Returns the name of the texture the font was loaded into.
+    GLuint getTextureName() const { return mTextureName; }
+
+private:
+    TextRenderer(const TextRenderer&);
+    TextRenderer& operator=(const TextRenderer&);
+
+    // Perform one-time initialization.
+    static void initOnce();
+
+    // Populate the mXOffset array.
+    static void initXOffset();
+
+    // Find a good place to break the string.  Returns NULL if the entire
+    // string will fit.
+    char* breakString(const char* str, float maxWidth) const;
+
+    // Computes the width of the string, in pixels.
+    float computeScaledStringWidth(const String8& str8) const;
+
+    // Computes the width of first N characters in the string.
+    float computeScaledStringWidth(const char* str, size_t len) const;
+
+    // Returns the font's glyph height.  This is the full pixel height of the
+    // tallest glyph, both above and below the baseline, NOT adjusted by the
+    // current scale factor.
+    float getGlyphHeight() const;
+
+    // Like getGlyphHeight(), but result is scaled.
+    float getScaledGlyphHeight() const { return getGlyphHeight() * mScale; }
+
+    GLuint mTextureName;
+    float mScale;
+
+    // Number of pixels preserved at the left/right edges of the screen by
+    // drawWrappedString().  Not scaled.
+    float mBorderWidth;
+
+    // Distance to indent a broken line.  Used by drawWrappedString().
+    // Value will be adjusted by the current scale factor.
+    float mIndentMult;
+
+    // Screen dimensions.
+    uint32_t mScreenWidth;
+    uint32_t mScreenHeight;
+
+    // Static font info.
+    static bool mInitialized;
+    static uint32_t mXOffset[];
+
+    static const char kWhitespace[];
+};
+
+}; // namespace android
+
+#endif /*SCREENRECORD_TEXT_RENDER_H*/
diff --git a/cmds/screenrecord/screenrecord.cpp b/cmds/screenrecord/screenrecord.cpp
index 49999b5..b13333c 100644
--- a/cmds/screenrecord/screenrecord.cpp
+++ b/cmds/screenrecord/screenrecord.cpp
@@ -15,13 +15,14 @@
  */
 
 #define LOG_TAG "ScreenRecord"
+#define ATRACE_TAG ATRACE_TAG_GRAPHICS
 //#define LOG_NDEBUG 0
 #include <utils/Log.h>
 
 #include <binder/IPCThreadState.h>
 #include <utils/Errors.h>
-#include <utils/Thread.h>
 #include <utils/Timers.h>
+#include <utils/Trace.h>
 
 #include <gui/Surface.h>
 #include <gui/SurfaceComposerClient.h>
@@ -29,7 +30,6 @@
 #include <ui/DisplayInfo.h>
 #include <media/openmax/OMX_IVCommon.h>
 #include <media/stagefright/foundation/ABuffer.h>
-#include <media/stagefright/foundation/ADebug.h>
 #include <media/stagefright/foundation/AMessage.h>
 #include <media/stagefright/MediaCodec.h>
 #include <media/stagefright/MediaErrors.h>
@@ -40,30 +40,36 @@
 #include <unistd.h>
 #include <string.h>
 #include <stdio.h>
+#include <ctype.h>
 #include <fcntl.h>
 #include <signal.h>
 #include <getopt.h>
 #include <sys/wait.h>
 
+#include "screenrecord.h"
+#include "Overlay.h"
+
 using namespace android;
 
 static const uint32_t kMinBitRate = 100000;         // 0.1Mbps
-static const uint32_t kMaxBitRate = 100 * 1000000;  // 100Mbps
+static const uint32_t kMaxBitRate = 200 * 1000000;  // 200Mbps
 static const uint32_t kMaxTimeLimitSec = 180;       // 3 minutes
 static const uint32_t kFallbackWidth = 1280;        // 720p
 static const uint32_t kFallbackHeight = 720;
 
 // Command-line parameters.
-static bool gVerbose = false;               // chatty on stdout
-static bool gRotate = false;                // rotate 90 degrees
-static bool gSizeSpecified = false;         // was size explicitly requested?
-static uint32_t gVideoWidth = 0;            // default width+height
+static bool gVerbose = false;           // chatty on stdout
+static bool gRotate = false;            // rotate 90 degrees
+static bool gSizeSpecified = false;     // was size explicitly requested?
+static bool gWantInfoScreen = false;    // do we want initial info screen?
+static bool gWantFrameTime = false;     // do we want times on each frame?
+static uint32_t gVideoWidth = 0;        // default width+height
 static uint32_t gVideoHeight = 0;
-static uint32_t gBitRate = 4000000;         // 4Mbps
+static uint32_t gBitRate = 4000000;     // 4Mbps
 static uint32_t gTimeLimitSec = kMaxTimeLimitSec;
 
 // Set by signal handler to stop recording.
-static bool gStopRequested;
+static volatile bool gStopRequested;
 
 // Previous signal handler state, restored after first hit.
 static struct sigaction gOrigSigactionINT;
@@ -97,8 +103,7 @@
  * when Ctrl-C is hit.  If we're run from the host, the local adb process
  * gets the signal, and we get a SIGHUP when the terminal disconnects.
  */
-static status_t configureSignals()
-{
+static status_t configureSignals() {
     struct sigaction act;
     memset(&act, 0, sizeof(act));
     act.sa_handler = signalCatcher;
@@ -156,35 +161,30 @@
         fprintf(stderr, "ERROR: unable to create video/avc codec instance\n");
         return UNKNOWN_ERROR;
     }
+
     err = codec->configure(format, NULL, NULL,
             MediaCodec::CONFIGURE_FLAG_ENCODE);
     if (err != NO_ERROR) {
-        codec->release();
-        codec.clear();
-
         fprintf(stderr, "ERROR: unable to configure codec (err=%d)\n", err);
+        codec->release();
         return err;
     }
 
-    ALOGV("Creating buffer producer");
+    ALOGV("Creating encoder input surface");
     sp<IGraphicBufferProducer> bufferProducer;
     err = codec->createInputSurface(&bufferProducer);
     if (err != NO_ERROR) {
-        codec->release();
-        codec.clear();
-
         fprintf(stderr,
             "ERROR: unable to create encoder input surface (err=%d)\n", err);
+        codec->release();
         return err;
     }
 
     ALOGV("Starting codec");
     err = codec->start();
     if (err != NO_ERROR) {
-        codec->release();
-        codec.clear();
-
         fprintf(stderr, "ERROR: unable to start codec (err=%d)\n", err);
+        codec->release();
         return err;
     }
 
@@ -195,12 +195,11 @@
 }
 
 /*
- * Configures the virtual display.  When this completes, virtual display
- * frames will start being sent to the encoder's surface.
+ * Sets the display projection, based on the display dimensions, video size,
+ * and device orientation.
  */
-static status_t prepareVirtualDisplay(const DisplayInfo& mainDpyInfo,
-        const sp<IGraphicBufferProducer>& bufferProducer,
-        sp<IBinder>* pDisplayHandle) {
+static status_t setDisplayProjection(const sp<IBinder>& dpy,
+        const DisplayInfo& mainDpyInfo) {
     status_t err;
 
     // Set the region of the layer stack we're interested in, which in our
@@ -266,15 +265,25 @@
         }
     }
 
-
-    sp<IBinder> dpy = SurfaceComposerClient::createDisplay(
-            String8("ScreenRecorder"), false /* secure */);
-
-    SurfaceComposerClient::openGlobalTransaction();
-    SurfaceComposerClient::setDisplaySurface(dpy, bufferProducer);
     SurfaceComposerClient::setDisplayProjection(dpy,
             gRotate ? DISPLAY_ORIENTATION_90 : DISPLAY_ORIENTATION_0,
             layerStackRect, displayRect);
+    return NO_ERROR;
+}
+
+/*
+ * Configures the virtual display.  When this completes, virtual display
+ * frames will start arriving from the buffer producer.
+ */
+static status_t prepareVirtualDisplay(const DisplayInfo& mainDpyInfo,
+        const sp<IGraphicBufferProducer>& bufferProducer,
+        sp<IBinder>* pDisplayHandle) {
+    sp<IBinder> dpy = SurfaceComposerClient::createDisplay(
+            String8("ScreenRecorder"), false /*secure*/);
+
+    SurfaceComposerClient::openGlobalTransaction();
+    SurfaceComposerClient::setDisplaySurface(dpy, bufferProducer);
+    setDisplayProjection(dpy, mainDpyInfo);
     SurfaceComposerClient::setDisplayLayerStack(dpy, 0);    // default stack
     SurfaceComposerClient::closeGlobalTransaction();
 
@@ -291,13 +300,15 @@
  * The muxer must *not* have been started before calling.
  */
 static status_t runEncoder(const sp<MediaCodec>& encoder,
-        const sp<MediaMuxer>& muxer) {
+        const sp<MediaMuxer>& muxer, const sp<IBinder>& mainDpy,
+        const sp<IBinder>& virtualDpy, uint8_t orientation) {
     static int kTimeout = 250000;   // be responsive on signal
     status_t err;
     ssize_t trackIdx = -1;
     uint32_t debugNumFrames = 0;
     int64_t startWhenNsec = systemTime(CLOCK_MONOTONIC);
     int64_t endWhenNsec = startWhenNsec + seconds_to_nanoseconds(gTimeLimitSec);
+    DisplayInfo mainDpyInfo;
 
     Vector<sp<ABuffer> > buffers;
     err = encoder->getOutputBuffers(&buffers);
@@ -338,10 +349,31 @@
             if (size != 0) {
                 ALOGV("Got data in buffer %d, size=%d, pts=%lld",
                         bufIndex, size, ptsUsec);
-                CHECK(trackIdx != -1);
+                assert(trackIdx != -1);
+
+                { // scope
+                    ATRACE_NAME("orientation");
+                    // Check orientation, update if it has changed.
+                    //
+                    // Polling for changes is inefficient and wrong, but the
+                    // useful stuff is hard to get at without a Dalvik VM.
+                    err = SurfaceComposerClient::getDisplayInfo(mainDpy,
+                            &mainDpyInfo);
+                    if (err != NO_ERROR) {
+                        ALOGW("getDisplayInfo(main) failed: %d", err);
+                    } else if (orientation != mainDpyInfo.orientation) {
+                        ALOGD("orientation changed, now %d", mainDpyInfo.orientation);
+                        SurfaceComposerClient::openGlobalTransaction();
+                        setDisplayProjection(virtualDpy, mainDpyInfo);
+                        SurfaceComposerClient::closeGlobalTransaction();
+                        orientation = mainDpyInfo.orientation;
+                    }
+                }
 
                 // If the virtual display isn't providing us with timestamps,
-                // use the current time.
+                // use the current time.  This isn't great -- we could get
+                // decoded data in clusters -- but we're not expecting
+                // to hit this anyway.
                 if (ptsUsec == 0) {
                     ptsUsec = systemTime(SYSTEM_TIME_MONOTONIC) / 1000;
                 }
@@ -349,12 +381,18 @@
                 // The MediaMuxer docs are unclear, but it appears that we
                 // need to pass either the full set of BufferInfo flags, or
                 // (flags & BUFFER_FLAG_SYNCFRAME).
-                err = muxer->writeSampleData(buffers[bufIndex], trackIdx,
-                        ptsUsec, flags);
-                if (err != NO_ERROR) {
-                    fprintf(stderr, "Failed writing data to muxer (err=%d)\n",
-                            err);
-                    return err;
+                //
+                // If this blocks for too long we could drop frames.  We may
+                // want to queue these up and do them on a different thread.
+                { // scope
+                    ATRACE_NAME("write sample");
+                    err = muxer->writeSampleData(buffers[bufIndex], trackIdx,
+                            ptsUsec, flags);
+                    if (err != NO_ERROR) {
+                        fprintf(stderr,
+                            "Failed writing data to muxer (err=%d)\n", err);
+                        return err;
+                    }
                 }
                 debugNumFrames++;
             }
@@ -366,8 +404,8 @@
             }
             if ((flags & MediaCodec::BUFFER_FLAG_EOS) != 0) {
                 // Not expecting EOS from SurfaceFlinger.  Go with it.
-                ALOGD("Received end-of-stream");
-                gStopRequested = false;
+                ALOGI("Received end-of-stream");
+                gStopRequested = true;
             }
             break;
         case -EAGAIN:                       // INFO_TRY_AGAIN_LATER
@@ -375,7 +413,7 @@
             break;
         case INFO_FORMAT_CHANGED:           // INFO_OUTPUT_FORMAT_CHANGED
             {
-                // format includes CSD, which we must provide to muxer
+                // Format includes CSD, which we must provide to muxer.
                 ALOGV("Encoder format changed");
                 sp<AMessage> newFormat;
                 encoder->getOutputFormat(&newFormat);
@@ -389,7 +427,7 @@
             }
             break;
         case INFO_OUTPUT_BUFFERS_CHANGED:   // INFO_OUTPUT_BUFFERS_CHANGED
-            // not expected for an encoder; handle it anyway
+            // Not expected for an encoder; handle it anyway.
             ALOGV("Encoder buffers changed");
             err = encoder->getOutputBuffers(&buffers);
             if (err != NO_ERROR) {
@@ -399,7 +437,7 @@
             }
             break;
         case INVALID_OPERATION:
-            fprintf(stderr, "Request for encoder buffer failed\n");
+            ALOGW("dequeueOutputBuffer returned INVALID_OPERATION");
             return err;
         default:
             fprintf(stderr,
@@ -411,8 +449,8 @@
     ALOGV("Encoder stopping (req=%d)", gStopRequested);
     if (gVerbose) {
         printf("Encoder stopping; recorded %u frames in %lld seconds\n",
-                debugNumFrames,
-                nanoseconds_to_seconds(systemTime(CLOCK_MONOTONIC) - startWhenNsec));
+                debugNumFrames, nanoseconds_to_seconds(
+                        systemTime(CLOCK_MONOTONIC) - startWhenNsec));
     }
     return NO_ERROR;
 }
@@ -460,8 +498,8 @@
 
     // Configure and start the encoder.
     sp<MediaCodec> encoder;
-    sp<IGraphicBufferProducer> bufferProducer;
-    err = prepareEncoder(mainDpyInfo.fps, &encoder, &bufferProducer);
+    sp<IGraphicBufferProducer> encoderInputSurface;
+    err = prepareEncoder(mainDpyInfo.fps, &encoder, &encoderInputSurface);
 
     if (err != NO_ERROR && !gSizeSpecified) {
         // fallback is defined for landscape; swap if we're in portrait
@@ -474,11 +512,40 @@
                     gVideoWidth, gVideoHeight, newWidth, newHeight);
             gVideoWidth = newWidth;
             gVideoHeight = newHeight;
-            err = prepareEncoder(mainDpyInfo.fps, &encoder, &bufferProducer);
+            err = prepareEncoder(mainDpyInfo.fps, &encoder,
+                    &encoderInputSurface);
         }
     }
-    if (err != NO_ERROR) {
-        return err;
+    if (err != NO_ERROR) return err;
+
+    // From here on, we must explicitly release() the encoder before it goes
+    // out of scope, or we will get an assertion failure from stagefright
+    // later on in a different thread.
+
+
+    // Draw the "info" page by rendering a frame with GLES and sending
+    // it directly to the encoder.
+    // TODO: consider displaying this as a regular layer to avoid b/11697754
+    if (gWantInfoScreen) {
+        Overlay::drawInfoPage(encoderInputSurface);
+    }
+
+    // Configure optional overlay.
+    sp<IGraphicBufferProducer> bufferProducer;
+    sp<Overlay> overlay = new Overlay();
+    if (gWantFrameTime) {
+        // Send virtual display frames to an external texture.
+        err = overlay->start(encoderInputSurface, &bufferProducer);
+        if (err != NO_ERROR) {
+            encoder->release();
+            return err;
+        }
+        if (gVerbose) {
+            printf("Bugreport overlay created\n");
+        }
+    } else {
+        // Use the encoder's input surface as the virtual display surface.
+        bufferProducer = encoderInputSurface;
     }
 
     // Configure virtual display.
@@ -486,25 +553,22 @@
     err = prepareVirtualDisplay(mainDpyInfo, bufferProducer, &dpy);
     if (err != NO_ERROR) {
         encoder->release();
-        encoder.clear();
-
         return err;
     }
 
-    // Configure, but do not start, muxer.
+    // Configure muxer.  We have to wait for the CSD blob from the encoder
+    // before we can start it.
     sp<MediaMuxer> muxer = new MediaMuxer(fileName,
             MediaMuxer::OUTPUT_FORMAT_MPEG_4);
     if (gRotate) {
-        muxer->setOrientationHint(90);
+        muxer->setOrientationHint(90);  // TODO: does this do anything?
     }
 
     // Main encoder loop.
-    err = runEncoder(encoder, muxer);
+    err = runEncoder(encoder, muxer, mainDpy, dpy, mainDpyInfo.orientation);
     if (err != NO_ERROR) {
-        encoder->release();
-        encoder.clear();
-
-        return err;
+        fprintf(stderr, "Encoder failed (err=%d)\n", err);
+        // fall through to cleanup
     }
 
     if (gVerbose) {
@@ -512,14 +576,16 @@
     }
 
     // Shut everything down, starting with the producer side.
-    bufferProducer = NULL;
+    encoderInputSurface = NULL;
     SurfaceComposerClient::destroyDisplay(dpy);
-
+    overlay->stop();
     encoder->stop();
+    // If we don't stop muxer explicitly, i.e. let the destructor run,
+    // it may hang (b/11050628).
     muxer->stop();
     encoder->release();
 
-    return 0;
+    return err;
 }
 
 /*
@@ -528,6 +594,28 @@
  * This is optional, but nice to have.
  */
 static status_t notifyMediaScanner(const char* fileName) {
+    // need to do allocations before the fork()
+    String8 fileUrl("file://");
+    fileUrl.append(fileName);
+
+    const char* kCommand = "/system/bin/am";
+    const char* const argv[] = {
+            kCommand,
+            "broadcast",
+            "-a",
+            "android.intent.action.MEDIA_SCANNER_SCAN_FILE",
+            "-d",
+            fileUrl.string(),
+            NULL
+    };
+    if (gVerbose) {
+        printf("Executing:");
+        for (int i = 0; argv[i] != NULL; i++) {
+            printf(" %s", argv[i]);
+        }
+        putchar('\n');
+    }
+
     pid_t pid = fork();
     if (pid < 0) {
         int err = errno;
@@ -539,34 +627,14 @@
         int status;
         pid_t actualPid = TEMP_FAILURE_RETRY(waitpid(pid, &status, 0));
         if (actualPid != pid) {
-            ALOGW("waitpid() returned %d (errno=%d)", actualPid, errno);
+            ALOGW("waitpid(%d) returned %d (errno=%d)", pid, actualPid, errno);
         } else if (status != 0) {
             ALOGW("'am broadcast' exited with status=%d", status);
         } else {
             ALOGV("'am broadcast' exited successfully");
         }
     } else {
-        const char* kCommand = "/system/bin/am";
-
-        // child; we're single-threaded, so okay to alloc
-        String8 fileUrl("file://");
-        fileUrl.append(fileName);
-        const char* const argv[] = {
-                kCommand,
-                "broadcast",
-                "-a",
-                "android.intent.action.MEDIA_SCANNER_SCAN_FILE",
-                "-d",
-                fileUrl.string(),
-                NULL
-        };
-        if (gVerbose) {
-            printf("Executing:");
-            for (int i = 0; argv[i] != NULL; i++) {
-                printf(" %s", argv[i]);
-            }
-            putchar('\n');
-        } else {
+        if (!gVerbose) {
             // non-verbose, suppress 'am' output
             ALOGV("closing stdout/stderr in child");
             int fd = open("/dev/null", O_WRONLY);
@@ -611,13 +679,37 @@
 }
 
 /*
+ * Accepts a string with a bare number ("4000000") or with a single-character
+ * unit ("4m").
+ *
+ * Returns an error if parsing fails.
+ */
+static status_t parseValueWithUnit(const char* str, uint32_t* pValue) {
+    long value;
+    char* endptr;
+
+    value = strtol(str, &endptr, 10);
+    if (*endptr == '\0') {
+        // bare number
+        *pValue = value;
+        return NO_ERROR;
+    } else if (toupper(*endptr) == 'M' && *(endptr+1) == '\0') {
+        *pValue = value * 1000000;  // check for overflow?
+        return NO_ERROR;
+    } else {
+        fprintf(stderr, "Unrecognized value: %s\n", str);
+        return UNKNOWN_ERROR;
+    }
+}
+
+/*
  * Dumps usage on stderr.
  */
 static void usage() {
     fprintf(stderr,
         "Usage: screenrecord [options] <filename>\n"
         "\n"
-        "Records the device's display to a .mp4 file.\n"
+        "Android screenrecord v%d.%d.  Records the device's display to a .mp4 file.\n"
         "\n"
         "Options:\n"
         "--size WIDTHxHEIGHT\n"
@@ -625,11 +717,13 @@
         "    display resolution (if supported), 1280x720 if not.  For best results,\n"
         "    use a size supported by the AVC encoder.\n"
         "--bit-rate RATE\n"
-        "    Set the video bit rate, in megabits per second.  Default %dMbps.\n"
+        "    Set the video bit rate, in megabits per second.  Value may be specified\n"
+        "    in bits or megabits, e.g. '4000000' is equivalent to '4M'.  Default %dMbps.\n"
+        "--bugreport\n"
+        "    Add additional information, such as a timestamp overlay, that is helpful\n"
+        "    in videos captured to illustrate bugs.\n"
         "--time-limit TIME\n"
         "    Set the maximum recording time, in seconds.  Default / maximum is %d.\n"
-        "--rotate\n"
-        "    Rotate the output 90 degrees.\n"
         "--verbose\n"
         "    Display interesting information on stdout.\n"
         "--help\n"
@@ -637,7 +731,7 @@
         "\n"
         "Recording continues until Ctrl-C is hit or the time limit is reached.\n"
         "\n",
-        gBitRate / 1000000, gTimeLimitSec
+        kVersionMajor, kVersionMinor, gBitRate / 1000000, gTimeLimitSec
         );
 }
 
@@ -646,13 +740,16 @@
  */
 int main(int argc, char* const argv[]) {
     static const struct option longOptions[] = {
-        { "help",       no_argument,        NULL, 'h' },
-        { "verbose",    no_argument,        NULL, 'v' },
-        { "size",       required_argument,  NULL, 's' },
-        { "bit-rate",   required_argument,  NULL, 'b' },
-        { "time-limit", required_argument,  NULL, 't' },
-        { "rotate",     no_argument,        NULL, 'r' },
-        { NULL,         0,                  NULL, 0 }
+        { "help",               no_argument,        NULL, 'h' },
+        { "verbose",            no_argument,        NULL, 'v' },
+        { "size",               required_argument,  NULL, 's' },
+        { "bit-rate",           required_argument,  NULL, 'b' },
+        { "time-limit",         required_argument,  NULL, 't' },
+        { "show-device-info",   no_argument,        NULL, 'i' },
+        { "show-frame-time",    no_argument,        NULL, 'f' },
+        { "bugreport",          no_argument,        NULL, 'u' },
+        { "rotate",             no_argument,        NULL, 'r' },
+        { NULL,                 0,                  NULL, 0 }
     };
 
     while (true) {
@@ -684,7 +781,9 @@
             gSizeSpecified = true;
             break;
         case 'b':
-            gBitRate = atoi(optarg);
+            if (parseValueWithUnit(optarg, &gBitRate) != NO_ERROR) {
+                return 2;
+            }
             if (gBitRate < kMinBitRate || gBitRate > kMaxBitRate) {
                 fprintf(stderr,
                         "Bit rate %dbps outside acceptable range [%d,%d]\n",
@@ -701,7 +800,18 @@
                 return 2;
             }
             break;
+        case 'i':
+            gWantInfoScreen = true;
+            break;
+        case 'f':
+            gWantFrameTime = true;
+            break;
+        case 'u':
+            gWantInfoScreen = true;
+            gWantFrameTime = true;
+            break;
         case 'r':
+            // experimental feature
             gRotate = true;
             break;
         default:
diff --git a/cmds/screenrecord/screenrecord.h b/cmds/screenrecord/screenrecord.h
new file mode 100644
index 0000000..95e8a68
--- /dev/null
+++ b/cmds/screenrecord/screenrecord.h
@@ -0,0 +1,23 @@
+/*
+ * Copyright 2013 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef SCREENRECORD_SCREENRECORD_H
+#define SCREENRECORD_SCREENRECORD_H
+
+#define kVersionMajor 1
+#define kVersionMinor 1
+
+#endif /*SCREENRECORD_SCREENRECORD_H*/
diff --git a/drm/libdrmframework/plugins/forward-lock/FwdLockEngine/src/FwdLockEngine.cpp b/drm/libdrmframework/plugins/forward-lock/FwdLockEngine/src/FwdLockEngine.cpp
index 234aef2..f400732 100644
--- a/drm/libdrmframework/plugins/forward-lock/FwdLockEngine/src/FwdLockEngine.cpp
+++ b/drm/libdrmframework/plugins/forward-lock/FwdLockEngine/src/FwdLockEngine.cpp
@@ -316,6 +316,7 @@
 
     if (-1 < fileDesc) {
         if (FwdLockFile_attach(fileDesc) < 0) {
+            close(fileDesc);
             return mimeString;
         }
         const char* pMimeType = FwdLockFile_GetContentType(fileDesc);
diff --git a/include/media/MediaPlayerInterface.h b/include/media/MediaPlayerInterface.h
index 3b151ef..cc244f0 100644
--- a/include/media/MediaPlayerInterface.h
+++ b/include/media/MediaPlayerInterface.h
@@ -99,6 +99,7 @@
         virtual status_t    getPosition(uint32_t *position) const = 0;
         virtual status_t    getFramesWritten(uint32_t *frameswritten) const = 0;
         virtual int         getSessionId() const = 0;
+        virtual audio_stream_type_t getAudioStreamType() const = 0;
 
         // If no callback is specified, use the "write" API below to submit
         // audio data.
diff --git a/include/media/stagefright/ACodec.h b/include/media/stagefright/ACodec.h
index 15c99a5..f1636e6 100644
--- a/include/media/stagefright/ACodec.h
+++ b/include/media/stagefright/ACodec.h
@@ -116,6 +116,7 @@
         kWhatStart                   = 'star',
         kWhatRequestIDRFrame         = 'ridr',
         kWhatSetParameters           = 'setP',
+        kWhatSubmitOutputMetaDataBufferIfEOS = 'subm',
     };
 
     enum {
@@ -212,6 +213,7 @@
             OMX_U32 *nMinUndequeuedBuffers);
     status_t allocateOutputMetaDataBuffers();
     status_t submitOutputMetaDataBuffer();
+    void signalSubmitOutputMetaDataBufferIfEOS_workaround();
     status_t allocateOutputBuffersFromNativeWindow();
     status_t cancelBufferToNativeWindow(BufferInfo *info);
     status_t freeOutputBuffersNotOwnedByComponent();
@@ -266,6 +268,7 @@
     status_t setupMPEG4EncoderParameters(const sp<AMessage> &msg);
     status_t setupH263EncoderParameters(const sp<AMessage> &msg);
     status_t setupAVCEncoderParameters(const sp<AMessage> &msg);
+    status_t setupVPXEncoderParameters(const sp<AMessage> &msg);
 
     status_t verifySupportForProfileAndLevel(int32_t profile, int32_t level);
 
diff --git a/include/media/stagefright/CameraSourceTimeLapse.h b/include/media/stagefright/CameraSourceTimeLapse.h
index 6b7a63c..34213be 100644
--- a/include/media/stagefright/CameraSourceTimeLapse.h
+++ b/include/media/stagefright/CameraSourceTimeLapse.h
@@ -41,7 +41,8 @@
         Size videoSize,
         int32_t videoFrameRate,
         const sp<IGraphicBufferProducer>& surface,
-        int64_t timeBetweenTimeLapseFrameCaptureUs);
+        int64_t timeBetweenTimeLapseFrameCaptureUs,
+        bool storeMetaDataInVideoBuffers = true);
 
     virtual ~CameraSourceTimeLapse();
 
@@ -116,7 +117,8 @@
         Size videoSize,
         int32_t videoFrameRate,
         const sp<IGraphicBufferProducer>& surface,
-        int64_t timeBetweenTimeLapseFrameCaptureUs);
+        int64_t timeBetweenTimeLapseFrameCaptureUs,
+        bool storeMetaDataInVideoBuffers = true);
 
     // Wrapper over CameraSource::signalBufferReturned() to implement quick stop.
     // It only handles the case when mLastReadBufferCopy is signalled. Otherwise
diff --git a/include/media/stagefright/Utils.h b/include/media/stagefright/Utils.h
index c24f612..bbad271 100644
--- a/include/media/stagefright/Utils.h
+++ b/include/media/stagefright/Utils.h
@@ -57,7 +57,8 @@
 status_t sendMetaDataToHal(sp<MediaPlayerBase::AudioSink>& sink, const sp<MetaData>& meta);
 
 // Check whether the stream defined by meta can be offloaded to hardware
-bool canOffloadStream(const sp<MetaData>& meta, bool hasVideo, bool isStreaming);
+bool canOffloadStream(const sp<MetaData>& meta, bool hasVideo,
+                      bool isStreaming, audio_stream_type_t streamType);
 
 }  // namespace android
 
diff --git a/libvideoeditor/lvpp/VideoEditorPlayer.h b/libvideoeditor/lvpp/VideoEditorPlayer.h
index ab6d731..5862c08 100755
--- a/libvideoeditor/lvpp/VideoEditorPlayer.h
+++ b/libvideoeditor/lvpp/VideoEditorPlayer.h
@@ -62,6 +62,7 @@
         virtual void            pause();
         virtual void            close();
         void setAudioStreamType(audio_stream_type_t streamType) { mStreamType = streamType; }
+        virtual audio_stream_type_t getAudioStreamType() const { return mStreamType; }
                 void            setVolume(float left, float right);
         virtual status_t        dump(int fd,const Vector<String16>& args) const;
 
diff --git a/media/libmediaplayerservice/MediaPlayerService.h b/media/libmediaplayerservice/MediaPlayerService.h
index 05d44d4..a486cb5 100644
--- a/media/libmediaplayerservice/MediaPlayerService.h
+++ b/media/libmediaplayerservice/MediaPlayerService.h
@@ -100,7 +100,10 @@
         virtual void            flush();
         virtual void            pause();
         virtual void            close();
-                void            setAudioStreamType(audio_stream_type_t streamType) { mStreamType = streamType; }
+                void            setAudioStreamType(audio_stream_type_t streamType) {
+                                                                        mStreamType = streamType; }
+        virtual audio_stream_type_t getAudioStreamType() const { return mStreamType; }
+
                 void            setVolume(float left, float right);
         virtual status_t        setPlaybackRatePermille(int32_t ratePermille);
                 status_t        setAuxEffectSendLevel(float level);
@@ -207,6 +210,9 @@
         virtual void            pause() {}
         virtual void            close() {}
                 void            setAudioStreamType(audio_stream_type_t streamType) {}
+                // stream type is not used for AudioCache
+        virtual audio_stream_type_t getAudioStreamType() const { return AUDIO_STREAM_DEFAULT; }
+
                 void            setVolume(float left, float right) {}
         virtual status_t        setPlaybackRatePermille(int32_t ratePermille) { return INVALID_OPERATION; }
                 uint32_t        sampleRate() const { return mSampleRate; }
diff --git a/media/libmediaplayerservice/StagefrightRecorder.cpp b/media/libmediaplayerservice/StagefrightRecorder.cpp
index 095d5ca..78dad19 100644
--- a/media/libmediaplayerservice/StagefrightRecorder.cpp
+++ b/media/libmediaplayerservice/StagefrightRecorder.cpp
@@ -70,8 +70,9 @@
       mOutputFd(-1),
       mAudioSource(AUDIO_SOURCE_CNT),
       mVideoSource(VIDEO_SOURCE_LIST_END),
-      mStarted(false), mSurfaceMediaSource(NULL),
-      mCaptureTimeLapse(false) {
+      mCaptureTimeLapse(false),
+      mStarted(false),
+      mSurfaceMediaSource(NULL) {
 
     ALOGV("Constructor");
     reset();
@@ -972,7 +973,7 @@
             return err;
         }
 
-        err = setupVideoEncoder(mediaSource, mVideoBitRate, &source);
+        err = setupVideoEncoder(mediaSource, &source);
         if (err != OK) {
             return err;
         }
@@ -1016,7 +1017,7 @@
         }
 
         sp<MediaSource> encoder;
-        err = setupVideoEncoder(mediaSource, mVideoBitRate, &encoder);
+        err = setupVideoEncoder(mediaSource, &encoder);
 
         if (err != OK) {
             return err;
@@ -1089,7 +1090,22 @@
     }
 }
 
-status_t StagefrightRecorder::checkVideoEncoderCapabilities() {
+status_t StagefrightRecorder::checkVideoEncoderCapabilities(
+        bool *supportsCameraSourceMetaDataMode) {
+    /* hardware codecs must support camera source meta data mode */
+    Vector<CodecCapabilities> codecs;
+    OMXClient client;
+    CHECK_EQ(client.connect(), (status_t)OK);
+    QueryCodecs(
+            client.interface(),
+            (mVideoEncoder == VIDEO_ENCODER_H263 ? MEDIA_MIMETYPE_VIDEO_H263 :
+             mVideoEncoder == VIDEO_ENCODER_MPEG_4_SP ? MEDIA_MIMETYPE_VIDEO_MPEG4 :
+             mVideoEncoder == VIDEO_ENCODER_H264 ? MEDIA_MIMETYPE_VIDEO_AVC : ""),
+            false /* decoder */, true /* hwCodec */, &codecs);
+    *supportsCameraSourceMetaDataMode = codecs.size() > 0;
+    ALOGV("encoder %s camera source meta-data mode",
+            *supportsCameraSourceMetaDataMode ? "supports" : "DOES NOT SUPPORT");
+
     if (!mCaptureTimeLapse) {
         // Dont clip for time lapse capture as encoder will have enough
         // time to encode because of slow capture rate of time lapse.
@@ -1307,7 +1323,9 @@
 status_t StagefrightRecorder::setupCameraSource(
         sp<CameraSource> *cameraSource) {
     status_t err = OK;
-    if ((err = checkVideoEncoderCapabilities()) != OK) {
+    bool encoderSupportsCameraSourceMetaDataMode;
+    if ((err = checkVideoEncoderCapabilities(
+                &encoderSupportsCameraSourceMetaDataMode)) != OK) {
         return err;
     }
     Size videoSize;
@@ -1323,13 +1341,14 @@
         mCameraSourceTimeLapse = CameraSourceTimeLapse::CreateFromCamera(
                 mCamera, mCameraProxy, mCameraId, mClientName, mClientUid,
                 videoSize, mFrameRate, mPreviewSurface,
-                mTimeBetweenTimeLapseFrameCaptureUs);
+                mTimeBetweenTimeLapseFrameCaptureUs,
+                encoderSupportsCameraSourceMetaDataMode);
         *cameraSource = mCameraSourceTimeLapse;
     } else {
         *cameraSource = CameraSource::CreateFromCamera(
                 mCamera, mCameraProxy, mCameraId, mClientName, mClientUid,
                 videoSize, mFrameRate,
-                mPreviewSurface, true /*storeMetaDataInVideoBuffers*/);
+                mPreviewSurface, encoderSupportsCameraSourceMetaDataMode);
     }
     mCamera.clear();
     mCameraProxy.clear();
@@ -1364,12 +1383,11 @@
 
 status_t StagefrightRecorder::setupVideoEncoder(
         sp<MediaSource> cameraSource,
-        int32_t videoBitRate,
         sp<MediaSource> *source) {
     source->clear();
 
     sp<MetaData> enc_meta = new MetaData;
-    enc_meta->setInt32(kKeyBitRate, videoBitRate);
+    enc_meta->setInt32(kKeyBitRate, mVideoBitRate);
     enc_meta->setInt32(kKeyFrameRate, mFrameRate);
 
     switch (mVideoEncoder) {
@@ -1476,16 +1494,11 @@
     return OK;
 }
 
-status_t StagefrightRecorder::setupMPEG4Recording(
-        int outputFd,
-        int32_t videoWidth, int32_t videoHeight,
-        int32_t videoBitRate,
-        int32_t *totalBitRate,
-        sp<MediaWriter> *mediaWriter) {
-    mediaWriter->clear();
+status_t StagefrightRecorder::setupMPEG4Recording(int32_t *totalBitRate) {
+    mWriter.clear();
     *totalBitRate = 0;
     status_t err = OK;
-    sp<MediaWriter> writer = new MPEG4Writer(outputFd);
+    sp<MediaWriter> writer = new MPEG4Writer(mOutputFd);
 
     if (mVideoSource < VIDEO_SOURCE_LIST_END) {
 
@@ -1496,13 +1509,13 @@
         }
 
         sp<MediaSource> encoder;
-        err = setupVideoEncoder(mediaSource, videoBitRate, &encoder);
+        err = setupVideoEncoder(mediaSource, &encoder);
         if (err != OK) {
             return err;
         }
 
         writer->addSource(encoder);
-        *totalBitRate += videoBitRate;
+        *totalBitRate += mVideoBitRate;
     }
 
     // Audio source is added at the end if it exists.
@@ -1536,7 +1549,7 @@
     }
 
     writer->setListener(mListener);
-    *mediaWriter = writer;
+    mWriter = writer;
     return OK;
 }
 
@@ -1559,9 +1572,7 @@
 
 status_t StagefrightRecorder::startMPEG4Recording() {
     int32_t totalBitRate;
-    status_t err = setupMPEG4Recording(
-            mOutputFd, mVideoWidth, mVideoHeight,
-            mVideoBitRate, &totalBitRate, &mWriter);
+    status_t err = setupMPEG4Recording(&totalBitRate);
     if (err != OK) {
         return err;
     }
diff --git a/media/libmediaplayerservice/StagefrightRecorder.h b/media/libmediaplayerservice/StagefrightRecorder.h
index c864207..bc43488 100644
--- a/media/libmediaplayerservice/StagefrightRecorder.h
+++ b/media/libmediaplayerservice/StagefrightRecorder.h
@@ -124,12 +124,7 @@
     // frame buffers will be queued and dequeued
     sp<SurfaceMediaSource> mSurfaceMediaSource;
 
-    status_t setupMPEG4Recording(
-        int outputFd,
-        int32_t videoWidth, int32_t videoHeight,
-        int32_t videoBitRate,
-        int32_t *totalBitRate,
-        sp<MediaWriter> *mediaWriter);
+    status_t setupMPEG4Recording(int32_t *totalBitRate);
     void setupMPEG4MetaData(int64_t startTimeUs, int32_t totalBitRate,
         sp<MetaData> *meta);
     status_t startMPEG4Recording();
@@ -139,7 +134,8 @@
     status_t startRTPRecording();
     status_t startMPEG2TSRecording();
     sp<MediaSource> createAudioSource();
-    status_t checkVideoEncoderCapabilities();
+    status_t checkVideoEncoderCapabilities(
+            bool *supportsCameraSourceMetaDataMode);
     status_t checkAudioEncoderCapabilities();
     // Generic MediaSource set-up. Returns the appropriate
     // source (CameraSource or SurfaceMediaSource)
@@ -150,10 +146,7 @@
     status_t setupSurfaceMediaSource();
 
     status_t setupAudioEncoder(const sp<MediaWriter>& writer);
-    status_t setupVideoEncoder(
-            sp<MediaSource> cameraSource,
-            int32_t videoBitRate,
-            sp<MediaSource> *source);
+    status_t setupVideoEncoder(sp<MediaSource> cameraSource, sp<MediaSource> *source);
 
     // Encoding parameter handling utilities
     status_t setParameter(const String8 &key, const String8 &value);
diff --git a/media/libstagefright/ACodec.cpp b/media/libstagefright/ACodec.cpp
index e7b5caf..37cad63 100644
--- a/media/libstagefright/ACodec.cpp
+++ b/media/libstagefright/ACodec.cpp
@@ -454,6 +454,18 @@
     (new AMessage(kWhatRequestIDRFrame, id()))->post();
 }
 
+// *** NOTE: THE FOLLOWING WORKAROUND WILL BE REMOVED ***
+// Some codecs may return input buffers before having them processed.
+// This causes a halt if we already signaled an EOS on the input
+// port.  For now keep submitting an output buffer if there was an
+// EOS on the input port, but not yet on the output port.
+void ACodec::signalSubmitOutputMetaDataBufferIfEOS_workaround() {
+    if (mPortEOS[kPortIndexInput] && !mPortEOS[kPortIndexOutput] &&
+            mMetaDataBuffersToSubmit > 0) {
+        (new AMessage(kWhatSubmitOutputMetaDataBufferIfEOS, id()))->post();
+    }
+}
+
 status_t ACodec::allocateBuffersOnPort(OMX_U32 portIndex) {
     CHECK(portIndex == kPortIndexInput || portIndex == kPortIndexOutput);
 
@@ -1962,6 +1974,11 @@
             err = setupAVCEncoderParameters(msg);
             break;
 
+        case OMX_VIDEO_CodingVP8:
+        case OMX_VIDEO_CodingVP9:
+            err = setupVPXEncoderParameters(msg);
+            break;
+
         default:
             break;
     }
@@ -2293,6 +2310,17 @@
     return configureBitrate(bitrate, bitrateMode);
 }
 
+status_t ACodec::setupVPXEncoderParameters(const sp<AMessage> &msg) {
+    int32_t bitrate;
+    if (!msg->findInt32("bitrate", &bitrate)) {
+        return INVALID_OPERATION;
+    }
+
+    OMX_VIDEO_CONTROLRATETYPE bitrateMode = getBitrateMode(msg);
+
+    return configureBitrate(bitrate, bitrateMode);
+}
+
 status_t ACodec::verifySupportForProfileAndLevel(
         int32_t profile, int32_t level) {
     OMX_VIDEO_PARAM_PROFILELEVELTYPE params;
@@ -4091,6 +4119,9 @@
                 break;
         }
     }
+
+    // *** NOTE: THE FOLLOWING WORKAROUND WILL BE REMOVED ***
+    mCodec->signalSubmitOutputMetaDataBufferIfEOS_workaround();
 }
 
 void ACodec::ExecutingState::submitRegularOutputBuffers() {
@@ -4239,6 +4270,19 @@
             break;
         }
 
+        // *** NOTE: THE FOLLOWING WORKAROUND WILL BE REMOVED ***
+        case kWhatSubmitOutputMetaDataBufferIfEOS:
+        {
+            if (mCodec->mPortEOS[kPortIndexInput] &&
+                    !mCodec->mPortEOS[kPortIndexOutput]) {
+                status_t err = mCodec->submitOutputMetaDataBuffer();
+                if (err == OK) {
+                    mCodec->signalSubmitOutputMetaDataBufferIfEOS_workaround();
+                }
+            }
+            return true;
+        }
+
         default:
             handled = BaseState::onMessageReceived(msg);
             break;
diff --git a/media/libstagefright/AwesomePlayer.cpp b/media/libstagefright/AwesomePlayer.cpp
index e1f6563..130207d 100644
--- a/media/libstagefright/AwesomePlayer.cpp
+++ b/media/libstagefright/AwesomePlayer.cpp
@@ -1202,8 +1202,7 @@
     setVideoScalingMode_l(mVideoScalingMode);
     if (USE_SURFACE_ALLOC
             && !strncmp(component, "OMX.", 4)
-            && strncmp(component, "OMX.google.", 11)
-            && strcmp(component, "OMX.Nvidia.mpeg2v.decode")) {
+            && strncmp(component, "OMX.google.", 11)) {
         // Hardware decoders avoid the CPU color conversion by decoding
         // directly to ANativeBuffers, so we must use a renderer that
         // just pushes those buffers to the ANativeWindow.
@@ -1500,7 +1499,13 @@
     // This doesn't guarantee that the hardware has a free stream
     // but it avoids us attempting to open (and re-open) an offload
     // stream to hardware that doesn't have the necessary codec
-    mOffloadAudio = canOffloadStream(meta, (mVideoSource != NULL), isStreamingHTTP());
+    audio_stream_type_t streamType = AUDIO_STREAM_MUSIC;
+    if (mAudioSink != NULL) {
+        streamType = mAudioSink->getAudioStreamType();
+    }
+
+    mOffloadAudio = canOffloadStream(meta, (mVideoSource != NULL),
+                                     isStreamingHTTP(), streamType);
 
     if (!strcasecmp(mime, MEDIA_MIMETYPE_AUDIO_RAW)) {
         ALOGV("createAudioPlayer: bypass OMX (raw)");
@@ -1932,7 +1937,7 @@
                     ++mStats.mNumVideoFramesDropped;
                 }
 
-                postVideoEvent_l();
+                postVideoEvent_l(0);
                 return;
             }
         }
@@ -1972,6 +1977,41 @@
         return;
     }
 
+    /* get next frame time */
+    if (wasSeeking == NO_SEEK) {
+        MediaSource::ReadOptions options;
+        for (;;) {
+            status_t err = mVideoSource->read(&mVideoBuffer, &options);
+            if (err != OK) {
+                // deal with any errors next time
+                CHECK(mVideoBuffer == NULL);
+                postVideoEvent_l(0);
+                return;
+            }
+
+            if (mVideoBuffer->range_length() != 0) {
+                break;
+            }
+
+            // Some decoders, notably the PV AVC software decoder
+            // return spurious empty buffers that we just want to ignore.
+
+            mVideoBuffer->release();
+            mVideoBuffer = NULL;
+        }
+
+        {
+            Mutex::Autolock autoLock(mStatsLock);
+            ++mStats.mNumVideoFramesDecoded;
+        }
+
+        int64_t nextTimeUs;
+        CHECK(mVideoBuffer->meta_data()->findInt64(kKeyTime, &nextTimeUs));
+        int64_t delayUs = nextTimeUs - ts->getRealTimeUs() + mTimeSourceDeltaUs;
+        postVideoEvent_l(delayUs > 10000 ? 10000 : delayUs < 0 ? 0 : delayUs);
+        return;
+    }
+
     postVideoEvent_l();
 }
 
diff --git a/media/libstagefright/CameraSourceTimeLapse.cpp b/media/libstagefright/CameraSourceTimeLapse.cpp
index 20214e8..5772316 100644
--- a/media/libstagefright/CameraSourceTimeLapse.cpp
+++ b/media/libstagefright/CameraSourceTimeLapse.cpp
@@ -41,13 +41,15 @@
         Size videoSize,
         int32_t videoFrameRate,
         const sp<IGraphicBufferProducer>& surface,
-        int64_t timeBetweenFrameCaptureUs) {
+        int64_t timeBetweenFrameCaptureUs,
+        bool storeMetaDataInVideoBuffers) {
 
     CameraSourceTimeLapse *source = new
             CameraSourceTimeLapse(camera, proxy, cameraId,
                 clientName, clientUid,
                 videoSize, videoFrameRate, surface,
-                timeBetweenFrameCaptureUs);
+                timeBetweenFrameCaptureUs,
+                storeMetaDataInVideoBuffers);
 
     if (source != NULL) {
         if (source->initCheck() != OK) {
@@ -67,9 +69,11 @@
         Size videoSize,
         int32_t videoFrameRate,
         const sp<IGraphicBufferProducer>& surface,
-        int64_t timeBetweenFrameCaptureUs)
+        int64_t timeBetweenFrameCaptureUs,
+        bool storeMetaDataInVideoBuffers)
       : CameraSource(camera, proxy, cameraId, clientName, clientUid,
-                videoSize, videoFrameRate, surface, true),
+                videoSize, videoFrameRate, surface,
+                storeMetaDataInVideoBuffers),
       mTimeBetweenTimeLapseVideoFramesUs(1E6/videoFrameRate),
       mLastTimeLapseFrameRealTimestampUs(0),
       mSkipCurrentFrame(false) {
diff --git a/media/libstagefright/MPEG4Extractor.cpp b/media/libstagefright/MPEG4Extractor.cpp
index cbc169b..8cf5026 100644
--- a/media/libstagefright/MPEG4Extractor.cpp
+++ b/media/libstagefright/MPEG4Extractor.cpp
@@ -1379,19 +1379,33 @@
             } else {
                 // No size was specified. Pick a conservatively large size.
                 int32_t width, height;
-                if (mLastTrack->meta->findInt32(kKeyWidth, &width) &&
-                        mLastTrack->meta->findInt32(kKeyHeight, &height)) {
-                    mLastTrack->meta->setInt32(kKeyMaxInputSize, width * height * 3 / 2);
-                } else {
+                if (!mLastTrack->meta->findInt32(kKeyWidth, &width) ||
+                    !mLastTrack->meta->findInt32(kKeyHeight, &height)) {
                     ALOGE("No width or height, assuming worst case 1080p");
-                    mLastTrack->meta->setInt32(kKeyMaxInputSize, 3110400);
+                    width = 1920;
+                    height = 1080;
                 }
+
+                const char *mime;
+                CHECK(mLastTrack->meta->findCString(kKeyMIMEType, &mime));
+                if (!strcmp(mime, MEDIA_MIMETYPE_VIDEO_AVC)) {
+                    // AVC requires compression ratio of at least 2, and uses
+                    // macroblocks
+                    max_size = ((width + 15) / 16) * ((height + 15) / 16) * 192;
+                } else {
+                    // For all other formats there is no minimum compression
+                    // ratio. Use compression ratio of 1.
+                    max_size = width * height * 3 / 2;
+                }
+                mLastTrack->meta->setInt32(kKeyMaxInputSize, max_size);
             }
             *offset += chunk_size;
 
-            // Calculate average frame rate.
+            // NOTE: setting another piece of metadata invalidates any pointers (such as the
+            // mimetype) previously obtained, so don't cache them.
             const char *mime;
             CHECK(mLastTrack->meta->findCString(kKeyMIMEType, &mime));
+            // Calculate average frame rate.
             if (!strncasecmp("video/", mime, 6)) {
                 size_t nSamples = mLastTrack->sampleTable->countSamples();
                 int64_t durationUs;
diff --git a/media/libstagefright/MetaData.cpp b/media/libstagefright/MetaData.cpp
index ae6ae2d..7b60afc 100644
--- a/media/libstagefright/MetaData.cpp
+++ b/media/libstagefright/MetaData.cpp
@@ -89,6 +89,9 @@
     return setData(key, TYPE_RECT, &r, sizeof(r));
 }
 
+/**
+ * Note that the returned pointer becomes invalid when additional metadata is set.
+ */
 bool MetaData::findCString(uint32_t key, const char **value) {
     uint32_t type;
     const void *data;
diff --git a/media/libstagefright/OMXCodec.cpp b/media/libstagefright/OMXCodec.cpp
index 063ab49..625922f 100644
--- a/media/libstagefright/OMXCodec.cpp
+++ b/media/libstagefright/OMXCodec.cpp
@@ -361,12 +361,7 @@
             observer->setCodec(codec);
 
             err = codec->configureCodec(meta);
-
             if (err == OK) {
-                if (!strcmp("OMX.Nvidia.mpeg2v.decode", componentName)) {
-                    codec->mFlags |= kOnlySubmitOneInputBufferAtOneTime;
-                }
-
                 return codec;
             }
 
@@ -1359,8 +1354,7 @@
       mLeftOverBuffer(NULL),
       mPaused(false),
       mNativeWindow(
-              (!strncmp(componentName, "OMX.google.", 11)
-              || !strcmp(componentName, "OMX.Nvidia.mpeg2v.decode"))
+              (!strncmp(componentName, "OMX.google.", 11))
                         ? NULL : nativeWindow) {
     mPortStatus[kPortIndexInput] = ENABLED;
     mPortStatus[kPortIndexOutput] = ENABLED;
diff --git a/media/libstagefright/TimedEventQueue.cpp b/media/libstagefright/TimedEventQueue.cpp
index 6a16bb4..1a9a26b 100644
--- a/media/libstagefright/TimedEventQueue.cpp
+++ b/media/libstagefright/TimedEventQueue.cpp
@@ -38,11 +38,14 @@
 
 namespace android {
 
+static int64_t kWakelockMinDelay = 100000ll;  // 100ms
+
 TimedEventQueue::TimedEventQueue()
     : mNextEventID(1),
       mRunning(false),
       mStopped(false),
-      mDeathRecipient(new PMDeathRecipient(this)) {
+      mDeathRecipient(new PMDeathRecipient(this)),
+      mWakeLockCount(0) {
 }
 
 TimedEventQueue::~TimedEventQueue() {
@@ -87,9 +90,7 @@
 
     // some events may be left in the queue if we did not flush and the wake lock
     // must be released.
-    if (!mQueue.empty()) {
-        releaseWakeLock_l();
-    }
+    releaseWakeLock_l(true /*force*/);
     mQueue.clear();
 
     mRunning = false;
@@ -126,13 +127,15 @@
     QueueItem item;
     item.event = event;
     item.realtime_us = realtime_us;
+    item.has_wakelock = false;
 
     if (it == mQueue.begin()) {
         mQueueHeadChangedCondition.signal();
     }
 
-    if (mQueue.empty()) {
+    if (realtime_us > ALooper::GetNowUs() + kWakelockMinDelay) {
         acquireWakeLock_l();
+        item.has_wakelock = true;
     }
     mQueue.insert(it, item);
 
@@ -188,10 +191,10 @@
         ALOGV("cancelling event %d", (*it).event->eventID());
 
         (*it).event->setEventID(0);
-        it = mQueue.erase(it);
-        if (mQueue.empty()) {
+        if ((*it).has_wakelock) {
             releaseWakeLock_l();
         }
+        it = mQueue.erase(it);
         if (stopAfterFirstMatch) {
             return;
         }
@@ -297,11 +300,10 @@
         if ((*it).event->eventID() == id) {
             sp<Event> event = (*it).event;
             event->setEventID(0);
-
-            mQueue.erase(it);
-            if (mQueue.empty()) {
+            if ((*it).has_wakelock) {
                 releaseWakeLock_l();
             }
+            mQueue.erase(it);
             return event;
         }
     }
@@ -313,51 +315,59 @@
 
 void TimedEventQueue::acquireWakeLock_l()
 {
-    if (mWakeLockToken != 0) {
-        return;
-    }
-    if (mPowerManager == 0) {
-        // use checkService() to avoid blocking if power service is not up yet
-        sp<IBinder> binder =
-            defaultServiceManager()->checkService(String16("power"));
-        if (binder == 0) {
-            ALOGW("cannot connect to the power manager service");
-        } else {
-            mPowerManager = interface_cast<IPowerManager>(binder);
-            binder->linkToDeath(mDeathRecipient);
+    if (mWakeLockCount++ == 0) {
+        CHECK(mWakeLockToken == 0);
+        if (mPowerManager == 0) {
+            // use checkService() to avoid blocking if power service is not up yet
+            sp<IBinder> binder =
+                defaultServiceManager()->checkService(String16("power"));
+            if (binder == 0) {
+                ALOGW("cannot connect to the power manager service");
+            } else {
+                mPowerManager = interface_cast<IPowerManager>(binder);
+                binder->linkToDeath(mDeathRecipient);
+            }
         }
-    }
-    if (mPowerManager != 0) {
-        sp<IBinder> binder = new BBinder();
-        int64_t token = IPCThreadState::self()->clearCallingIdentity();
-        status_t status = mPowerManager->acquireWakeLock(POWERMANAGER_PARTIAL_WAKE_LOCK,
-                                                         binder,
-                                                         String16("TimedEventQueue"),
-                                                         String16("media"));
-        IPCThreadState::self()->restoreCallingIdentity(token);
-        if (status == NO_ERROR) {
-            mWakeLockToken = binder;
+        if (mPowerManager != 0) {
+            sp<IBinder> binder = new BBinder();
+            int64_t token = IPCThreadState::self()->clearCallingIdentity();
+            status_t status = mPowerManager->acquireWakeLock(POWERMANAGER_PARTIAL_WAKE_LOCK,
+                                                             binder,
+                                                             String16("TimedEventQueue"),
+                                                             String16("media"));
+            IPCThreadState::self()->restoreCallingIdentity(token);
+            if (status == NO_ERROR) {
+                mWakeLockToken = binder;
+            }
         }
     }
 }
 
-void TimedEventQueue::releaseWakeLock_l()
+void TimedEventQueue::releaseWakeLock_l(bool force)
 {
-    if (mWakeLockToken == 0) {
-        return;
+    if (force) {
+        if (mWakeLockCount == 0) {
+            return;
+        }
+        // Force wakelock release below by setting reference count to 1.
+        mWakeLockCount = 1;
     }
-    if (mPowerManager != 0) {
-        int64_t token = IPCThreadState::self()->clearCallingIdentity();
-        mPowerManager->releaseWakeLock(mWakeLockToken, 0);
-        IPCThreadState::self()->restoreCallingIdentity(token);
+    CHECK(mWakeLockCount != 0);
+    if (--mWakeLockCount == 0) {
+        CHECK(mWakeLockToken != 0);
+        if (mPowerManager != 0) {
+            int64_t token = IPCThreadState::self()->clearCallingIdentity();
+            mPowerManager->releaseWakeLock(mWakeLockToken, 0);
+            IPCThreadState::self()->restoreCallingIdentity(token);
+        }
+        mWakeLockToken.clear();
     }
-    mWakeLockToken.clear();
 }
 
 void TimedEventQueue::clearPowerManager()
 {
     Mutex::Autolock _l(mLock);
-    releaseWakeLock_l();
+    releaseWakeLock_l(true /*force*/);
     mPowerManager.clear();
 }
 
diff --git a/media/libstagefright/Utils.cpp b/media/libstagefright/Utils.cpp
index 4db8e80..9041c21 100644
--- a/media/libstagefright/Utils.cpp
+++ b/media/libstagefright/Utils.cpp
@@ -540,7 +540,8 @@
     return BAD_VALUE;
 }
 
-bool canOffloadStream(const sp<MetaData>& meta, bool hasVideo, bool isStreaming)
+bool canOffloadStream(const sp<MetaData>& meta, bool hasVideo,
+                      bool isStreaming, audio_stream_type_t streamType)
 {
     const char *mime;
     CHECK(meta->findCString(kKeyMIMEType, &mime));
@@ -594,7 +595,7 @@
     info.bit_rate = brate;
 
 
-    info.stream_type = AUDIO_STREAM_MUSIC;
+    info.stream_type = streamType;
     info.has_video = hasVideo;
     info.is_streaming = isStreaming;
 
diff --git a/media/libstagefright/httplive/LiveSession.cpp b/media/libstagefright/httplive/LiveSession.cpp
index bd12ddc..233db44 100644
--- a/media/libstagefright/httplive/LiveSession.cpp
+++ b/media/libstagefright/httplive/LiveSession.cpp
@@ -632,9 +632,6 @@
         // playlist unchanged
         *unchanged = true;
 
-        ALOGV("Playlist unchanged, refresh state is now %d",
-             (int)mRefreshState);
-
         return NULL;
     }
 
diff --git a/media/libstagefright/include/TimedEventQueue.h b/media/libstagefright/include/TimedEventQueue.h
index 4e49c83..38a08b1 100644
--- a/media/libstagefright/include/TimedEventQueue.h
+++ b/media/libstagefright/include/TimedEventQueue.h
@@ -118,6 +118,7 @@
     struct QueueItem {
         sp<Event> event;
         int64_t realtime_us;
+        bool has_wakelock;
     };
 
     struct StopEvent : public TimedEventQueue::Event {
@@ -139,6 +140,7 @@
     sp<IPowerManager>       mPowerManager;
     sp<IBinder>             mWakeLockToken;
     const sp<PMDeathRecipient> mDeathRecipient;
+    uint32_t                mWakeLockCount;
 
     static void *ThreadWrapper(void *me);
     void threadEntry();
@@ -146,7 +148,7 @@
     sp<Event> removeEventFromQueue_l(event_id id);
 
     void acquireWakeLock_l();
-    void releaseWakeLock_l();
+    void releaseWakeLock_l(bool force = false);
 
     TimedEventQueue(const TimedEventQueue &);
     TimedEventQueue &operator=(const TimedEventQueue &);
diff --git a/media/libstagefright/mpeg2ts/ATSParser.cpp b/media/libstagefright/mpeg2ts/ATSParser.cpp
index f87b9da..cb57a2f 100644
--- a/media/libstagefright/mpeg2ts/ATSParser.cpp
+++ b/media/libstagefright/mpeg2ts/ATSParser.cpp
@@ -1199,7 +1199,10 @@
     unsigned sync_byte = br->getBits(8);
     CHECK_EQ(sync_byte, 0x47u);
 
-    MY_LOGV("transport_error_indicator = %u", br->getBits(1));
+    if (br->getBits(1)) {  // transport_error_indicator
+        // silently ignore.
+        return OK;
+    }
 
     unsigned payload_unit_start_indicator = br->getBits(1);
     ALOGV("payload_unit_start_indicator = %u", payload_unit_start_indicator);
diff --git a/media/libstagefright/omx/GraphicBufferSource.cpp b/media/libstagefright/omx/GraphicBufferSource.cpp
index a7c5317..b8970ad 100644
--- a/media/libstagefright/omx/GraphicBufferSource.cpp
+++ b/media/libstagefright/omx/GraphicBufferSource.cpp
@@ -156,7 +156,7 @@
     if (mExecuting) {
         // We are only interested in the transition from executing->idle,
         // not loaded->idle.
-        mEndOfStream = mEndOfStreamSent = true;
+        mExecuting = false;
     }
 }
 
@@ -206,7 +206,9 @@
 void GraphicBufferSource::codecBufferEmptied(OMX_BUFFERHEADERTYPE* header) {
     Mutex::Autolock autoLock(mMutex);
 
-    CHECK(mExecuting);  // could this happen if app stop()s early?
+    if (!mExecuting) {
+        return;
+    }
 
     int cbi = findMatchingCodecBuffer_l(header);
     if (cbi < 0) {
diff --git a/services/audioflinger/Threads.cpp b/services/audioflinger/Threads.cpp
index 6987dbd..4e23129 100644
--- a/services/audioflinger/Threads.cpp
+++ b/services/audioflinger/Threads.cpp
@@ -3946,8 +3946,7 @@
     :   DirectOutputThread(audioFlinger, output, id, device, OFFLOAD),
         mHwPaused(false),
         mFlushPending(false),
-        mPausedBytesRemaining(0),
-        mPreviousTrack(NULL)
+        mPausedBytesRemaining(0)
 {
     //FIXME: mStandby should be set to true by ThreadBase constructor
     mStandby = true;
@@ -3994,23 +3993,6 @@
         sp<Track> l = mLatestActiveTrack.promote();
         bool last = l.get() == track;
 
-        if (mPreviousTrack != NULL) {
-            if (track != mPreviousTrack) {
-                // Flush any data still being written from last track
-                mBytesRemaining = 0;
-                if (mPausedBytesRemaining) {
-                    // Last track was paused so we also need to flush saved
-                    // mixbuffer state and invalidate track so that it will
-                    // re-submit that unwritten data when it is next resumed
-                    mPausedBytesRemaining = 0;
-                    // Invalidate is a bit drastic - would be more efficient
-                    // to have a flag to tell client that some of the
-                    // previously written data was lost
-                    mPreviousTrack->invalidate();
-                }
-            }
-        }
-        mPreviousTrack = track;
         if (track->isPausing()) {
             track->setPaused();
             if (last) {
@@ -4058,6 +4040,31 @@
             }
 
             if (last) {
+                sp<Track> previousTrack = mPreviousTrack.promote();
+                if (previousTrack != 0) {
+                    if (track != previousTrack.get()) {
+                        // Flush any data still being written from last track
+                        mBytesRemaining = 0;
+                        if (mPausedBytesRemaining) {
+                            // Last track was paused so we also need to flush saved
+                            // mixbuffer state and invalidate track so that it will
+                            // re-submit that unwritten data when it is next resumed
+                            mPausedBytesRemaining = 0;
+                            // Invalidate is a bit drastic - would be more efficient
+                            // to have a flag to tell client that some of the
+                            // previously written data was lost
+                            previousTrack->invalidate();
+                        }
+                        // flush data already sent to the DSP if changing audio session as audio
+                        // comes from a different source. Also invalidate previous track to force a
+                        // seek when resuming.
+                        if (previousTrack->sessionId() != track->sessionId()) {
+                            previousTrack->invalidate();
+                            mFlushPending = true;
+                        }
+                    }
+                }
+                mPreviousTrack = track;
                 // reset retry count
                 track->mRetryCount = kMaxTrackRetriesOffload;
                 mActiveTrack = t;
@@ -4076,14 +4083,18 @@
                     track->mState = TrackBase::STOPPING_2; // so presentation completes after drain
                     // do not drain if no data was ever sent to HAL (mStandby == true)
                     if (last && !mStandby) {
-                        sleepTime = 0;
-                        standbyTime = systemTime() + standbyDelay;
-                        mixerStatus = MIXER_DRAIN_TRACK;
-                        mDrainSequence += 2;
+                        // do not modify drain sequence if we are already draining. This happens
+                        // when resuming from pause after drain.
+                        if ((mDrainSequence & 1) == 0) {
+                            sleepTime = 0;
+                            standbyTime = systemTime() + standbyDelay;
+                            mixerStatus = MIXER_DRAIN_TRACK;
+                            mDrainSequence += 2;
+                        }
                         if (mHwPaused) {
                             // It is possible to move from PAUSED to STOPPING_1 without
                             // a resume so we must ensure hardware is running
-                            mOutput->stream->resume(mOutput->stream);
+                            doHwResume = true;
                             mHwPaused = false;
                         }
                     }
diff --git a/services/audioflinger/Threads.h b/services/audioflinger/Threads.h
index 43e335d..d31009e 100644
--- a/services/audioflinger/Threads.h
+++ b/services/audioflinger/Threads.h
@@ -764,7 +764,7 @@
     bool        mFlushPending;
     size_t      mPausedWriteLength;     // length in bytes of write interrupted by pause
     size_t      mPausedBytesRemaining;  // bytes still waiting in mixbuffer after resume
-    Track       *mPreviousTrack;         // used to detect track switch
+    wp<Track>   mPreviousTrack;         // used to detect track switch
 };
 
 class AsyncCallbackThread : public Thread {
diff --git a/services/camera/libcameraservice/api1/client2/Parameters.cpp b/services/camera/libcameraservice/api1/client2/Parameters.cpp
index 1e425ba..08af566 100644
--- a/services/camera/libcameraservice/api1/client2/Parameters.cpp
+++ b/services/camera/libcameraservice/api1/client2/Parameters.cpp
@@ -183,8 +183,7 @@
     // still have to do something sane for them
 
     // NOTE: Not scaled like FPS range values are.
-    previewFps = fpsFromRange(previewFpsRange[0], previewFpsRange[1]);
-    lastSetPreviewFps = previewFps;
+    int previewFps = fpsFromRange(previewFpsRange[0], previewFpsRange[1]);
     params.set(CameraParameters::KEY_PREVIEW_FRAME_RATE,
             previewFps);
 
@@ -1134,13 +1133,22 @@
 
     // PREVIEW_FPS_RANGE
     bool fpsRangeChanged = false;
+    int32_t lastSetFpsRange[2];
+
+    params.getPreviewFpsRange(&lastSetFpsRange[0], &lastSetFpsRange[1]);
+    lastSetFpsRange[0] /= kFpsToApiScale;
+    lastSetFpsRange[1] /= kFpsToApiScale;
+
     newParams.getPreviewFpsRange(&validatedParams.previewFpsRange[0],
             &validatedParams.previewFpsRange[1]);
     validatedParams.previewFpsRange[0] /= kFpsToApiScale;
     validatedParams.previewFpsRange[1] /= kFpsToApiScale;
 
-    if (validatedParams.previewFpsRange[0] != previewFpsRange[0] ||
-            validatedParams.previewFpsRange[1] != previewFpsRange[1]) {
+    // Compare the FPS range value from the last set() to the current set()
+    // to determine if the client has changed it
+    if (validatedParams.previewFpsRange[0] != lastSetFpsRange[0] ||
+            validatedParams.previewFpsRange[1] != lastSetFpsRange[1]) {
+
         fpsRangeChanged = true;
         camera_metadata_ro_entry_t availablePreviewFpsRanges =
             staticInfo(ANDROID_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES, 2);
@@ -1158,16 +1166,6 @@
                     validatedParams.previewFpsRange[1]);
             return BAD_VALUE;
         }
-        validatedParams.previewFps =
-            fpsFromRange(validatedParams.previewFpsRange[0],
-                         validatedParams.previewFpsRange[1]);
-
-        // Update our last-seen single preview FPS, needed for disambiguating
-        // when the application is intending to use the deprecated single-FPS
-        // setting vs. the range FPS setting
-        validatedParams.lastSetPreviewFps = newParams.getPreviewFrameRate();
-
-        newParams.setPreviewFrameRate(validatedParams.previewFps);
     }
 
     // PREVIEW_FORMAT
@@ -1205,12 +1203,11 @@
     // PREVIEW_FRAME_RATE Deprecated, only use if the preview fps range is
     // unchanged this time.  The single-value FPS is the same as the minimum of
     // the range.  To detect whether the application has changed the value of
-    // previewFps, compare against their last-set preview FPS instead of the
-    // single FPS we may have synthesized from a range FPS set.
+    // previewFps, compare against their last-set preview FPS.
     if (!fpsRangeChanged) {
-        validatedParams.previewFps = newParams.getPreviewFrameRate();
-        if (validatedParams.previewFps != lastSetPreviewFps ||
-                recordingHintChanged) {
+        int previewFps = newParams.getPreviewFrameRate();
+        int lastSetPreviewFps = params.getPreviewFrameRate();
+        if (previewFps != lastSetPreviewFps || recordingHintChanged) {
             camera_metadata_ro_entry_t availableFrameRates =
                 staticInfo(ANDROID_CONTROL_AE_AVAILABLE_TARGET_FPS_RANGES);
             /**
@@ -1223,8 +1220,8 @@
               * Either way, in case of multiple ranges, break the tie by
               * selecting the smaller range.
               */
-            int targetFps = validatedParams.previewFps;
-            // all ranges which have targetFps
+
+            // all ranges which have previewFps
             Vector<Range> candidateRanges;
             for (i = 0; i < availableFrameRates.count; i+=2) {
                 Range r = {
@@ -1232,13 +1229,13 @@
                             availableFrameRates.data.i32[i+1]
                 };
 
-                if (r.min <= targetFps && targetFps <= r.max) {
+                if (r.min <= previewFps && previewFps <= r.max) {
                     candidateRanges.push(r);
                 }
             }
             if (candidateRanges.isEmpty()) {
                 ALOGE("%s: Requested preview frame rate %d is not supported",
-                        __FUNCTION__, validatedParams.previewFps);
+                        __FUNCTION__, previewFps);
                 return BAD_VALUE;
             }
             // most applicable range with targetFps
@@ -1277,14 +1274,6 @@
                 validatedParams.previewFpsRange[1],
                 validatedParams.recordingHint);
         }
-        newParams.set(CameraParameters::KEY_PREVIEW_FPS_RANGE,
-                String8::format("%d,%d",
-                        validatedParams.previewFpsRange[0] * kFpsToApiScale,
-                        validatedParams.previewFpsRange[1] * kFpsToApiScale));
-        // Update our last-seen single preview FPS, needed for disambiguating
-        // when the application is intending to use the deprecated single-FPS
-        // setting vs. the range FPS setting
-        validatedParams.lastSetPreviewFps = validatedParams.previewFps;
     }
 
     // PICTURE_SIZE
diff --git a/services/camera/libcameraservice/api1/client2/Parameters.h b/services/camera/libcameraservice/api1/client2/Parameters.h
index 93ab113..32dbd42 100644
--- a/services/camera/libcameraservice/api1/client2/Parameters.h
+++ b/services/camera/libcameraservice/api1/client2/Parameters.h
@@ -46,8 +46,6 @@
 
     int previewWidth, previewHeight;
     int32_t previewFpsRange[2];
-    int lastSetPreviewFps; // the last single FPS value seen in a set call
-    int previewFps; // deprecated, here only for tracking changes
     int previewFormat;
 
     int previewTransform; // set by CAMERA_CMD_SET_DISPLAY_ORIENTATION
diff --git a/services/camera/libcameraservice/api2/CameraDeviceClient.cpp b/services/camera/libcameraservice/api2/CameraDeviceClient.cpp
index 72126c1..1cdf8dc 100644
--- a/services/camera/libcameraservice/api2/CameraDeviceClient.cpp
+++ b/services/camera/libcameraservice/api2/CameraDeviceClient.cpp
@@ -81,7 +81,8 @@
 
     mFrameProcessor->registerListener(FRAME_PROCESSOR_LISTENER_MIN_ID,
                                       FRAME_PROCESSOR_LISTENER_MAX_ID,
-                                      /*listener*/this);
+                                      /*listener*/this,
+                                      /*quirkSendPartials*/true);
 
     return OK;
 }
diff --git a/services/camera/libcameraservice/common/FrameProcessorBase.cpp b/services/camera/libcameraservice/common/FrameProcessorBase.cpp
index b2c9b33..f2064fb 100644
--- a/services/camera/libcameraservice/common/FrameProcessorBase.cpp
+++ b/services/camera/libcameraservice/common/FrameProcessorBase.cpp
@@ -37,11 +37,11 @@
 }
 
 status_t FrameProcessorBase::registerListener(int32_t minId,
-        int32_t maxId, wp<FilteredListener> listener) {
+        int32_t maxId, wp<FilteredListener> listener, bool quirkSendPartials) {
     Mutex::Autolock l(mInputMutex);
     ALOGV("%s: Registering listener for frame id range %d - %d",
             __FUNCTION__, minId, maxId);
-    RangeListener rListener = { minId, maxId, listener };
+    RangeListener rListener = { minId, maxId, listener, quirkSendPartials };
     mRangeListeners.push_back(rListener);
     return OK;
 }
@@ -145,13 +145,14 @@
     ATRACE_CALL();
     camera_metadata_ro_entry_t entry;
 
-    // Quirks: Don't deliver partial results to listeners
+    // Quirks: Don't deliver partial results to listeners that don't want them
+    bool quirkIsPartial = false;
     entry = frame.find(ANDROID_QUIRKS_PARTIAL_RESULT);
     if (entry.count != 0 &&
             entry.data.u8[0] == ANDROID_QUIRKS_PARTIAL_RESULT_PARTIAL) {
         ALOGV("%s: Camera %d: Not forwarding partial result to listeners",
                 __FUNCTION__, device->getId());
-        return OK;
+        quirkIsPartial = true;
     }
 
     entry = frame.find(ANDROID_REQUEST_ID);
@@ -169,7 +170,8 @@
         List<RangeListener>::iterator item = mRangeListeners.begin();
         while (item != mRangeListeners.end()) {
             if (requestId >= item->minId &&
-                    requestId < item->maxId) {
+                    requestId < item->maxId &&
+                    (!quirkIsPartial || item->quirkSendPartials) ) {
                 sp<FilteredListener> listener = item->listener.promote();
                 if (listener == 0) {
                     item = mRangeListeners.erase(item);
diff --git a/services/camera/libcameraservice/common/FrameProcessorBase.h b/services/camera/libcameraservice/common/FrameProcessorBase.h
index 4d80ebf..89b608a 100644
--- a/services/camera/libcameraservice/common/FrameProcessorBase.h
+++ b/services/camera/libcameraservice/common/FrameProcessorBase.h
@@ -44,9 +44,11 @@
     };
 
     // Register a listener for a range of IDs [minId, maxId). Multiple listeners
-    // can be listening to the same range
+    // can be listening to the same range.
+    // QUIRK: sendPartials controls whether partial results will be sent.
     status_t registerListener(int32_t minId, int32_t maxId,
-                              wp<FilteredListener> listener);
+                              wp<FilteredListener> listener,
+                              bool quirkSendPartials = true);
     status_t removeListener(int32_t minId, int32_t maxId,
                             wp<FilteredListener> listener);
 
@@ -64,6 +66,7 @@
         int32_t minId;
         int32_t maxId;
         wp<FilteredListener> listener;
+        bool quirkSendPartials;
     };
     List<RangeListener> mRangeListeners;
 
diff --git a/services/camera/libcameraservice/device3/Camera3Device.cpp b/services/camera/libcameraservice/device3/Camera3Device.cpp
index 4d480e9..8acda33 100644
--- a/services/camera/libcameraservice/device3/Camera3Device.cpp
+++ b/services/camera/libcameraservice/device3/Camera3Device.cpp
@@ -1409,7 +1409,8 @@
  * Check if all 3A fields are ready, and send off a partial 3A-only result
  * to the output frame queue
  */
-bool Camera3Device::processPartial3AQuirk(int32_t frameNumber,
+bool Camera3Device::processPartial3AQuirk(
+        int32_t frameNumber, int32_t requestId,
         const CameraMetadata& partial) {
 
     // Check if all 3A states are present
@@ -1456,10 +1457,10 @@
 
     if (!gotAllStates) return false;
 
-    ALOGVV("%s: Camera %d: Frame %d: AF mode %d, AWB mode %d, "
+    ALOGVV("%s: Camera %d: Frame %d, Request ID %d: AF mode %d, AWB mode %d, "
         "AF state %d, AE state %d, AWB state %d, "
         "AF trigger %d, AE precapture trigger %d",
-        __FUNCTION__, mId, frameNumber,
+        __FUNCTION__, mId, frameNumber, requestId,
         afMode, awbMode,
         afState, aeState, awbState,
         afTriggerId, aeTriggerId);
@@ -1467,9 +1468,10 @@
     // Got all states, so construct a minimal result to send
     // In addition to the above fields, this means adding in
     //   android.request.frameCount
+    //   android.request.requestId
     //   android.quirks.partialResult
 
-    const size_t kMinimal3AResultEntries = 7;
+    const size_t kMinimal3AResultEntries = 10;
 
     Mutex::Autolock l(mOutputLock);
 
@@ -1483,6 +1485,11 @@
         return false;
     }
 
+    if (!insert3AResult(min3AResult, ANDROID_REQUEST_ID,
+            &requestId, frameNumber)) {
+        return false;
+    }
+
     static const uint8_t partialResult = ANDROID_QUIRKS_PARTIAL_RESULT_PARTIAL;
     if (!insert3AResult(min3AResult, ANDROID_QUIRKS_PARTIAL_RESULT,
             &partialResult, frameNumber)) {
@@ -1619,7 +1626,8 @@
                 if (!request.partialResultQuirk.haveSent3A) {
                     request.partialResultQuirk.haveSent3A =
                             processPartial3AQuirk(frameNumber,
-                                request.partialResultQuirk.collectedResult);
+                                    request.requestId,
+                                    request.partialResultQuirk.collectedResult);
                 }
             }
         }
diff --git a/services/camera/libcameraservice/device3/Camera3Device.h b/services/camera/libcameraservice/device3/Camera3Device.h
index 4a24a88..468f641 100644
--- a/services/camera/libcameraservice/device3/Camera3Device.h
+++ b/services/camera/libcameraservice/device3/Camera3Device.h
@@ -491,7 +491,8 @@
      * and if so, queue up 3A-only result to the client. Returns true if 3A
      * is sent.
      */
-    bool processPartial3AQuirk(int32_t frameNumber, const CameraMetadata& partial);
+    bool processPartial3AQuirk(int32_t frameNumber, int32_t requestId,
+            const CameraMetadata& partial);
 
     // Helpers for reading and writing 3A metadata into to/from partial results
     template<typename T>
diff --git a/services/camera/libcameraservice/device3/Camera3InputStream.cpp b/services/camera/libcameraservice/device3/Camera3InputStream.cpp
index 5aa9a3e..e1c492b 100644
--- a/services/camera/libcameraservice/device3/Camera3InputStream.cpp
+++ b/services/camera/libcameraservice/device3/Camera3InputStream.cpp
@@ -199,13 +199,33 @@
     assert(mMaxSize == 0);
     assert(camera3_stream::format != HAL_PIXEL_FORMAT_BLOB);
 
-    mTotalBufferCount = BufferQueue::MIN_UNDEQUEUED_BUFFERS +
-                        camera3_stream::max_buffers;
     mDequeuedBufferCount = 0;
     mFrameCount = 0;
 
     if (mConsumer.get() == 0) {
         sp<BufferQueue> bq = new BufferQueue();
+
+        int minUndequeuedBuffers = 0;
+        res = bq->query(NATIVE_WINDOW_MIN_UNDEQUEUED_BUFFERS, &minUndequeuedBuffers);
+        if (res != OK || minUndequeuedBuffers < 0) {
+            ALOGE("%s: Stream %d: Could not query min undequeued buffers (error %d, bufCount %d)",
+                  __FUNCTION__, mId, res, minUndequeuedBuffers);
+            return res;
+        }
+        size_t minBufs = static_cast<size_t>(minUndequeuedBuffers);
+        /*
+         * We promise never to 'acquire' more than camera3_stream::max_buffers
+         * at any one time.
+         *
+         * Boost the number up to meet the minimum required buffer count.
+         *
+         * (Note that this sets consumer-side buffer count only,
+         * and not the sum of producer+consumer side as in other camera streams).
+         */
+        mTotalBufferCount = camera3_stream::max_buffers > minBufs ?
+            camera3_stream::max_buffers : minBufs;
+        // TODO: somehow set the total buffer count when producer connects?
+
         mConsumer = new BufferItemConsumer(bq, camera3_stream::usage,
                                            mTotalBufferCount);
         mConsumer->setName(String8::format("Camera3-InputStream-%d", mId));
diff --git a/services/camera/libcameraservice/device3/Camera3InputStream.h b/services/camera/libcameraservice/device3/Camera3InputStream.h
index 681d684..ae49467 100644
--- a/services/camera/libcameraservice/device3/Camera3InputStream.h
+++ b/services/camera/libcameraservice/device3/Camera3InputStream.h
@@ -44,6 +44,8 @@
 
     virtual void     dump(int fd, const Vector<String16> &args) const;
 
+    // TODO: expose an interface to get the IGraphicBufferProducer
+
   private:
 
     typedef BufferItemConsumer::BufferItem BufferItem;
diff --git a/services/camera/libcameraservice/device3/Camera3ZslStream.cpp b/services/camera/libcameraservice/device3/Camera3ZslStream.cpp
index 04f5dc5..5f63a6e 100644
--- a/services/camera/libcameraservice/device3/Camera3ZslStream.cpp
+++ b/services/camera/libcameraservice/device3/Camera3ZslStream.cpp
@@ -109,14 +109,14 @@
 } // namespace anonymous
 
 Camera3ZslStream::Camera3ZslStream(int id, uint32_t width, uint32_t height,
-        int depth) :
+        int bufferCount) :
         Camera3OutputStream(id, CAMERA3_STREAM_BIDIRECTIONAL,
                             width, height,
                             HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED),
-        mDepth(depth) {
+        mDepth(bufferCount) {
 
     sp<BufferQueue> bq = new BufferQueue();
-    mProducer = new RingBufferConsumer(bq, GRALLOC_USAGE_HW_CAMERA_ZSL, depth);
+    mProducer = new RingBufferConsumer(bq, GRALLOC_USAGE_HW_CAMERA_ZSL, bufferCount);
     mConsumer = new Surface(bq);
 }
 
diff --git a/services/camera/libcameraservice/device3/Camera3ZslStream.h b/services/camera/libcameraservice/device3/Camera3ZslStream.h
index c7f4490..6721832 100644
--- a/services/camera/libcameraservice/device3/Camera3ZslStream.h
+++ b/services/camera/libcameraservice/device3/Camera3ZslStream.h
@@ -37,10 +37,10 @@
         public Camera3OutputStream {
   public:
     /**
-     * Set up a ZSL stream of a given resolution. Depth is the number of buffers
+     * Set up a ZSL stream of a given resolution. bufferCount is the number of buffers
      * cached within the stream that can be retrieved for input.
      */
-    Camera3ZslStream(int id, uint32_t width, uint32_t height, int depth);
+    Camera3ZslStream(int id, uint32_t width, uint32_t height, int bufferCount);
     ~Camera3ZslStream();
 
     virtual void     dump(int fd, const Vector<String16> &args) const;
diff --git a/services/camera/libcameraservice/gui/RingBufferConsumer.h b/services/camera/libcameraservice/gui/RingBufferConsumer.h
index b4ad824..a03736d 100644
--- a/services/camera/libcameraservice/gui/RingBufferConsumer.h
+++ b/services/camera/libcameraservice/gui/RingBufferConsumer.h
@@ -64,7 +64,7 @@
     // bufferCount parameter specifies how many buffers can be pinned for user
     // access at the same time.
     RingBufferConsumer(const sp<IGraphicBufferConsumer>& consumer, uint32_t consumerUsage,
-            int bufferCount = BufferQueue::MIN_UNDEQUEUED_BUFFERS);
+            int bufferCount);
 
     virtual ~RingBufferConsumer();