aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDrew DeVault <sir@cmpwn.com>2017-06-19 15:16:40 -0400
committerGitHub <noreply@github.com>2017-06-19 15:16:40 -0400
commitfa4a04da223aadcc1feba7fe133b0f44ac01e95a (patch)
treec5b5a57ddf085993a16a5c9f29076b90f3baccf1
parent325a331425c1771d16fa90d099fa33f3ab8772f3 (diff)
parent632a04f1b7dea35f46a2fa478bf53869854a1b5e (diff)
Merge pull request #11 from SirCmpwn/libinput
[WIP] libinput backend
-rw-r--r--CMake/FindXKBCommon.cmake19
-rw-r--r--CMakeLists.txt4
-rw-r--r--backend/CMakeLists.txt15
-rw-r--r--backend/backend.c42
-rw-r--r--backend/drm/drm.c96
-rw-r--r--backend/libinput/backend.c121
-rw-r--r--backend/libinput/events.c188
-rw-r--r--backend/libinput/keyboard.c65
-rw-r--r--backend/libinput/pointer.c129
-rw-r--r--backend/libinput/tablet_pad.c95
-rw-r--r--backend/libinput/tablet_tool.c150
-rw-r--r--backend/libinput/touch.c93
-rw-r--r--backend/multi/backend.c107
-rw-r--r--example/CMakeLists.txt43
-rw-r--r--example/cat.c4381
-rw-r--r--example/pointer.c133
-rw-r--r--example/rotation.c182
-rw-r--r--example/shared.c475
-rw-r--r--example/shared.h131
-rw-r--r--example/simple.c155
-rw-r--r--example/tablet.c164
-rw-r--r--example/touch.c122
-rw-r--r--include/backend/drm.h8
-rw-r--r--include/backend/libinput.h80
-rw-r--r--include/backend/multi.h13
-rw-r--r--include/render/gles3.h3
-rw-r--r--include/types.h55
-rw-r--r--include/wlr/backend.h8
-rw-r--r--include/wlr/backend/libinput.h15
-rw-r--r--include/wlr/backend/multi.h10
-rw-r--r--include/wlr/render.h10
-rw-r--r--include/wlr/render/interface.h4
-rw-r--r--include/wlr/session.h2
-rw-r--r--include/wlr/session/interface.h2
-rw-r--r--include/wlr/types.h295
-rw-r--r--render/gles3/renderer.c35
-rw-r--r--render/gles3/shaders.c75
-rw-r--r--render/wlr_renderer.c10
-rw-r--r--session/logind.c3
-rw-r--r--types/CMakeLists.txt6
-rw-r--r--types/wlr_input_device.c43
-rw-r--r--types/wlr_keyboard.c29
-rw-r--r--types/wlr_output.c9
-rw-r--r--types/wlr_pointer.c26
-rw-r--r--types/wlr_tablet_pad.c25
-rw-r--r--types/wlr_tablet_tool.c26
-rw-r--r--types/wlr_touch.c26
47 files changed, 5700 insertions, 2028 deletions
diff --git a/CMake/FindXKBCommon.cmake b/CMake/FindXKBCommon.cmake
new file mode 100644
index 00000000..30ac503a
--- /dev/null
+++ b/CMake/FindXKBCommon.cmake
@@ -0,0 +1,19 @@
+# - Find XKBCommon
+# Once done, this will define
+#
+# XKBCOMMON_FOUND - System has XKBCommon
+# XKBCOMMON_INCLUDE_DIRS - The XKBCommon include directories
+# XKBCOMMON_LIBRARIES - The libraries needed to use XKBCommon
+# XKBCOMMON_DEFINITIONS - Compiler switches required for using XKBCommon
+
+find_package(PkgConfig)
+pkg_check_modules(PC_XKBCOMMON QUIET xkbcommon)
+find_path(XKBCOMMON_INCLUDE_DIRS NAMES xkbcommon/xkbcommon.h HINTS ${PC_XKBCOMMON_INCLUDE_DIRS})
+find_library(XKBCOMMON_LIBRARIES NAMES xkbcommon HINTS ${PC_XKBCOMMON_LIBRARY_DIRS})
+
+set(XKBCOMMON_DEFINITIONS ${PC_XKBCOMMON_CFLAGS_OTHER})
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(XKBCOMMON DEFAULT_MSG XKBCOMMON_LIBRARIES XKBCOMMON_INCLUDE_DIRS)
+mark_as_advanced(XKBCOMMON_LIBRARIES XKBCOMMON_INCLUDE_DIRS)
+
diff --git a/CMakeLists.txt b/CMakeLists.txt
index fbd63e05..353e96fb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,9 +2,6 @@ cmake_minimum_required(VERSION 3.1.0)
project(wlroots C)
-if (CMAKE_BUILD_TYPE EQUAL "Debug")
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g")
-endif()
set(CMAKE_C_STANDARD 99)
set(CMAKE_C_EXTENSIONS OFF)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)
@@ -51,6 +48,7 @@ find_package(GLESv2 REQUIRED)
find_package(DRM REQUIRED)
find_package(GBM REQUIRED)
find_package(LibInput REQUIRED)
+find_package(XKBCommon REQUIRED)
find_package(Udev REQUIRED)
find_package(Systemd)
diff --git a/backend/CMakeLists.txt b/backend/CMakeLists.txt
index 91f0f06e..9594c318 100644
--- a/backend/CMakeLists.txt
+++ b/backend/CMakeLists.txt
@@ -2,6 +2,7 @@ include_directories(
${PROTOCOLS_INCLUDE_DIRS}
${WAYLAND_INCLUDE_DIR}
${DRM_INCLUDE_DIRS}
+ ${LIBINPUT_INCLUDE_DIRS}
)
add_library(wlr-backend
@@ -9,11 +10,22 @@ add_library(wlr-backend
#wayland/registry.c
#wayland/wl_seat.c
#wayland/wl_output.c
+
drm/backend.c
drm/drm.c
- udev.c
+
+ libinput/backend.c
+ libinput/events.c
+ libinput/keyboard.c
+ libinput/pointer.c
+ libinput/touch.c
+ libinput/tablet_tool.c
+ libinput/tablet_pad.c
+
+ multi/backend.c
backend.c
egl.c
+ udev.c
)
target_link_libraries(wlr-backend
@@ -26,5 +38,6 @@ target_link_libraries(wlr-backend
${EGL_LIBRARIES}
${SYSTEMD_LIBRARIES}
${UDEV_LIBRARIES}
+ ${LIBINPUT_LIBRARIES}
${GBM_LIBRARIES}
)
diff --git a/backend/backend.c b/backend/backend.c
index 38b65dca..02fd7479 100644
--- a/backend/backend.c
+++ b/backend/backend.c
@@ -3,10 +3,15 @@
#include <stdlib.h>
#include <string.h>
#include <errno.h>
+#include <libinput.h>
#include <wlr/session.h>
#include <wlr/backend/interface.h>
+#include <wlr/backend/drm.h>
+#include <wlr/backend/libinput.h>
+#include <wlr/backend/multi.h>
+#include "backend/libinput.h"
+#include "backend/udev.h"
#include "common/log.h"
-#include "backend/drm.h"
struct wlr_backend *wlr_backend_create(const struct wlr_backend_impl *impl,
struct wlr_backend_state *state) {
@@ -17,14 +22,10 @@ struct wlr_backend *wlr_backend_create(const struct wlr_backend_impl *impl,
}
backend->state = state;
backend->impl = impl;
+ wl_signal_init(&backend->events.input_add);
+ wl_signal_init(&backend->events.input_remove);
wl_signal_init(&backend->events.output_add);
wl_signal_init(&backend->events.output_remove);
- wl_signal_init(&backend->events.keyboard_add);
- wl_signal_init(&backend->events.keyboard_remove);
- wl_signal_init(&backend->events.pointer_add);
- wl_signal_init(&backend->events.pointer_remove);
- wl_signal_init(&backend->events.touch_add);
- wl_signal_init(&backend->events.touch_remove);
return backend;
}
@@ -51,12 +52,27 @@ struct wlr_backend *wlr_backend_autocreate(struct wl_display *display,
wlr_log(L_ERROR, "Failed to open DRM device");
goto error_udev;
}
- struct wlr_backend *wlr;
- wlr = wlr_drm_backend_create(display, session, udev, gpu);
- if (!wlr) {
+ struct wlr_backend *multi = wlr_multi_backend_create();
+ if (!multi) {
goto error_gpu;
}
- return wlr;
+ struct wlr_backend *libinput =
+ wlr_libinput_backend_create(display, session, udev);
+ if (!libinput) {
+ goto error_multi;
+ }
+ struct wlr_backend *drm =
+ wlr_drm_backend_create(display, session, udev, gpu);
+ if (!drm) {
+ goto error_libinput;
+ }
+ wlr_multi_backend_add(multi, libinput);
+ wlr_multi_backend_add(multi, drm);
+ return multi;
+error_libinput:
+ wlr_backend_destroy(libinput);
+error_multi:
+ wlr_backend_destroy(multi);
error_gpu:
close(gpu);
error_udev:
@@ -64,3 +80,7 @@ error_udev:
error:
return NULL;
}
+
+struct libinput_device *wlr_libinput_get_device_handle(struct wlr_input_device *dev) {
+ return dev->state->handle;
+}
diff --git a/backend/drm/drm.c b/backend/drm/drm.c
index d6a3f8a2..befbfb94 100644
--- a/backend/drm/drm.c
+++ b/backend/drm/drm.c
@@ -112,8 +112,8 @@ static void wlr_drm_output_end(struct wlr_output_state *output) {
drmModePageFlip(renderer->fd, output->crtc, fb_id, DRM_MODE_PAGE_FLIP_EVENT, output);
output->pageflip_pending = true;
- output->bo_last = output->bo_current;
- output->bo_current = bo;
+ output->bo[1] = output->bo[0];
+ output->bo[0] = bo;
}
void wlr_drm_output_start_renderer(struct wlr_output_state *output) {
@@ -141,8 +141,8 @@ void wlr_drm_output_start_renderer(struct wlr_output_state *output) {
drmModePageFlip(renderer->fd, output->crtc, fb_id,
DRM_MODE_PAGE_FLIP_EVENT, output);
- output->bo_last = NULL;
- output->bo_current = bo;
+ output->bo[1] = NULL;
+ output->bo[0] = bo;
}
static bool display_init_renderer(struct wlr_drm_renderer *renderer,
@@ -280,6 +280,63 @@ static void wlr_drm_output_transform(struct wlr_output_state *output,
output->wlr_output->transform = transform;
}
+static void wlr_drm_cursor_bo_update(struct wlr_output_state *output,
+ uint32_t width, uint32_t height) {
+ if (output->cursor_width == width && output->cursor_height == height) {
+ return;
+ }
+ wlr_log(L_DEBUG, "Allocating new cursor bos");
+ struct wlr_backend_state *state =
+ wl_container_of(output->renderer, state, renderer);
+ for (size_t i = 0; i < 2; ++i) {
+ output->cursor_bo[i] = gbm_bo_create(state->renderer.gbm,
+ width, height, GBM_FORMAT_ARGB8888,
+ GBM_BO_USE_CURSOR | GBM_BO_USE_WRITE);
+ if (!output->cursor_bo[i]) {
+ wlr_log(L_ERROR, "Failed to create cursor bo");
+ return;
+ }
+ if (!get_fb_for_bo(state->fd, output->cursor_bo[i])) {
+ wlr_log(L_ERROR, "Failed to create cursor fb");
+ return;
+ }
+ }
+}
+
+static bool wlr_drm_output_set_cursor(struct wlr_output_state *output,
+ const uint8_t *buf, int32_t stride, uint32_t width, uint32_t height) {
+ struct wlr_backend_state *state =
+ wl_container_of(output->renderer, state, renderer);
+ if (!buf) {
+ drmModeSetCursor(state->fd, output->crtc, 0, 0, 0);
+ return true;
+ }
+ wlr_drm_cursor_bo_update(output, width, height);
+ struct gbm_bo *bo;
+ output->current_cursor ^= 1;
+ bo = output->cursor_bo[output->current_cursor];
+ uint32_t _buf[width * height];
+ memset(_buf, 0, sizeof(_buf));
+ for (size_t i = 0; i < height; ++i) {
+ memcpy(_buf + i * width,
+ buf + i * stride,
+ width * 4);
+ }
+ if (gbm_bo_write(bo, _buf, sizeof(_buf)) < 0) {
+ wlr_log(L_ERROR, "Failed to write cursor to bo");
+ return false;
+ }
+ return !drmModeSetCursor(state->fd, output->crtc,
+ gbm_bo_get_handle(bo).s32, width, height);
+}
+
+static bool wlr_drm_output_move_cursor(struct wlr_output_state *output,
+ int x, int y) {
+ struct wlr_backend_state *state =
+ wl_container_of(output->renderer, state, renderer);
+ return !drmModeMoveCursor(state->fd, output->crtc, x, y);
+}
+
static void wlr_drm_output_destroy(struct wlr_output_state *output) {
wlr_drm_output_cleanup(output, true);
free(output);
@@ -289,6 +346,8 @@ static struct wlr_output_impl output_impl = {
.enable = wlr_drm_output_enable,
.set_mode = wlr_drm_output_set_mode,
.transform = wlr_drm_output_transform,
+ .set_cursor = wlr_drm_output_set_cursor,
+ .move_cursor = wlr_drm_output_move_cursor,
.destroy = wlr_drm_output_destroy,
};
@@ -457,6 +516,29 @@ void wlr_drm_scan_connectors(struct wlr_backend_state *state) {
snprintf(wlr_output->name, sizeof(wlr_output->name), "%s-%"PRIu32,
conn_name[conn->connector_type],
conn->connector_type_id);
+ wlr_output->phys_width = conn->mmWidth;
+ wlr_output->phys_height = conn->mmHeight;
+ switch (conn->subpixel) {
+ case DRM_MODE_SUBPIXEL_UNKNOWN:
+ wlr_output->subpixel = WL_OUTPUT_SUBPIXEL_UNKNOWN;
+ break;
+ case DRM_MODE_SUBPIXEL_HORIZONTAL_RGB:
+ wlr_output->subpixel = WL_OUTPUT_SUBPIXEL_HORIZONTAL_RGB;
+ break;
+ case DRM_MODE_SUBPIXEL_HORIZONTAL_BGR:
+ wlr_output->subpixel = WL_OUTPUT_SUBPIXEL_HORIZONTAL_BGR;
+ break;
+ case DRM_MODE_SUBPIXEL_VERTICAL_RGB:
+ wlr_output->subpixel = WL_OUTPUT_SUBPIXEL_VERTICAL_RGB;
+ break;
+ case DRM_MODE_SUBPIXEL_VERTICAL_BGR:
+ wlr_output->subpixel = WL_OUTPUT_SUBPIXEL_VERTICAL_BGR;
+ break;
+ case DRM_MODE_SUBPIXEL_NONE:
+ default:
+ wlr_output->subpixel = WL_OUTPUT_SUBPIXEL_NONE;
+ break;
+ }
drmModeEncoder *curr_enc = drmModeGetEncoder(state->fd, conn->encoder_id);
if (curr_enc) {
@@ -519,9 +601,9 @@ static void page_flip_handler(int fd, unsigned seq,
struct wlr_backend_state *state =
wl_container_of(output->renderer, state, renderer);
- if (output->bo_last) {
- gbm_surface_release_buffer(output->gbm, output->bo_last);
- output->bo_last = NULL;
+ if (output->bo[1]) {
+ gbm_surface_release_buffer(output->gbm, output->bo[1]);
+ output->bo[1] = NULL;
}
output->pageflip_pending = false;
diff --git a/backend/libinput/backend.c b/backend/libinput/backend.c
new file mode 100644
index 00000000..82ba44a6
--- /dev/null
+++ b/backend/libinput/backend.c
@@ -0,0 +1,121 @@
+#include <stdlib.h>
+#include <assert.h>
+#include <libinput.h>
+#include <wlr/session.h>
+#include <wlr/backend/interface.h>
+#include "backend/udev.h"
+#include "backend/libinput.h"
+#include "common/log.h"
+
+static int wlr_libinput_open_restricted(const char *path,
+ int flags, void *_state) {
+ struct wlr_backend_state *state = _state;
+ return wlr_session_open_file(state->session, path);
+}
+
+static void wlr_libinput_close_restricted(int fd, void *_state) {
+ struct wlr_backend_state *state = _state;
+ wlr_session_close_file(state->session, fd);
+}
+
+static const struct libinput_interface libinput_impl = {
+ .open_restricted = wlr_libinput_open_restricted,
+ .close_restricted = wlr_libinput_close_restricted
+};
+
+static int wlr_libinput_readable(int fd, uint32_t mask, void *_state) {
+ struct wlr_backend_state *state = _state;
+ if (libinput_dispatch(state->libinput) != 0) {
+ wlr_log(L_ERROR, "Failed to dispatch libinput");
+ // TODO: some kind of abort?
+ return 0;
+ }
+ struct libinput_event *event;
+ while ((event = libinput_get_event(state->libinput))) {
+ wlr_libinput_event(state, event);
+ }
+ return 0;
+}
+
+static void wlr_libinput_log(struct libinput *libinput,
+ enum libinput_log_priority priority, const char *fmt, va_list args) {
+ _wlr_vlog(L_ERROR, fmt, args);
+}
+
+static bool wlr_libinput_backend_init(struct wlr_backend_state *state) {
+ wlr_log(L_DEBUG, "Initializing libinput");
+ state->libinput = libinput_udev_create_context(&libinput_impl, state,
+ state->udev->udev);
+ if (!state->libinput) {
+ wlr_log(L_ERROR, "Failed to create libinput context");
+ return false;
+ }
+
+ // TODO: Let user customize seat used
+ if (libinput_udev_assign_seat(state->libinput, "seat0") != 0) {
+ wlr_log(L_ERROR, "Failed to assign libinput seat");
+ return false;
+ }
+
+ // TODO: More sophisticated logging
+ libinput_log_set_handler(state->libinput, wlr_libinput_log);
+ libinput_log_set_priority(state->libinput, LIBINPUT_LOG_PRIORITY_ERROR);
+
+ struct wl_event_loop *event_loop =
+ wl_display_get_event_loop(state->display);
+ if (state->input_event) {
+ wl_event_source_remove(state->input_event);
+ }
+ state->input_event = wl_event_loop_add_fd(event_loop,
+ libinput_get_fd(state->libinput), WL_EVENT_READABLE,
+ wlr_libinput_readable, state);
+ if (!state->input_event) {
+ wlr_log(L_ERROR, "Failed to create input event on event loop");
+ return false;
+ }
+ wlr_log(L_DEBUG, "libinput sucessfully initialized");
+ return true;
+}
+
+static void wlr_libinput_backend_destroy(struct wlr_backend_state *state) {
+ // TODO
+}
+
+static struct wlr_backend_impl backend_impl = {
+ .init = wlr_libinput_backend_init,
+ .destroy = wlr_libinput_backend_destroy
+};
+
+struct wlr_backend *wlr_libinput_backend_create(struct wl_display *display,
+ struct wlr_session *session, struct wlr_udev *udev) {
+ assert(display && session && udev);
+
+ struct wlr_backend_state *state = calloc(1, sizeof(struct wlr_backend_state));
+ if (!state) {
+ wlr_log(L_ERROR, "Allocation failed: %s", strerror(errno));
+ return NULL;
+ }
+
+ struct wlr_backend *backend = wlr_backend_create(&backend_impl, state);
+ if (!backend) {
+ wlr_log(L_ERROR, "Allocation failed: %s", strerror(errno));
+ goto error_state;
+ }
+
+ if (!(state->devices = list_create())) {
+ wlr_log(L_ERROR, "Allocation failed: %s", strerror(errno));
+ goto error_backend;
+ }
+
+ state->backend = backend;
+ state->session = session;
+ state->udev = udev;
+ state->display = display;
+
+ return backend;
+error_state:
+ free(state);
+error_backend:
+ wlr_backend_destroy(backend);
+ return NULL;
+}
diff --git a/backend/libinput/events.c b/backend/libinput/events.c
new file mode 100644
index 00000000..2e7cc541
--- /dev/null
+++ b/backend/libinput/events.c
@@ -0,0 +1,188 @@
+#include <stdlib.h>
+#include <assert.h>
+#include <libinput.h>
+#include <wlr/session.h>
+#include <wlr/types.h>
+#include <wlr/common/list.h>
+#include "backend/libinput.h"
+#include "common/log.h"
+#include "types.h"
+
+struct wlr_input_device *get_appropriate_device(
+ enum wlr_input_device_type desired_type,
+ struct libinput_device *device) {
+ list_t *devices = libinput_device_get_user_data(device);
+ if (!devices) {
+ return NULL;
+ }
+ for (size_t i = 0; i < devices->length; ++i) {
+ struct wlr_input_device *dev = devices->items[i];
+ if (dev->type == desired_type) {
+ return dev;
+ }
+ }
+ return NULL;
+}
+
+static void wlr_libinput_device_destroy(struct wlr_input_device_state *state) {
+ libinput_device_unref(state->handle);
+ free(state);
+}
+
+static struct wlr_input_device_impl input_device_impl = {
+ .destroy = wlr_libinput_device_destroy
+};
+
+static struct wlr_input_device *allocate_device(
+ struct wlr_backend_state *state, struct libinput_device *device,
+ list_t *devices, enum wlr_input_device_type type) {
+ int vendor = libinput_device_get_id_vendor(device);
+ int product = libinput_device_get_id_product(device);
+ const char *name = libinput_device_get_name(device);
+ struct wlr_input_device_state *devstate =
+ calloc(1, sizeof(struct wlr_input_device_state));
+ devstate->handle = device;
+ libinput_device_ref(device);
+ struct wlr_input_device *wlr_device = wlr_input_device_create(
+ type, &input_device_impl, devstate,
+ name, vendor, product);
+ list_add(devices, wlr_device);
+ list_add(state->devices, wlr_device);
+ return wlr_device;
+}
+
+static void handle_device_added(struct wlr_backend_state *state,
+ struct libinput_device *device) {
+ assert(state && device);
+ /*
+ * Note: the wlr API exposes only devices with a single capability, because
+ * that meshes better with how Wayland does things and is a bit simpler.
+ * However, libinput devices often have multiple capabilities - in such
+ * cases we have to create several devices.
+ */
+ int vendor = libinput_device_get_id_vendor(device);
+ int product = libinput_device_get_id_product(device);
+ const char *name = libinput_device_get_name(device);
+ list_t *devices = list_create();
+ wlr_log(L_DEBUG, "Added %s [%d:%d]", name, vendor, product);
+
+ if (libinput_device_has_capability(device, LIBINPUT_DEVICE_CAP_KEYBOARD)) {
+ struct wlr_input_device *wlr_device = allocate_device(state,
+ device, devices, WLR_INPUT_DEVICE_KEYBOARD);
+ wlr_device->keyboard = wlr_libinput_keyboard_create(device);
+ wl_signal_emit(&state->backend->events.input_add, wlr_device);
+ }
+ if (libinput_device_has_capability(device, LIBINPUT_DEVICE_CAP_POINTER)) {
+ struct wlr_input_device *wlr_device = allocate_device(state,
+ device, devices, WLR_INPUT_DEVICE_POINTER);
+ wlr_device->pointer = wlr_libinput_pointer_create(device);
+ wl_signal_emit(&state->backend->events.input_add, wlr_device);
+ }
+ if (libinput_device_has_capability(device, LIBINPUT_DEVICE_CAP_TOUCH)) {
+ struct wlr_input_device *wlr_device = allocate_device(state,
+ device, devices, WLR_INPUT_DEVICE_TOUCH);
+ wlr_device->touch = wlr_libinput_touch_create(device);
+ wl_signal_emit(&state->backend->events.input_add, wlr_device);
+ }
+ if (libinput_device_has_capability(device, LIBINPUT_DEVICE_CAP_TABLET_TOOL)) {
+ struct wlr_input_device *wlr_device = allocate_device(state,
+ device, devices, WLR_INPUT_DEVICE_TABLET_TOOL);
+ wlr_device->tablet_tool = wlr_libinput_tablet_tool_create(device);
+ wl_signal_emit(&state->backend->events.input_add, wlr_device);
+ }
+ if (libinput_device_has_capability(device, LIBINPUT_DEVICE_CAP_TABLET_PAD)) {
+ struct wlr_input_device *wlr_device = allocate_device(state,
+ device, devices, WLR_INPUT_DEVICE_TABLET_PAD);
+ wlr_device->tablet_pad = wlr_libinput_tablet_pad_create(device);
+ wl_signal_emit(&state->backend->events.input_add, wlr_device);
+ }
+ if (libinput_device_has_capability(device, LIBINPUT_DEVICE_CAP_GESTURE)) {
+ // TODO
+ }
+ if (libinput_device_has_capability(device, LIBINPUT_DEVICE_CAP_SWITCH)) {
+ // TODO
+ }
+
+ if (devices->length > 0) {
+ libinput_device_set_user_data(device, devices);
+ } else {
+ list_free(devices);
+ }
+}
+
+static void handle_device_removed(struct wlr_backend_state *state,
+ struct libinput_device *device) {
+ wlr_log(L_DEBUG, "libinput device removed");
+ // TODO
+}
+
+void wlr_libinput_event(struct wlr_backend_state *state,
+ struct libinput_event *event) {
+ assert(state && event);
+ struct libinput *context = libinput_event_get_context(event);
+ struct libinput_device *device = libinput_event_get_device(event);
+ enum libinput_event_type event_type = libinput_event_get_type(event);
+ (void)context;
+ switch (event_type) {
+ case LIBINPUT_EVENT_DEVICE_ADDED:
+ handle_device_added(state, device);
+ break;
+ case LIBINPUT_EVENT_DEVICE_REMOVED:
+ handle_device_removed(state, device);
+ break;
+ case LIBINPUT_EVENT_KEYBOARD_KEY:
+ handle_keyboard_key(event, device);
+ break;
+ case LIBINPUT_EVENT_POINTER_MOTION:
+ handle_pointer_motion(event, device);
+ break;
+ case LIBINPUT_EVENT_POINTER_MOTION_ABSOLUTE:
+ handle_pointer_motion_abs(event, device);
+ break;
+ case LIBINPUT_EVENT_POINTER_BUTTON:
+ handle_pointer_button(event, device);
+ break;
+ case LIBINPUT_EVENT_POINTER_AXIS:
+ handle_pointer_axis(event, device);
+ break;
+ case LIBINPUT_EVENT_TOUCH_DOWN:
+ handle_touch_down(event, device);
+ break;
+ case LIBINPUT_EVENT_TOUCH_UP:
+ handle_touch_up(event, device);
+ break;
+ case LIBINPUT_EVENT_TOUCH_MOTION:
+ handle_touch_motion(event, device);
+ break;
+ case LIBINPUT_EVENT_TOUCH_CANCEL:
+ handle_touch_cancel(event, device);
+ break;
+ case LIBINPUT_EVENT_TOUCH_FRAME:
+ // no-op (at least for now)
+ break;
+ case LIBINPUT_EVENT_TABLET_TOOL_AXIS:
+ handle_tablet_tool_axis(event, device);
+ break;
+ case LIBINPUT_EVENT_TABLET_TOOL_PROXIMITY:
+ handle_tablet_tool_proximity(event, device);
+ break;
+ case LIBINPUT_EVENT_TABLET_TOOL_TIP:
+ handle_tablet_tool_tip(event, device);
+ break;
+ case LIBINPUT_EVENT_TABLET_TOOL_BUTTON:
+ handle_tablet_tool_button(event, device);
+ break;
+ case LIBINPUT_EVENT_TABLET_PAD_BUTTON:
+ handle_tablet_pad_button(event, device);
+ break;
+ case LIBINPUT_EVENT_TABLET_PAD_RING:
+ handle_tablet_pad_ring(event, device);
+ break;
+ case LIBINPUT_EVENT_TABLET_PAD_STRIP:
+ handle_tablet_pad_strip(event, device);
+ break;
+ default:
+ wlr_log(L_DEBUG, "Unknown libinput event %d", event_type);
+ break;
+ }
+}
diff --git a/backend/libinput/keyboard.c b/backend/libinput/keyboard.c
new file mode 100644
index 00000000..f94f0103
--- /dev/null
+++ b/backend/libinput/keyboard.c
@@ -0,0 +1,65 @@
+#include <stdlib.h>
+#include <assert.h>
+#include <libinput.h>
+#include <wlr/session.h>
+#include <wlr/types.h>
+#include <wlr/common/list.h>
+#include "backend/libinput.h"
+#include "common/log.h"
+#include "types.h"
+
+struct wlr_keyboard_state {
+ struct libinput_device *device;
+};
+
+static void wlr_libinput_keyboard_set_leds(struct wlr_keyboard_state *kbstate, uint32_t leds) {
+ libinput_device_led_update(kbstate->device, leds);
+}
+
+static void wlr_libinput_keyboard_destroy(struct wlr_keyboard_state *kbstate) {
+ libinput_device_unref(kbstate->device);
+ free(kbstate);
+}
+
+struct wlr_keyboard_impl impl = {
+ .destroy = wlr_libinput_keyboard_destroy,
+ .led_update = wlr_libinput_keyboard_set_leds
+};
+
+struct wlr_keyboard *wlr_libinput_keyboard_create(
+ struct libinput_device *device) {
+ assert(device);
+ struct wlr_keyboard_state *kbstate = calloc(1, sizeof(struct wlr_keyboard_state));
+ kbstate->device = device;
+ libinput_device_ref(device);
+ libinput_device_led_update(device, 0);
+ return wlr_keyboard_create(&impl, kbstate);
+}
+
+void handle_keyboard_key(struct libinput_event *event,
+ struct libinput_device *device) {
+ struct wlr_input_device *dev =
+ get_appropriate_device(WLR_INPUT_DEVICE_KEYBOARD, device);
+ if (!dev) {
+ wlr_log(L_DEBUG, "Got a keyboard event for a device with no keyboards?");
+ return;
+ }
+ struct libinput_event_keyboard *kbevent =
+ libinput_event_get_keyboard_event(event);
+ struct wlr_keyboard_key *wlr_event =
+ calloc(1, sizeof(struct wlr_keyboard_key));
+ wlr_event->time_sec = libinput_event_keyboard_get_time(kbevent);
+ wlr_event->time_usec = libinput_event_keyboard_get_time_usec(kbevent);
+ wlr_event->keycode = libinput_event_keyboard_get_key(kbevent);
+ enum libinput_key_state state =
+ libinput_event_keyboard_get_key_state(kbevent);
+ switch (state) {
+ case LIBINPUT_KEY_STATE_RELEASED:
+ wlr_event->state = WLR_KEY_RELEASED;
+ break;
+ case LIBINPUT_KEY_STATE_PRESSED:
+ wlr_event->state = WLR_KEY_PRESSED;
+ break;
+ }
+ wl_signal_emit(&dev->keyboard->events.key, wlr_event);
+}
diff --git a/backend/libinput/pointer.c b/backend/libinput/pointer.c
new file mode 100644
index 00000000..0139fd60
--- /dev/null
+++ b/backend/libinput/pointer.c
@@ -0,0 +1,129 @@
+#include <stdlib.h>
+#include <assert.h>
+#include <libinput.h>
+#include <wlr/session.h>
+#include <wlr/types.h>
+#include <wlr/common/list.h>
+#include "backend/libinput.h"
+#include "common/log.h"
+#include "types.h"
+
+struct wlr_pointer *wlr_libinput_pointer_create(
+ struct libinput_device *device) {
+ assert(device);
+ return wlr_pointer_create(NULL, NULL);
+}
+
+void handle_pointer_motion(struct libinput_event *event,
+ struct libinput_device *device) {
+ struct wlr_input_device *dev =
+ get_appropriate_device(WLR_INPUT_DEVICE_POINTER, device);
+ if (!dev) {
+ wlr_log(L_DEBUG, "Got a pointer event for a device with no pointers?");
+ return;
+ }
+ struct libinput_event_pointer *pevent =
+ libinput_event_get_pointer_event(event);
+ struct wlr_pointer_motion *wlr_event =
+ calloc(1, sizeof(struct wlr_pointer_motion));
+ wlr_event->time_sec = libinput_event_pointer_get_time(pevent);
+ wlr_event->time_usec = libinput_event_pointer_get_time_usec(pevent);
+ wlr_event->delta_x = libinput_event_pointer_get_dx(pevent);
+ wlr_event->delta_y = libinput_event_pointer_get_dy(pevent);
+ wl_signal_emit(&dev->pointer->events.motion, wlr_event);
+}
+
+void handle_pointer_motion_abs(struct libinput_event *event,
+ struct libinput_device *device) {
+ struct wlr_input_device *dev =
+ get_appropriate_device(WLR_INPUT_DEVICE_POINTER, device);
+ if (!dev) {
+ wlr_log(L_DEBUG, "Got a pointer event for a device with no pointers?");
+ return;
+ }
+ struct libinput_event_pointer *pevent =
+ libinput_event_get_pointer_event(event);
+ struct wlr_pointer_motion_absolute *wlr_event =
+ calloc(1, sizeof(struct wlr_pointer_motion_absolute));
+ wlr_event->time_sec = libinput_event_pointer_get_time(pevent);
+ wlr_event->time_usec = libinput_event_pointer_get_time_usec(pevent);
+ wlr_event->x_mm = libinput_event_pointer_get_absolute_x(pevent);
+ wlr_event->y_mm = libinput_event_pointer_get_absolute_y(pevent);
+ libinput_device_get_size(device, &wlr_event->width_mm, &wlr_event->height_mm);
+ wl_signal_emit(&dev->pointer->events.motion_absolute, wlr_event);
+}
+
+void handle_pointer_button(struct libinput_event *event,
+ struct libinput_device *device) {
+ struct wlr_input_device *dev =
+ get_appropriate_device(WLR_INPUT_DEVICE_POINTER, device);
+ if (!dev) {
+ wlr_log(L_DEBUG, "Got a pointer event for a device with no pointers?");
+ return;
+ }
+ struct libinput_event_pointer *pevent =
+ libinput_event_get_pointer_event(event);
+ struct wlr_pointer_button *wlr_event =
+ calloc(1, sizeof(struct wlr_pointer_button));
+ wlr_event->time_sec = libinput_event_pointer_get_time(pevent);
+ wlr_event->time_usec = libinput_event_pointer_get_time_usec(pevent);
+ wlr_event->button = libinput_event_pointer_get_button(pevent);
+ switch (libinput_event_pointer_get_button_state(pevent)) {
+ case LIBINPUT_BUTTON_STATE_PRESSED:
+ wlr_event->state = WLR_BUTTON_PRESSED;
+ break;
+ case LIBINPUT_BUTTON_STATE_RELEASED:
+ wlr_event->state = WLR_BUTTON_RELEASED;
+ break;
+ }
+ wl_signal_emit(&dev->pointer->events.button, wlr_event);
+}
+
+void handle_pointer_axis(struct libinput_event *event,
+ struct libinput_device *device) {
+ struct wlr_input_device *dev =
+ get_appropriate_device(WLR_INPUT_DEVICE_POINTER, device);
+ if (!dev) {
+ wlr_log(L_DEBUG, "Got a pointer event for a device with no pointers?");
+ return;
+ }
+ struct libinput_event_pointer *pevent =
+ libinput_event_get_pointer_event(event);
+ struct wlr_pointer_axis *wlr_event =
+ calloc(1, sizeof(struct wlr_pointer_axis));
+ wlr_event->time_sec = libinput_event_pointer_get_time(pevent);
+ wlr_event->time_usec = libinput_event_pointer_get_time_usec(pevent);
+ switch (libinput_event_pointer_get_axis_source(pevent)) {
+ case LIBINPUT_POINTER_AXIS_SOURCE_WHEEL:
+ wlr_event->source = WLR_AXIS_SOURCE_WHEEL;
+ break;
+ case LIBINPUT_POINTER_AXIS_SOURCE_FINGER:
+ wlr_event->source = WLR_AXIS_SOURCE_FINGER;
+ break;
+ case LIBINPUT_POINTER_AXIS_SOURCE_CONTINUOUS:
+ wlr_event->source = WLR_AXIS_SOURCE_CONTINUOUS;
+ break;
+ case LIBINPUT_POINTER_AXIS_SOURCE_WHEEL_TILT:
+ wlr_event->source = WLR_AXIS_SOURCE_WHEEL_TILT;
+ break;
+ }
+ enum libinput_pointer_axis axies[] = {
+ LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL,
+ LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL,
+ };
+ for (size_t i = 0; i < sizeof(axies) / sizeof(axies[0]); ++i) {
+ if (libinput_event_pointer_has_axis(pevent, axies[i])) {
+ switch (axies[i]) {
+ case LIBINPUT_POINTER_AXIS_SCROLL_VERTICAL:
+ wlr_event->orientation = WLR_AXIS_ORIENTATION_VERTICAL;
+ break;
+ case LIBINPUT_POINTER_AXIS_SCROLL_HORIZONTAL:
+ wlr_event->orientation = WLR_AXIS_ORIENTATION_HORIZONTAL;
+ break;
+ }
+ wlr_event->delta = libinput_event_pointer_get_axis_value(
+ pevent, axies[i]);
+ }
+ wl_signal_emit(&dev->pointer->events.axis, wlr_event);
+ }
+}
diff --git a/backend/libinput/tablet_pad.c b/backend/libinput/tablet_pad.c
new file mode 100644
index 00000000..ee7c82f8
--- /dev/null
+++ b/backend/libinput/tablet_pad.c
@@ -0,0 +1,95 @@
+#include <stdlib.h>
+#include <assert.h>
+#include <libinput.h>
+#include <wlr/session.h>
+#include <wlr/types.h>
+#include <wlr/common/list.h>
+#include "backend/libinput.h"
+#include "common/log.h"
+#include "types.h"
+
+struct wlr_tablet_pad *wlr_libinput_tablet_pad_create(
+ struct libinput_device *device) {
+ assert(device);
+ return wlr_tablet_pad_create(NULL, NULL);
+}
+
+void handle_tablet_pad_button(struct libinput_event *event,
+ struct libinput_device *device) {
+ struct wlr_input_device *dev =
+ get_appropriate_device(WLR_INPUT_DEVICE_TABLET_PAD, device);
+ if (!dev) {
+ wlr_log(L_DEBUG, "Got a tablet pad event for a device with no tablet pad?");
+ return;
+ }
+ struct libinput_event_tablet_pad *pevent =
+ libinput_event_get_tablet_pad_event(event);
+ struct wlr_tablet_pad_button *wlr_event =
+ calloc(1, sizeof(struct wlr_tablet_pad_button));
+ wlr_event->time_sec = libinput_event_tablet_pad_get_time(pevent);
+ wlr_event->time_usec = libinput_event_tablet_pad_get_time_usec(pevent);
+ wlr_event->button = libinput_event_tablet_pad_get_button_number(pevent);
+ switch (libinput_event_tablet_pad_get_button_state(pevent)) {
+ case LIBINPUT_BUTTON_STATE_PRESSED:
+ wlr_event->state = WLR_BUTTON_PRESSED;
+ break;
+ case LIBINPUT_BUTTON_STATE_RELEASED:
+ wlr_event->state = WLR_BUTTON_RELEASED;
+ break;
+ }
+ wl_signal_emit(&dev->tablet_pad->events.button, wlr_event);
+}
+
+void handle_tablet_pad_ring(struct libinput_event *event,
+ struct libinput_device *device) {
+ struct wlr_input_device *dev =
+ get_appropriate_device(WLR_INPUT_DEVICE_TABLET_PAD, device);
+ if (!dev) {
+ wlr_log(L_DEBUG, "Got a tablet pad event for a device with no tablet pad?");
+ return;
+ }
+ struct libinput_event_tablet_pad *pevent =
+ libinput_event_get_tablet_pad_event(event);
+ struct wlr_tablet_pad_ring *wlr_event =
+ calloc(1, sizeof(struct wlr_tablet_pad_ring));
+ wlr_event->time_sec = libinput_event_tablet_pad_get_time(pevent);
+ wlr_event->time_usec = libinput_event_tablet_pad_get_time_usec(pevent);
+ wlr_event->ring = libinput_event_tablet_pad_get_ring_number(pevent);
+ wlr_event->position = libinput_event_tablet_pad_get_ring_position(pevent);
+ switch (libinput_event_tablet_pad_get_ring_source(pevent)) {
+ case LIBINPUT_TABLET_PAD_RING_SOURCE_UNKNOWN:
+ wlr_event->source = WLR_TABLET_PAD_RING_SOURCE_UNKNOWN;
+ break;
+ case LIBINPUT_TABLET_PAD_RING_SOURCE_FINGER:
+ wlr_event->source = WLR_TABLET_PAD_RING_SOURCE_FINGER;
+ break;
+ }
+ wl_signal_emit(&dev->tablet_pad->events.ring, wlr_event);
+}
+
+void handle_tablet_pad_strip(struct libinput_event *event,
+ struct libinput_device *device) {
+ struct wlr_input_device *dev =
+ get_appropriate_device(WLR_INPUT_DEVICE_TABLET_PAD, device);
+ if (!dev) {
+ wlr_log(L_DEBUG, "Got a tablet pad event for a device with no tablet pad?");
+ return;
+ }
+ struct libinput_event_tablet_pad *pevent =
+ libinput_event_get_tablet_pad_event(event);
+ struct wlr_tablet_pad_strip *wlr_event =
+ calloc(1, sizeof(struct wlr_tablet_pad_strip));
+ wlr_event->time_sec = libinput_event_tablet_pad_get_time(pevent);
+ wlr_event->time_usec = libinput_event_tablet_pad_get_time_usec(pevent);
+ wlr_event->strip = libinput_event_tablet_pad_get_strip_number(pevent);
+ wlr_event->position = libinput_event_tablet_pad_get_strip_position(pevent);
+ switch (libinput_event_tablet_pad_get_strip_source(pevent)) {
+ case LIBINPUT_TABLET_PAD_STRIP_SOURCE_UNKNOWN:
+ wlr_event->source = WLR_TABLET_PAD_STRIP_SOURCE_UNKNOWN;
+ break;
+ case LIBINPUT_TABLET_PAD_STRIP_SOURCE_FINGER:
+ wlr_event->source = WLR_TABLET_PAD_STRIP_SOURCE_FINGER;
+ break;
+ }
+ wl_signal_emit(&dev->tablet_pad->events.strip, wlr_event);
+}
diff --git a/backend/libinput/tablet_tool.c b/backend/libinput/tablet_tool.c
new file mode 100644
index 00000000..e8a3bc7d
--- /dev/null
+++ b/backend/libinput/tablet_tool.c
@@ -0,0 +1,150 @@
+#include <stdlib.h>
+#include <assert.h>
+#include <libinput.h>
+#include <wlr/session.h>
+#include <wlr/types.h>
+#include <wlr/common/list.h>
+#include "backend/libinput.h"
+#include "common/log.h"
+#include "types.h"
+
+struct wlr_tablet_tool *wlr_libinput_tablet_tool_create(
+ struct libinput_device *device) {
+ assert(device);
+ return wlr_tablet_tool_create(NULL, NULL);
+}
+
+void handle_tablet_tool_axis(struct libinput_event *event,
+ struct libinput_device *device) {
+ struct wlr_input_device *dev =
+ get_appropriate_device(WLR_INPUT_DEVICE_TABLET_TOOL, device);
+ if (!dev) {
+ wlr_log(L_DEBUG, "Got a tablet tool event for a device with no tablet tools?");
+ return;
+ }
+ struct libinput_event_tablet_tool *tevent =
+ libinput_event_get_tablet_tool_event(event);
+ struct wlr_tablet_tool_axis *wlr_event =
+ calloc(1, sizeof(struct wlr_tablet_tool_axis));
+ wlr_event->time_sec = libinput_event_tablet_tool_get_time(tevent);
+ wlr_event->time_usec = libinput_event_tablet_tool_get_time_usec(tevent);
+ libinput_device_get_size(device, &wlr_event->width_mm, &wlr_event->height_mm);
+ if (libinput_event_tablet_tool_x_has_changed(tevent)) {
+ wlr_event->updated_axes |= WLR_TABLET_TOOL_AXIS_X;
+ wlr_event->x_mm = libinput_event_tablet_tool_get_x(tevent);
+ }
+ if (libinput_event_tablet_tool_y_has_changed(tevent)) {
+ wlr_event->updated_axes |= WLR_TABLET_TOOL_AXIS_Y;
+ wlr_event->y_mm = libinput_event_tablet_tool_get_y(tevent);
+ }
+ if (libinput_event_tablet_tool_pressure_has_changed(tevent)) {
+ wlr_event->updated_axes |= WLR_TABLET_TOOL_AXIS_PRESSURE;
+ wlr_event->pressure = libinput_event_tablet_tool_get_pressure(tevent);
+ }
+ if (libinput_event_tablet_tool_distance_has_changed(tevent)) {
+ wlr_event->updated_axes |= WLR_TABLET_TOOL_AXIS_DISTANCE;
+ wlr_event->distance = libinput_event_tablet_tool_get_distance(tevent);
+ }
+ if (libinput_event_tablet_tool_tilt_x_has_changed(tevent)) {
+ wlr_event->updated_axes |= WLR_TABLET_TOOL_AXIS_TILT_X;
+ wlr_event->tilt_x = libinput_event_tablet_tool_get_tilt_x(tevent);
+ }
+ if (libinput_event_tablet_tool_tilt_y_has_changed(tevent)) {
+ wlr_event->updated_axes |= WLR_TABLET_TOOL_AXIS_TILT_Y;
+ wlr_event->tilt_y = libinput_event_tablet_tool_get_tilt_y(tevent);
+ }
+ if (libinput_event_tablet_tool_rotation_has_changed(tevent)) {
+ wlr_event->updated_axes |= WLR_TABLET_TOOL_AXIS_ROTATION;
+ wlr_event->rotation = libinput_event_tablet_tool_get_rotation(tevent);
+ }
+ if (libinput_event_tablet_tool_slider_has_changed(tevent)) {
+ wlr_event->updated_axes |= WLR_TABLET_TOOL_AXIS_SLIDER;
+ wlr_event->slider = libinput_event_tablet_tool_get_slider_position(tevent);
+ }
+ if (libinput_event_tablet_tool_wheel_has_changed(tevent)) {
+ wlr_event->updated_axes |= WLR_TABLET_TOOL_AXIS_WHEEL;
+ wlr_event->wheel_delta = libinput_event_tablet_tool_get_wheel_delta(tevent);
+ }
+ wl_signal_emit(&dev->tablet_tool->events.axis, wlr_event);
+}
+
+void handle_tablet_tool_proximity(struct libinput_event *event,
+ struct libinput_device *device) {
+ struct wlr_input_device *dev =
+ get_appropriate_device(WLR_INPUT_DEVICE_TABLET_TOOL, device);
+ if (!dev) {
+ wlr_log(L_DEBUG, "Got a tablet tool event for a device with no tablet tools?");
+ return;
+ }
+ struct libinput_event_tablet_tool *tevent =
+ libinput_event_get_tablet_tool_event(event);
+ struct wlr_tablet_tool_proximity *wlr_event =
+ calloc(1, sizeof(struct wlr_tablet_tool_proximity));
+ wlr_event->time_sec = libinput_event_tablet_tool_get_time(tevent);
+ wlr_event->time_usec = libinput_event_tablet_tool_get_time_usec(tevent);
+ switch (libinput_event_tablet_tool_get_proximity_state(tevent)) {
+ case LIBINPUT_TABLET_TOOL_PROXIMITY_STATE_OUT:
+ wlr_event->state = WLR_TABLET_TOOL_PROXIMITY_OUT;
+ break;
+ case LIBINPUT_TABLET_TOOL_PROXIMITY_STATE_IN:
+ wlr_event->state = WLR_TABLET_TOOL_PROXIMITY_IN;
+ handle_tablet_tool_axis(event, device);
+ break;
+ }
+ wl_signal_emit(&dev->tablet_tool->events.proximity, wlr_event);
+}
+
+void handle_tablet_tool_tip(struct libinput_event *event,
+ struct libinput_device *device) {
+ struct wlr_input_device *dev =
+ get_appropriate_device(WLR_INPUT_DEVICE_TABLET_TOOL, device);
+ if (!dev) {
+ wlr_log(L_DEBUG, "Got a tablet tool event for a device with no tablet tools?");
+ return;
+ }
+ handle_tablet_tool_axis(event, device);
+ struct libinput_event_tablet_tool *tevent =
+ libinput_event_get_tablet_tool_event(event);
+ struct wlr_tablet_tool_tip *wlr_event =
+ calloc(1, sizeof(struct wlr_tablet_tool_tip));
+ wlr_event->time_sec = libinput_event_tablet_tool_get_time(tevent);
+ wlr_event->time_usec = libinput_event_tablet_tool_get_time_usec(tevent);
+ switch (libinput_event_tablet_tool_get_tip_state(tevent)) {
+ case LIBINPUT_TABLET_TOOL_TIP_UP:
+ wlr_event->state = WLR_TABLET_TOOL_TIP_UP;
+ break;
+ case LIBINPUT_TABLET_TOOL_TIP_DOWN:
+ wlr_event->state = WLR_TABLET_TOOL_TIP_DOWN;
+ break;
+ }
+ wl_signal_emit(&dev->tablet_tool->events.tip, wlr_event);
+}
+
+void handle_tablet_tool_button(struct libinput_event *event,
+ struct libinput_device *device) {
+ struct wlr_input_device *dev =
+ get_appropriate_device(WLR_INPUT_DEVICE_TABLET_TOOL, device);
+ if (!dev) {
+ wlr_log(L_DEBUG, "Got a tablet tool event for a device with no tablet tools?");
+ return;
+ }
+ // Tip events contain axis information. We update this information
+ // before we send the proximity event
+ handle_tablet_tool_axis(event, device);
+ struct libinput_event_tablet_tool *tevent =
+ libinput_event_get_tablet_tool_event(event);
+ struct wlr_tablet_tool_button *wlr_event =
+ calloc(1, sizeof(struct wlr_tablet_tool_button));
+ wlr_event->time_sec = libinput_event_tablet_tool_get_time(tevent);
+ wlr_event->time_usec = libinput_event_tablet_tool_get_time_usec(tevent);
+ wlr_event->button = libinput_event_tablet_tool_get_button(tevent);
+ switch (libinput_event_tablet_tool_get_button_state(tevent)) {
+ case LIBINPUT_BUTTON_STATE_RELEASED:
+ wlr_event->state = WLR_BUTTON_RELEASED;
+ break;
+ case LIBINPUT_BUTTON_STATE_PRESSED:
+ wlr_event->state = WLR_BUTTON_PRESSED;
+ break;
+ }
+ wl_signal_emit(&dev->tablet_tool->events.button, wlr_event);
+}
diff --git a/backend/libinput/touch.c b/backend/libinput/touch.c
new file mode 100644
index 00000000..02c9cfef
--- /dev/null
+++ b/backend/libinput/touch.c
@@ -0,0 +1,93 @@
+#include <stdlib.h>
+#include <assert.h>
+#include <libinput.h>
+#include <wlr/session.h>
+#include <wlr/types.h>
+#include <wlr/common/list.h>
+#include "backend/libinput.h"
+#include "common/log.h"
+#include "types.h"
+
+struct wlr_touch *wlr_libinput_touch_create(
+ struct libinput_device *device) {
+ assert(device);
+ return wlr_touch_create(NULL, NULL);
+}
+
+void handle_touch_down(struct libinput_event *event,
+ struct libinput_device *device) {
+ struct wlr_input_device *dev =
+ get_appropriate_device(WLR_INPUT_DEVICE_TOUCH, device);
+ if (!dev) {
+ wlr_log(L_DEBUG, "Got a touch event for a device with no touch?");
+ return;
+ }
+ struct libinput_event_touch *tevent =
+ libinput_event_get_touch_event(event);
+ struct wlr_touch_down *wlr_event =
+ calloc(1, sizeof(struct wlr_touch_down));
+ wlr_event->time_sec = libinput_event_touch_get_time(tevent);
+ wlr_event->time_usec = libinput_event_touch_get_time_usec(tevent);
+ wlr_event->slot = libinput_event_touch_get_slot(tevent);
+ wlr_event->x_mm = libinput_event_touch_get_x(tevent);
+ wlr_event->y_mm = libinput_event_touch_get_y(tevent);
+ libinput_device_get_size(device, &wlr_event->width_mm, &wlr_event->height_mm);
+ wl_signal_emit(&dev->touch->events.down, wlr_event);
+}
+
+void handle_touch_up(struct libinput_event *event,
+ struct libinput_device *device) {
+ struct wlr_input_device *dev =
+ get_appropriate_device(WLR_INPUT_DEVICE_TOUCH, device);
+ if (!dev) {
+ wlr_log(L_DEBUG, "Got a touch event for a device with no touch?");
+ return;
+ }
+ struct libinput_event_touch *tevent =
+ libinput_event_get_touch_event(event);
+ struct wlr_touch_up *wlr_event =
+ calloc(1, sizeof(struct wlr_touch_up));
+ wlr_event->time_sec = libinput_event_touch_get_time(tevent);
+ wlr_event->time_usec = libinput_event_touch_get_time_usec(tevent);
+ wlr_event->slot = libinput_event_touch_get_slot(tevent);
+ wl_signal_emit(&dev->touch->events.up, wlr_event);
+}
+
+void handle_touch_motion(struct libinput_event *event,
+ struct libinput_device *device) {
+ struct wlr_input_device *dev =
+ get_appropriate_device(WLR_INPUT_DEVICE_TOUCH, device);
+ if (!dev) {
+ wlr_log(L_DEBUG, "Got a touch event for a device with no touch?");
+ return;
+ }
+ struct libinput_event_touch *tevent =
+ libinput_event_get_touch_event(event);
+ struct wlr_touch_motion *wlr_event =
+ calloc(1, sizeof(struct wlr_touch_motion));
+ wlr_event->time_sec = libinput_event_touch_get_time(tevent);
+ wlr_event->time_usec = libinput_event_touch_get_time_usec(tevent);
+ wlr_event->slot = libinput_event_touch_get_slot(tevent);
+ wlr_event->x_mm = libinput_event_touch_get_x(tevent);
+ wlr_event->y_mm = libinput_event_touch_get_y(tevent);
+ libinput_device_get_size(device, &wlr_event->width_mm, &wlr_event->height_mm);
+ wl_signal_emit(&dev->touch->events.motion, wlr_event);
+}
+
+void handle_touch_cancel(struct libinput_event *event,
+ struct libinput_device *device) {
+ struct wlr_input_device *dev =
+ get_appropriate_device(WLR_INPUT_DEVICE_TOUCH, device);
+ if (!dev) {
+ wlr_log(L_DEBUG, "Got a touch event for a device with no touch?");
+ return;
+ }
+ struct libinput_event_touch *tevent =
+ libinput_event_get_touch_event(event);
+ struct wlr_touch_cancel *wlr_event =
+ calloc(1, sizeof(struct wlr_touch_cancel));
+ wlr_event->time_sec = libinput_event_touch_get_time(tevent);
+ wlr_event->time_usec = libinput_event_touch_get_time_usec(tevent);
+ wlr_event->slot = libinput_event_touch_get_slot(tevent);
+ wl_signal_emit(&dev->touch->events.cancel, wlr_event);
+}
diff --git a/backend/multi/backend.c b/backend/multi/backend.c
new file mode 100644
index 00000000..e3d87ccc
--- /dev/null
+++ b/backend/multi/backend.c
@@ -0,0 +1,107 @@
+#include <stdbool.h>
+#include <stdlib.h>
+#include <wlr/backend/interface.h>
+#include <wlr/common/log.h>
+#include "backend/multi.h"
+#include "common/log.h"
+
+struct subbackend_state {
+ struct wlr_backend *backend;
+ struct wlr_backend *container;
+ struct wl_listener input_add;
+ struct wl_listener input_remove;
+ struct wl_listener output_add;
+ struct wl_listener output_remove;
+};
+
+static bool multi_backend_init(struct wlr_backend_state *state) {
+ for (size_t i = 0; i < state->backends->length; ++i) {
+ struct subbackend_state *sub = state->backends->items[i];
+ if (!wlr_backend_init(sub->backend)) {
+ wlr_log(L_ERROR, "Failed to initialize backend %zd", i);
+ return false;
+ }
+ }
+ return true;
+}
+
+static void multi_backend_destroy(struct wlr_backend_state *state) {
+ for (size_t i = 0; i < state->backends->length; ++i) {
+ struct subbackend_state *sub = state->backends->items[i];
+ wlr_backend_destroy(sub->backend);
+ free(sub);
+ }
+ list_free(state->backends);
+ free(state);
+}
+
+struct wlr_backend_impl backend_impl = {
+ .init = multi_backend_init,
+ .destroy = multi_backend_destroy
+};
+
+struct wlr_backend *wlr_multi_backend_create() {
+ struct wlr_backend_state *state =
+ calloc(1, sizeof(struct wlr_backend_state));
+ if (!state) {
+ wlr_log(L_ERROR, "Backend allocation failed");
+ return NULL;
+ }
+ state->backends = list_create();
+ if (!state->backends) {
+ free(state);
+ wlr_log(L_ERROR, "Backend allocation failed");
+ return NULL;
+ }
+ struct wlr_backend *backend = wlr_backend_create(&backend_impl, state);
+ state->backend = backend;
+ return backend;
+}
+
+static void input_add_reemit(struct wl_listener *listener, void *data) {
+ struct subbackend_state *state = wl_container_of(listener,
+ state, input_add);
+ wl_signal_emit(&state->container->events.input_add, data);
+}
+
+static void input_remove_reemit(struct wl_listener *listener, void *data) {
+ struct subbackend_state *state = wl_container_of(listener,
+ state, input_remove);
+ wl_signal_emit(&state->container->events.input_remove, data);
+}
+
+static void output_add_reemit(struct wl_listener *listener, void *data) {
+ struct subbackend_state *state = wl_container_of(listener,
+ state, output_add);
+ wl_signal_emit(&state->container->events.output_add, data);
+}
+
+static void output_remove_reemit(struct wl_listener *listener, void *data) {
+ struct subbackend_state *state = wl_container_of(listener,
+ state, output_remove);
+ wl_signal_emit(&state->container->events.output_remove, data);
+}
+
+void wlr_multi_backend_add(struct wlr_backend *multi,
+ struct wlr_backend *backend) {
+ struct subbackend_state *sub = calloc(1, sizeof(struct subbackend_state));
+ sub->backend = backend;
+ sub->container = multi;
+
+ sub->input_add.notify = input_add_reemit;
+ sub->input_remove.notify = input_remove_reemit;
+ sub->output_add.notify = output_add_reemit;
+ sub->output_remove.notify = output_remove_reemit;
+
+ wl_list_init(&sub->input_add.link);
+ wl_list_init(&sub->input_remove.link);
+ wl_list_init(&sub->output_add.link);
+ wl_list_init(&sub->output_remove.link);
+
+ wl_signal_add(&backend->events.input_add, &sub->input_add);
+ wl_signal_add(&backend->events.input_remove, &sub->input_remove);
+ wl_signal_add(&backend->events.output_add, &sub->output_add);
+ wl_signal_add(&backend->events.output_remove, &sub->output_remove);
+
+ list_add(multi->state->backends, sub);
+}
diff --git a/example/CMakeLists.txt b/example/CMakeLists.txt
index e8f7ec72..fff2e49b 100644
--- a/example/CMakeLists.txt
+++ b/example/CMakeLists.txt
@@ -1,19 +1,23 @@
include_directories(
${DRM_INCLUDE_DIRS}
${CMAKE_CURRENT_SOURCE_DIR}
+ ${XKBCOMMON_INCLUDE_DIRS}
)
add_executable(simple
simple.c
+ shared.c
)
target_link_libraries(simple
wlr-backend
wlr-session
+ ${XKBCOMMON_LIBRARIES}
)
add_executable(rotation
rotation.c
+ shared.c
cat.c
)
@@ -21,4 +25,43 @@ target_link_libraries(rotation
wlr-backend
wlr-session
wlr-render
+ ${XKBCOMMON_LIBRARIES}
+)
+
+add_executable(pointer
+ pointer.c
+ shared.c
+ cat.c
+)
+
+target_link_libraries(pointer
+ wlr-backend
+ wlr-session
+ wlr-render
+ ${XKBCOMMON_LIBRARIES}
+)
+
+add_executable(touch
+ touch.c
+ shared.c
+ cat.c
+)
+
+target_link_libraries(touch
+ wlr-backend
+ wlr-session
+ wlr-render
+ ${XKBCOMMON_LIBRARIES}
+)
+
+add_executable(tablet
+ tablet.c
+ shared.c
+)
+
+target_link_libraries(tablet
+ wlr-backend
+ wlr-session
+ wlr-render
+ ${XKBCOMMON_LIBRARIES}
)
diff --git a/example/cat.c b/example/cat.c
index e96c3901..0a4dba9e 100644
--- a/example/cat.c
+++ b/example/cat.c
@@ -1,1743 +1,2644 @@
-/* GIMP RGB C-Source image dump (cat.c) */
-#include "cat.h"
+/* GIMP RGBA C-Source image dump (cat.c) */
-const struct gimp_texture cat_tex = {
- 128, 128, 3,
- "[\231\021L\205\001L\211\001S\227\007U\230\006W\222\001\\\221\001T\212\001P\212\001M\203\001"
- "P\211\001Q\217\001J\207\002J\207\001M\214\001Q\217\002X\227\002X\223\001U\214\001T\216\001Z\224"
- "\003X\221\001W\216\001]\231\005^\230\006`\231\011Y\226\003W\220\002Y\222\004W\217\002]\226\007"
- "Z\226\003Z\226\001X\217\002Y\224\001X\222\001V\220\001[\227\001b\241\004a\240\004Y\227\000Y\221"
- "\001Y\217\001X\216\001[\232\005k\246\027^\231\007U\214\001r\243\031l\235\014i\232\001c\222"
- "\001W\213\004a\224\026X\216\011T\217\001V\222\002Q\211\002I{\001X\215\004j\235\006n\242\003g"
- "\235\002W\215\001X\226\003U\222\002T\207\001V\212\001W\216\001Z\226\001X\220\002[\221\001g\233"
- "\014e\233\017f\240\031Y\224\017\\\225\017f\235\026\\\225\005T\220\001U\211\002Y\216\001"
- "Y\220\002Y\222\002Y\225\001W\230\001O\216\001N\217\001W\231\003Z\233\004Z\227\004X\217\001Z\215"
- "\002X\212\001[\215\001[\215\001]\220\002]\230\001]\233\001X\220\002Y\220\002X\215\001_\234\001"
- "]\237\001V\222\002Q\215\001S\217\002S\217\001O\216\002P\224\000O\217\001M\207\001U\225\002S\216"
- "\000S\215\001S\224\001N\220\001P\226\004R\227\012X\234\021b\241\024b\242\017]\233\004V\226"
- "\001Z\233\010X\232\011N\221\001Q\215\001Z\237\021R\231\007J\224\003K\221\001P\213\001]\221"
- "\001\\\223\001U\215\002L\212\001J\205\002O\211\001U\222\001U\220\001V\224\002U\223\001Y\224\001"
- "Z\222\000[\220\001X\222\001X\225\002W\222\001T\210\001]\225\001i\237\014g\236\020j\242\026"
- "T\223\002S\215\001V\216\001[\225\001X\226\001Z\230\002Z\227\001Z\225\001^\226\005f\233\015["
- "\223\002a\234\004^\231\003m\247\014a\232\003_\226\001]\223\001X\223\001^\236\013c\242\016"
- "^\231\002`\222\002g\236\006u\254\013j\241\001c\234\002b\236\005`\232\012U\217\001U\210\002"
- "S\216\001R\216\001T\216\001d\234\005l\242\005n\244\003t\253\013a\233\003b\235\006V\217\001U"
- "\205\001X\212\001Z\217\001^\226\003\\\225\002W\216\001V\217\003R\212\000Q\211\001S\214\002S\213"
- "\001\\\223\005e\237\015X\221\002X\220\001Y\220\001W\212\001U\213\001V\220\001V\227\001V\230"
- "\001V\230\001W\230\003M\210\001R\215\001W\217\001U\210\001O\203\002W\214\002Z\217\001Z\216\000"
- "Z\225\001d\245\015V\220\001T\210\001U\214\001Z\231\002\\\236\001T\221\002M\207\002N\210\001"
- "S\217\001S\215\001V\225\001U\215\001T\210\001e\235\001\\\220\002V\214\001X\230\002S\226\001L"
- "\216\001H\207\001L\220\001T\225\003j\244\015m\247\013W\226\001U\226\006]\236\017d\244\026"
- "]\236\011K\222\002M\230\006S\235\017N\230\006Q\214\002]\223\001`\226\001Y\224\002Q\215\001"
- "N\210\001U\215\002]\227\001_\231\001]\226\001[\223\001Z\221\001Z\217\001Y\215\001W\224\001W\227"
- "\002V\217\001S\210\002]\226\001p\246\015c\233\011d\237\015R\222\000T\212\001X\220\001W\223"
- "\001V\215\001\\\231\002d\236\013o\243\032g\234\023c\233\020X\222\002c\236\007a\232\002g\237"
- "\005c\232\001c\231\002`\232\001\\\235\001^\236\005Y\231\002U\211\001\\\217\001`\226\001c\241"
- "\001m\250\005b\240\002]\233\001W\223\001W\222\002T\214\001S\217\001Z\226\004^\230\002a\232\001"
- "a\234\001j\245\010j\246\013Z\225\003f\240\014T\212\001P\202\001S\211\000Y\223\001Y\226\001"
- "\\\232\006P\215\005J\207\000L\177\002P\202\001_\225\003Y\215\001^\223\003q\250\027\\\226\003"
- "X\221\001X\222\000V\213\001W\214\002X\217\001[\233\001X\231\001O\211\002R\220\001S\212\001U\216"
- "\001W\215\001P\203\002U\212\001Z\216\002[\225\001Z\223\001U\221\001h\251\031R\223\002O\213\001"
- "U\224\002X\230\001[\233\001X\226\001R\215\001N\206\001T\214\001V\217\001X\225\001W\213\001_\222"
- "\001i\237\001_\222\001\\\224\001Y\227\001V\226\001K\205\001I\202\001J\210\001S\223\002k\244\014"
- "i\244\010]\235\003T\223\001U\226\002[\234\010b\243\013H\211\001D\214\001J\227\011V\240"
- "\021R\232\002Z\223\002]\223\001W\222\002P\215\001P\213\001W\216\001_\227\001a\226\000]\223\001"
- "Z\220\001X\217\002R\210\001U\215\001Z\226\002X\227\001U\221\001X\216\000]\227\001h\244\001`\232"
- "\001Z\225\001U\214\001W\220\001Y\221\001W\220\001Y\227\002W\227\003X\230\004U\222\005U\221\002"
- "V\222\001V\221\001\\\235\004]\236\002X\226\002Z\225\002`\237\001`\241\001\\\235\001Y\232\002"
- "X\224\001S\210\002X\215\002[\221\002X\216\001f\242\006`\234\003Y\226\001^\233\003Y\227\002W\222"
- "\001b\234\006j\243\016\\\230\002^\236\004Z\233\002e\245\015f\245\020X\226\003j\246\016U\213"
- "\000S\204\002X\222\002i\244\037m\246/}\260N\226\302si\236\061K\177\000S\207\001[\222"
- "\001U\213\001`\233\013j\244\025a\235\016f\237\025e\240\023T\217\001V\212\002\\\230\002Y"
- "\231\002M\207\001F~\002X\227\001X\217\001Z\217\001V\213\001Q\207\001]\234\001_\231\002Z\223\002"
- "Y\223\001V\222\000b\245\017X\232\006R\222\001T\223\001Z\232\001^\234\001]\234\002X\231\002R"
- "\222\001T\222\001W\231\000W\230\002W\213\001h\240\001h\236\001_\222\002\\\221\001[\231\002X\231"
- "\001N\217\001K\213\001M\215\001b\237\015^\234\007Y\227\001_\240\003U\216\002U\221\001T\222\001"
- "S\220\001K\203\001F\200\001D\213\001I\224\003O\232\002Q\227\002T\225\001T\222\001P\210\002J\204"
- "\001R\210\001X\222\001[\231\001[\234\001X\221\001S\211\001M\177\001T\213\003_\226\013W\224\004"
- "X\232\005U\222\001]\225\001d\240\002_\227\001Y\217\001X\221\001Y\223\001[\216\001\\\217\001^"
- "\234\001V\226\002R\220\001T\215\001W\217\001Y\224\001X\223\001V\224\001_\241\007V\224\001V\214"
- "\001^\240\002b\243\005[\234\002V\226\002[\234\010U\222\002U\216\001X\214\001[\217\002h\241\004"
- "j\247\006]\227\002^\226\001[\217\001Z\220\001l\245\011b\234\006V\221\001e\245\016[\234\005"
- "g\245\017f\242\015b\235\011m\251\023V\216\001U\216\001d\237\036t\254C{\257S\230\305"
- "y\251\320\223l\241\070O\206\000`\225\007\\\226\007O\217\001d\242\026`\240\020S\222\003"
- "d\240\031m\245\035Y\221\000\\\222\001`\232\001[\227\001P\204\002R\210\001_\232\001^\223\002"
- "]\223\002\\\225\001X\217\001Y\225\001Y\217\001\\\221\001X\225\001Q\214\001X\231\005_\240\011"
- "S\220\001Q\214\001W\226\001[\227\001_\236\001b\245\003V\225\002Y\232\002g\247\012a\237\004Y"
- "\216\002e\236\001^\225\001X\221\002W\222\001[\233\001Y\233\002V\230\002Q\217\001b\236\016m\247"
- "\026Y\231\003T\223\001Z\233\003R\220\001R\220\001Q\224\001U\217\001M\200\001L\204\001L\206\001"
- "N\217\001M\216\001J\217\001P\230\005P\227\003O\215\001F\201\001N\205\001R\223\003a\243\022R"
- "\224\001S\223\001S\214\001T\204\001`\223\011b\226\016]\230\014]\236\012U\222\001[\221\001"
- "c\234\001b\230\002`\225\001\\\225\001Y\215\001[\213\001^\222\001c\237\002[\223\001Y\224\001Z"
- "\223\002]\222\002]\222\002^\227\001Z\230\002b\243\010V\227\002R\216\001Z\234\002h\251\017e"
- "\244\022]\233\017b\235\027\\\227\016h\242\032c\235\014\\\223\000i\241\001j\243\002a\231"
- "\001_\233\002W\221\001V\223\000b\236\015h\243\026[\233\013a\241\015X\232\002^\236\004]\231"
- "\004c\236\006f\241\015[\230\015o\250/q\252>w\256H~\263P\236\310|\245\315\213c\237"
- "%N\216\001T\222\002R\221\002N\217\002`\241\021[\235\011P\220\001W\226\002\\\231\002d\235"
- "\002j\237\002f\233\002_\226\001W\212\002^\225\001e\236\002b\231\001`\233\001]\234\001W\217\001"
- "V\213\001U\223\001T\223\001U\225\002K\202\002M\210\001_\241\004X\223\001X\222\001Y\225\002W\220"
- "\001Y\226\001`\242\003]\240\003_\241\004i\246\007c\243\003]\232\001]\234\001S\217\001R\216\001"
- "V\225\001Z\231\001^\233\001[\225\003V\213\001i\236\017e\240\015[\232\003X\231\003]\236\006"
- "V\225\002S\222\001Z\233\001b\234\001K}\002Q\206\001O\206\002Z\223\001Z\227\001M\207\001I\211"
- "\001R\230\004J\212\002B}\001L\211\001V\232\016e\245$K\213\000M\211\001T\220\001^\232\002a\232"
- "\003X\222\001S\224\001W\232\003V\225\001\\\224\002b\230\001f\234\002b\226\001\\\217\001Y\213"
- "\002]\221\001a\230\001a\232\001[\222\002^\233\001_\224\002`\225\001a\224\001b\230\000\\\227\000"
- "`\243\004_\244\006U\225\002^\237\002c\243\007f\246\021Y\230\006V\223\005b\234\020w\253/\201"
- "\265=l\243\031k\246\002g\236\001b\233\002]\230\001X\223\001R\217\002f\241\033`\235\027i"
- "\247\035b\243\017Z\230\001^\230\001]\222\002b\231\002\\\230\004\\\232\022r\254\067x\262"
- "B|\261A\201\265I\232\307n\230\303u\\\233\020Q\213\001R\212\001W\222\002W\223\002`"
- "\240\007X\230\003M\213\002R\221\001Z\232\001c\231\001j\240\001j\241\001\\\220\001N\200\001\\"
- "\225\002d\236\002a\230\001c\237\004_\240\004V\213\001\\\232\002Z\226\002U\222\001Q\215\001M\210"
- "\001P\205\002\\\232\001^\233\002`\237\002Z\223\001W\214\002\\\232\001h\246\007f\247\014W\231"
- "\003\\\236\002\\\235\001^\233\002Z\230\002W\226\001V\230\001[\235\001\\\233\002d\241\003c\232"
- "\004^\222\004]\225\006[\230\004\\\234\003^\235\003\\\234\002]\236\002\\\234\002_\240\001_\230"
- "\001Ey\002H\201\002M\210\001R\214\002Z\231\001V\221\001N\212\001N\221\001J\211\001G\202\002G\212"
- "\001R\230\014X\234\021I\201\000L\213\001N\220\001W\227\001`\240\001]\224\001X\223\001W\227"
- "\001X\225\001^\232\001c\236\001h\247\002Z\231\001V\215\001W\217\001Y\226\001f\245\010\\\231"
- "\002X\223\002]\227\001^\221\002c\226\001e\231\001c\227\001_\227\001a\243\002h\252\012]\236\002"
- "_\242\001Z\233\001[\234\001c\244\012g\244\017c\236\021j\245\037u\253\061~\262\061n\250"
- "\012f\234\002`\221\001e\235\007e\233\021s\251\065z\261Fm\245\061o\254+f\246\023X\230"
- "\001d\236\001`\221\003n\243\011s\250\035f\237\037s\253\065|\263>w\253\064\200\263<\205"
- "\267Do\246(U\223\000W\223\002T\215\001V\217\001]\227\001e\242\004V\220\001L~\002R\220\002]"
- "\233\001b\225\002i\234\001i\241\002\\\226\001R\207\001]\231\002b\234\001^\222\001f\241\002`\234"
- "\003[\223\002c\233\002f\241\001V\213\002Q\212\001S\215\001[\226\002`\237\002]\235\001Y\232\001"
- "X\230\001U\211\001Z\226\001j\250\007a\241\004S\214\001X\227\001`\241\002a\240\001W\222\001Y\227"
- "\001^\243\002\\\233\001_\234\002b\237\001g\237\005`\227\005b\231\006_\232\003e\240\003n\250\007"
- "h\242\002p\252\006l\247\003b\232\002b\233\001<p\001J\204\002I\205\000G\204\002R\223\001V\234"
- "\001O\222\000I\223\001K\225\004F\217\000B\206\001Q\227\004P\222\002M\207\001N\215\002O\222\001"
- "T\224\001^\236\001\\\224\001X\220\001V\224\001X\227\001_\233\001m\250\001u\257\003b\234\002["
- "\225\000X\220\001X\226\000k\252\013Y\226\001Z\222\002[\216\002`\225\001d\234\001c\231\002^\223"
- "\001]\223\001]\233\002e\250\003f\245\000i\245\001f\240\001_\227\002^\237\001[\233\004d\243\025"
- "a\236\023m\246\034h\244\016g\242\003g\237\001c\230\001o\246\017u\252+w\256E\200\267"
- "Us\256:b\242\024c\245\013Y\226\000c\237\001j\237\003y\257\034~\264\063m\243,\201\263"
- "D\177\263?l\245$|\264/l\246\031Y\224\001Y\226\001Z\227\002Y\227\002Y\217\001c\234\002"
- "i\242\001]\221\001Z\222\001]\232\002]\225\001i\237\001o\246\002f\242\001Z\232\001Z\232\001Z\230"
- "\001^\226\002e\235\001l\246\001d\230\001b\230\002\\\216\002e\235\001Y\216\001W\215\001X\221\001"
- "^\233\002\\\232\000c\244\010M\211\000V\227\001[\231\001[\231\001f\247\003b\240\002X\220\001"
- "b\240\003k\250\003f\243\001]\224\002a\237\001a\241\002d\241\001d\234\002g\240\001g\236\003]\221"
- "\001i\236\004m\244\005{\261\023s\251\013l\242\005q\251\010e\237\002`\224\002h\242\001>p\001"
- "M\210\001G\203\001D|\002I\207\001S\227\001M\223\001I\221\002]\242\027H\217\004E\207\001U\233"
- "\003R\221\000Y\224\001X\215\001S\215\001V\225\001[\232\001Y\221\002Y\230\002U\226\001`\241\012"
- "]\233\002k\244\002u\255\003d\231\001Z\216\001Y\216\001c\240\004}\262\026i\240\002g\226\002d"
- "\222\002i\234\001h\240\001a\232\002\\\226\001[\220\001]\224\001_\236\001c\240\001h\244\001c\235"
- "\002^\226\001^\235\002Y\226\001d\243\016`\234\017p\251\030f\241\004g\241\001l\246\002f\233"
- "\001l\243\014q\247(v\252B\220\301eu\260\066X\232\000f\251\005]\236\002^\236\002p\254"
- "\026x\264(q\256*b\236\035~\263@t\253/[\231\006l\252\023b\241\004]\232\001[\230\001Z"
- "\231\001\\\227\001b\231\001k\237\001p\247\001k\243\001f\241\002]\230\001j\244\002p\251\002o\246"
- "\004b\233\001`\233\001b\236\002d\236\002b\233\001r\254\012y\264\012j\242\001a\225\001Y\213"
- "\002_\225\001c\236\001a\232\001c\241\001]\232\001X\225\001c\245\016Q\221\002[\232\001Z\225\001"
- "c\236\004p\254\011a\241\001`\226\001i\240\002v\256\001q\247\002k\241\001e\237\001b\233\001f"
- "\242\001e\235\001f\234\002d\234\001_\223\002i\240\003k\242\003{\260\031~\263\040g\240\003j"
- "\244\002e\236\002_\220\001i\244\001Ct\002H\201\000G\201\002Dz\002K\206\001U\225\001R\226\001K\221"
- "\001R\230\010J\221\005E\213\002R\230\001V\225\001Z\222\001N{\002P\202\001Z\222\001`\231\002]\224"
- "\001\\\235\002R\225\000]\236\015c\243\014b\240\001k\250\001c\235\002Z\223\000X\223\002j\247"
- "\011y\261\022j\235\001g\224\001i\230\002i\237\001c\232\001Y\222\001[\232\001[\227\001]\227"
- "\001b\242\003]\236\001W\227\001Y\225\001_\236\002b\237\001c\241\003f\242\007[\230\004d\240\012"
- "s\255\015h\241\001k\247\002e\242\002`\235\010f\241\036t\255A\204\272Rs\256\061[\235"
- "\001k\254\015a\242\005^\236\003n\252\026\201\273\062j\250\026]\234\006\\\235\007\\\235"
- "\005^\230\001f\235\001i\237\002h\236\001a\227\001[\221\001d\233\002p\250\002p\242\001p\246\002"
- "g\237\001a\230\001j\247\003r\255\002r\252\001i\234\002j\243\002j\243\002j\241\001g\233\001b\233"
- "\000y\262\017v\260\007k\240\001^\220\002Z\213\002W\210\001f\235\002l\247\001l\250\002g\242\002"
- "_\236\004b\243\013\\\235\002^\233\002W\215\001n\247\013q\253\007i\245\001j\241\002l\241\001"
- "w\255\002y\253\002v\257\001m\242\002d\235\001f\237\002e\234\002d\234\001`\226\001g\236\001p\250"
- "\003h\233\002n\247\014{\263\034c\237\001e\236\001e\237\002a\224\001g\241\000G{\001I\204\002K"
- "\212\005\066j\001N\212\002^\240\002X\235\001L\220\001R\230\011O\226\007F\216\000W\233\003U\222"
- "\001O\177\001Ft\001M|\002X\215\001h\240\001d\234\001Z\231\002U\227\002M\215\001X\230\002^\234\001"
- "f\243\001a\235\002]\231\001W\224\000m\253\013n\250\005k\234\001j\230\001l\234\002g\237\002Z"
- "\214\000U\211\002Z\231\001_\234\002`\233\001a\243\001[\235\001[\240\002Y\232\001c\243\002p\256"
- "\004j\244\002_\235\001]\234\002`\241\002i\246\004c\240\000l\250\007f\242\012b\237\017p\252"
- "&x\261\067w\260\067x\262.^\236\005[\235\002d\245\006^\236\002r\256\031y\264\037e\244"
- "\006c\244\003[\225\002^\231\002b\235\001k\243\002l\240\001l\242\002j\236\002f\231\002g\235\002"
- "i\240\001h\240\001h\244\001e\244\002k\250\006n\251\004q\252\001p\240\002o\241\001r\253\002p\244"
- "\001p\244\001j\235\002h\235\002t\257\001p\250\001j\234\001c\222\002g\226\001^\213\002X\211\001"
- "i\241\001m\246\001n\246\003p\252\012a\241\004Z\231\001^\231\002]\231\001p\254\015f\243\002"
- "j\244\001p\253\001q\245\002x\255\001y\254\001w\261\001n\255\002`\236\002b\234\001b\236\001`\230"
- "\002`\227\001i\237\002k\243\001g\235\001s\256\021s\260\021`\236\000a\231\001c\233\001c\227"
- "\001h\240\001J\211\001\\\232\024g\244(\067e\000T\207\002a\243\001^\242\003L\221\001N\227\004"
- "R\230\007Q\226\003V\232\003R\215\001J}\002M\200\002S\212\001`\230\001g\236\002a\225\002^\232"
- "\001Z\233\002Q\216\001P\215\001[\231\001g\243\002b\231\002X\217\001Y\225\001r\254\015f\235\002"
- "d\230\001h\231\001i\237\001d\237\002[\227\001X\224\001^\235\001a\234\001b\234\002b\240\001^\234"
- "\002Y\230\001\\\237\001a\242\000o\253\010i\245\010\\\235\002a\242\001c\243\001a\234\001[\232"
- "\000i\252\020^\240\012\\\234\010k\250\030}\265-u\257%t\260\034]\235\001[\230\001k\256"
- "\013a\243\006i\251\013i\252\013b\242\003i\253\004Z\227\001Z\227\001e\245\001h\243\001j\236"
- "\001k\240\001n\245\001j\242\001g\236\001h\240\001i\244\001k\251\002f\246\001c\241\002h\242\000"
- "o\250\001i\234\001p\242\001w\252\001q\240\002s\247\001o\244\002k\240\001n\253\001j\243\002f\236"
- "\002_\226\000\200\257\033^\220\003U\203\002c\232\001p\253\002j\243\000l\253\002b\240\001b\234"
- "\002d\233\002f\240\002n\253\010]\235\001b\237\002g\237\001s\246\001x\246\002\206\270\001\200"
- "\265\001s\255\001j\250\001e\236\002`\233\001^\227\000a\232\001j\241\003w\256\017{\263\027r"
- "\257\017n\254\015[\236\001]\226\001b\232\002h\237\001l\245\001J\210\002O\222\011n\253,H"
- "\201\001S\220\001Z\231\002_\243\002Y\234\001X\236\001[\242\011\\\243\016P\230\002O\221\000"
- "O\212\001R\213\001\\\224\001g\235\001i\235\002]\221\002^\232\001X\230\001U\226\002Q\217\001T"
- "\224\001^\236\001c\234\002]\222\001b\241\003s\256\022]\232\002a\227\001f\233\001d\234\001b\240"
- "\001c\246\002e\250\004[\234\001]\235\001`\235\001a\241\002^\233\002[\230\001a\243\001\\\236\000"
- "e\244\013j\247\025i\246\017d\244\003f\247\001^\233\002V\221\001\\\240\006Z\235\002Z\234"
- "\002`\240\005t\261\027y\266\037e\244\004a\234\001a\234\001l\254\006k\250\010j\246\011t\261"
- "\022f\246\005`\242\002Y\231\001g\247\013m\252\012g\231\002l\241\001e\233\001c\240\001c\240"
- "\001a\233\001j\244\001k\247\003e\242\001i\247\002l\245\001p\251\002o\246\001l\241\002j\235\002"
- "p\243\002q\241\001s\246\002n\243\001h\237\001h\244\001d\235\001`\233\002[\232\001i\245\015_"
- "\230\002b\230\002g\237\001m\252\002g\244\001i\244\001d\234\002a\227\001i\241\001r\253\003l\250"
- "\002b\237\001c\241\001g\240\001l\241\001q\243\001}\256\002\207\270\001}\255\001u\250\002k\241"
- "\000f\236\001b\232\002g\237\002n\245\004m\245\007z\263\026q\255\017r\261\024^\237\001]\234"
- "\002e\234\002m\245\001n\241\001U\230\010[\235\016y\262\060f\245\025S\221\001U\221\001Y\226"
- "\001a\234\001`\236\002[\235\002a\246\016V\233\003X\233\002\\\236\001Z\233\002]\227\001d\233"
- "\002f\232\001b\227\001^\230\001Z\230\001W\226\001W\226\001X\221\001f\240\002h\240\002c\236\000"
- "m\254\014l\252\020[\232\001b\230\002k\237\001h\236\002c\237\001f\247\006b\244\005\\\235\001"
- "_\240\001]\234\001\\\233\001[\231\001^\232\001a\243\001Y\233\001\\\240\010T\230\006_\240\012"
- "f\251\010d\247\002a\243\002V\230\002T\231\002c\246\011[\235\001^\236\001g\251\003j\253\005"
- "b\244\001b\242\001d\245\001f\251\001`\242\001_\240\001h\251\005e\246\001]\234\002^\237\002d\244"
- "\005e\236\002t\252\002w\254\001j\241\002h\250\002a\235\001b\233\001k\247\002m\251\003j\245\002"
- "k\245\001k\243\002s\256\002n\240\001l\240\002k\236\001p\245\001m\244\002l\244\001k\244\002i\240"
- "\001g\237\002a\227\001_\226\002\\\224\001c\233\001j\240\001l\235\001k\236\001p\253\001k\241\001"
- "f\230\002f\235\001b\226\002m\245\002t\257\002l\242\000i\241\001j\243\001h\241\001l\243\001p\252"
- "\001s\252\001\210\270\000\216\274\002z\257\002k\244\002j\246\001j\243\001n\243\001r\250\004t"
- "\252\004m\246\001n\251\006q\256\020g\247\007c\241\001e\234\001o\245\002r\243\001M\210\002U\226"
- "\003f\241\022u\255!U\223\000X\223\001Z\231\001^\223\001a\231\001\\\232\001\\\241\004M\220"
- "\001O\222\001`\244\004[\237\001\\\233\001b\233\001e\241\001a\240\001\\\234\001\\\234\001Z\223"
- "\001_\234\001_\226\001m\247\005c\243\002]\236\002g\251\014d\247\014\\\234\002c\236\002f\233"
- "\002f\233\002c\242\000p\254\020f\246\012[\235\000_\241\002X\224\001Z\231\001_\234\001d\240"
- "\001c\240\001Z\231\001W\232\001]\237\003`\243\003a\242\002c\245\004f\250\012Z\237\003V\231\002"
- "Z\235\001[\236\001_\240\001b\243\001d\242\001c\244\001d\237\001h\246\001f\246\001_\240\001^\241"
- "\002d\245\001h\250\002n\252\011k\251\014b\241\002g\242\001s\260\001o\251\002m\247\001k\251"
- "\002b\235\002a\235\001m\253\012~\271\037j\247\004l\246\001n\247\002r\257\001m\241\001m\242"
- "\001o\242\001r\246\001q\247\002n\246\002q\252\001l\242\001f\234\002c\234\001`\227\001c\227\002"
- "k\234\001m\236\001i\230\001i\236\001j\242\001i\241\001e\227\001g\225\001k\232\002q\244\001s\252"
- "\001n\240\001l\241\002i\241\001j\243\001l\251\001m\250\002l\244\002{\255\001\203\266\002v\252"
- "\001l\245\001n\246\001t\247\002y\250\001\226\266\021\236\275\034u\252\002h\241\000w\265\020"
- "s\260\012f\237\002l\242\002s\252\001r\246\001R\212\001[\230\002c\241\010m\251\021`\235\002"
- "Z\224\002]\235\001Z\221\001[\217\001a\236\001Z\240\002J\223\002R\227\003W\233\002X\226\000^\222"
- "\002a\231\001`\231\002X\221\001W\226\001[\232\001]\234\001]\234\001a\235\001l\253\004a\234\001"
- "\\\227\001_\242\001Z\233\001Y\223\001c\236\002b\232\002a\231\001a\236\002]\237\003c\246\007\\"
- "\236\001_\236\001`\236\001b\244\001b\241\001_\232\001\\\234\002[\235\001a\244\005b\244\003`\233"
- "\001d\236\001q\255\016t\256\033Z\234\003[\234\001\\\234\001`\236\001`\236\002b\236\001c\230"
- "\001h\250\001e\243\001g\243\001k\244\001e\240\002_\237\001c\244\005q\261\021y\271\034a\243"
- "\006`\242\002d\242\001q\260\001l\246\001h\246\001h\246\002d\242\001`\235\001m\255\021|\272&"
- "e\246\003j\250\001i\237\001n\250\002m\242\002k\237\002r\245\002r\245\002s\245\001o\242\001n\244"
- "\001g\236\001f\243\001e\237\001b\227\001h\235\001n\243\001m\245\002h\234\002g\237\001g\245\001"
- "n\247\001o\245\001n\235\001q\240\001q\242\002u\255\001n\241\001l\245\001s\256\002o\252\001i\236"
- "\001k\237\001m\242\001t\254\001y\256\001y\257\002t\251\001n\241\001r\241\001v\246\001~\254\004"
- "\206\263\013k\243\002i\244\001u\263\012o\256\005h\234\002m\245\002s\247\002r\245\001f\242"
- "\003[\230\001[\234\001^\240\002]\235\001^\226\001^\233\002\\\223\002W\214\001b\233\002^\240\001"
- "W\231\001X\233\001Y\231\001\\\227\001^\222\001d\233\002_\224\001X\223\002W\222\001_\241\004j"
- "\254\015Z\233\001]\236\001l\254\006a\236\001^\230\001_\241\002W\224\001\\\222\002d\237\001f"
- "\242\001b\231\002^\230\001X\226\002X\232\001W\224\001\\\233\002_\235\001c\244\001a\236\001`\234"
- "\002^\240\001Z\232\001\\\236\001\\\231\000^\225\002`\233\001_\235\001`\237\004Y\231\002\\\233"
- "\001c\240\001a\237\002c\241\004|\266\032h\241\001f\240\001d\233\002i\244\002h\237\002b\241\001"
- "\\\236\000t\261\033\210\301+l\254\020Y\236\002Z\234\001a\232\002k\243\002i\240\001e\240"
- "\001b\237\001e\246\001`\240\001j\254\006b\245\005i\254\004k\250\002j\235\001j\243\002h\234\002"
- "f\231\002g\231\002f\232\002p\245\001n\242\001k\246\001c\236\001a\240\002c\232\001_\223\002b\226"
- "\001k\246\001q\253\002j\236\002k\244\001j\237\001p\250\001t\253\001s\247\001h\233\002h\233\001"
- "p\247\002o\251\001k\242\001z\266\004q\250\001n\242\002m\242\001i\240\001k\242\001j\235\001w\253"
- "\001w\253\001m\237\001o\241\001n\241\001p\247\002n\251\002k\240\001k\243\002z\263\005x\262\004"
- "k\241\001k\240\001m\246\001j\234\002b\241\001`\233\002`\237\002[\234\001W\227\001X\221\001]\233"
- "\002Z\224\002X\214\002[\222\001_\236\001[\227\002\\\227\002Y\226\001[\230\001Z\225\001a\237\001"
- "`\240\002[\231\001X\226\002^\236\003o\256\017^\240\001\\\234\001l\255\010a\240\002_\230\001"
- "a\243\001^\237\001Z\221\001`\227\002d\237\001e\242\002b\234\002a\237\001^\234\002\\\223\001_"
- "\231\001c\241\001a\237\002`\234\001_\237\002d\244\016`\237\020W\230\000Y\222\001\\\230\001"
- "`\241\001Z\227\001Y\230\001\\\234\001a\242\002b\242\001[\232\001h\250\013v\257\031i\234\000"
- "n\243\002]\221\002f\234\002g\245\001^\236\001c\246\011\177\275*x\266\040a\243\010Y\236"
- "\005X\232\001^\232\002f\234\001f\234\002g\241\001b\241\001i\253\004g\247\002e\247\001d\242\001"
- "f\241\001n\251\001n\244\001r\247\002m\237\002c\226\001b\226\001g\236\001o\247\001o\243\001o\242"
- "\001n\237\002u\253\002e\230\001b\231\001_\224\001h\240\001i\243\002q\254\001k\244\001i\234\003"
- "q\247\001v\260\002n\244\002c\230\001e\232\001o\251\002n\250\002k\242\001s\261\003p\254\001o\252"
- "\002l\253\004f\237\002i\243\001j\240\001u\254\002z\256\001s\243\001m\235\001n\241\002s\256\001"
- "p\255\001f\234\001o\246\001u\251\001\201\267\003p\244\001j\235\002i\241\001e\234\002a\240\002"
- "a\230\001a\241\002`\240\001Y\222\001X\220\001]\233\002Z\225\002Y\220\001\\\226\001a\233\001c"
- "\231\002b\227\001^\221\002a\232\001b\236\005c\241\006e\244\006Y\225\001[\223\001_\237\002h\250"
- "\003f\244\001a\234\002e\246\002b\241\001_\227\001d\247\001b\245\002Q\213\001Z\224\001`\233\002"
- "b\244\001b\243\002^\240\002X\224\001a\230\001d\230\001n\254\002k\255\004b\244\003W\224\004Z\205"
- "*\212\256[`\232\034P\221\000X\223\000]\232\002Y\230\001X\226\001Z\225\002_\234\001b\245"
- "\001i\253\012h\246\006_\225\000n\244\001q\244\001U\213\002i\237\001g\247\002[\233\001p\260\033"
- "x\267\040k\254\020Y\236\005Y\236\004V\231\002\\\233\001i\250\006c\240\001g\246\001k\254\005"
- "n\255\007m\255\007`\236\002b\240\001i\241\001r\253\001y\254\002t\243\001j\233\001f\230\002_\223"
- "\001g\245\001k\250\001l\241\002r\244\001u\252\001p\243\002i\237\001b\232\001_\225\001g\245\002"
- "e\235\001t\261\006f\243\001g\235\002o\250\001q\253\001i\237\002b\226\002g\236\001m\250\001l\246"
- "\001i\247\000o\261\003i\251\001m\255\006|\271\023h\247\001i\244\001k\247\001n\244\001t\246\002"
- "{\262\001u\244\001q\244\002r\252\001n\244\002h\237\002o\251\001r\253\001}\266\002u\256\002n\242"
- "\002e\234\002h\246\001Y\227\002X\217\001`\236\001b\241\001\\\222\001^\230\001`\236\001^\226\001"
- "Y\216\001_\227\002]\227\001`\234\001a\231\002f\234\001f\235\003_\233\004g\244\021`\240\010"
- "\\\232\001Z\220\002_\232\001k\252\004l\253\004b\240\001b\240\000c\241\001d\234\001m\256\002f"
- "\245\001V\214\001[\223\001a\234\001b\241\001f\251\003g\247\006`\233\001e\234\001l\244\002w\263"
- "\001n\250\002X\221\001X\212\015\336\316\307\376\360\363\376\373\366\233\276^N\217"
- "\000V\221\001X\226\002Y\226\001W\216\002Z\233\001X\231\003{\272)a\236\005a\226\002l\245\001p"
- "\251\001k\237\002o\250\001j\251\001f\246\007h\250\021i\251\015Z\233\001]\236\001a\243\002_"
- "\235\002j\252\011n\256\020Y\227\001\\\234\001^\236\001_\240\001j\255\005_\241\000a\235\002"
- "g\234\002r\250\001o\240\001o\240\001j\233\002h\235\001h\246\001i\253\003h\242\001m\244\001q\246"
- "\002q\254\001i\235\001g\237\002b\227\002c\231\001h\246\001f\240\001n\256\004b\243\003f\240\001"
- "m\243\001s\247\001n\242\001f\231\002h\234\002m\246\001l\244\001q\257\002m\250\001m\250\001k\247"
- "\001w\270\014e\247\002a\243\002`\240\002b\233\002l\244\001s\253\001r\252\001u\254\002o\244\001"
- "k\236\001h\237\001m\254\000u\264\003t\260\002q\252\001l\247\000f\234\001r\254\007[\230\001X\217"
- "\001[\227\002_\230\002^\224\002a\231\001e\243\001_\230\001]\223\001\\\226\001d\243\006h\251\011"
- "^\223\001e\235\002b\233\001e\241\004n\251\012c\235\001e\235\001g\235\002i\241\002j\246\001k"
- "\253\003f\245\002j\252\002i\242\001l\243\001r\255\002c\232\002Y\216\002V\214\001n\243\001o\251"
- "\001e\244\000d\237\001h\235\002o\251\002s\255\001v\257\001n\243\001Y\223\000\252\267\211\351"
- "\334\341\366\354\361\370\356\361\377\364\372\235\274fM\206\000W\224\002Z\227"
- "\002Z\227\001Z\235\001f\251\014x\264\034u\260\020c\237\001q\254\002s\255\002j\236\001f\233"
- "\001e\237\001f\251\005[\235\001b\244\010X\225\001`\240\001b\236\002c\236\001k\252\005_\240\001"
- "]\237\001\\\236\003W\224\001_\233\001g\247\001d\243\001[\221\001b\227\002i\237\001c\227\002e"
- "\231\000f\237\000n\253\007i\251\004f\243\000m\245\001l\243\001o\255\001k\252\002e\235\001e\242"
- "\002b\237\001a\232\002j\246\001i\236\001m\251\002g\241\001k\244\002n\243\001q\244\001s\252\002"
- "l\237\001m\240\001p\245\002q\246\001y\264\001s\250\002q\247\002o\246\001v\270\006f\247\002\\"
- "\236\001Z\241\002\\\232\002l\246\001s\253\002s\255\001r\254\004j\247\002c\234\002d\242\002g\250"
- "\002l\252\004j\244\002t\256\011t\254\015l\246\013v\262\025b\235\001_\234\001^\227\001a\230"
- "\001f\240\001f\236\001i\244\001a\226\001X\217\001e\243\020\200\274\065`\232\000^\222\001`\230"
- "\001e\234\002q\244\007m\241\001l\236\002m\233\001n\235\001h\233\002^\217\001^\231\001c\246\002"
- "o\255\003s\252\001|\260\001y\254\001\\\220\002Z\217\002S\210\002u\246\002w\255\002f\240\001e"
- "\241\002h\237\001o\252\002f\232\001m\241\002k\240\001T\221\000\341\323\331\327\305\315"
- "\336\314\326\363\344\352\347\325\326\376\365\366v\246-Y\234\001W\217\001_\237"
- "\004o\257\025p\257\023l\255\015r\262\013k\252\002o\252\001s\244\001m\240\001c\227\002e\242"
- "\001k\255\003]\237\001Z\235\003Y\232\001\\\234\001f\242\002c\234\001d\245\001`\244\002`\244\005"
- "W\234\002S\217\002f\243\001j\247\001g\250\001]\223\001_\230\000f\235\000\242\303X\270\317"
- "\201n\201\066\\\233\010]\236\001d\237\001n\250\001n\253\002i\250\002d\245\001c\243\001b\245"
- "\001\\\232\001b\245\001d\243\002g\234\002p\252\001l\244\001l\246\001j\237\002p\244\001s\256\001"
- "q\250\001q\252\001o\243\001s\253\002y\264\001x\263\001u\254\001q\245\001r\254\001g\237\001b\241"
- "\001e\247\004a\233\001q\253\001u\245\001{\261\001n\255\004n\260\012c\243\001g\247\000g\245\001"
- "i\246\002i\241\002\177\263\032\202\262\037\202\265\037r\253\012f\231\001o\246\007`\226"
- "\001]\222\002f\242\001f\237\001g\243\001f\236\001e\240\001\203\273\070\177\271\067b\233\000"
- "b\230\002`\226\002d\232\001z\260\014m\242\002g\226\001k\230\002n\233\000j\234\001d\231\001`"
- "\225\001c\241\003e\243\002g\235\001\212\270\001y\251\002_\225\002^\225\001V\212\002v\247\002"
- "z\257\001c\230\002g\234\002l\237\002m\237\001\\\220\002t\251\001v\260\002k\232\036\327\302"
- "\317\305\261\273\351\332\345\367\355\364\371\357\363\344\323\322\361\355"
- "\331U\220\010R\220\000b\243\010r\261\031f\246\007^\240\001Y\223\002e\244\001m\246\001u\250"
- "\001u\251\001l\236\002n\251\001m\251\001Z\230\003T\226\003Z\233\003b\240\003f\244\001e\237\001"
- "e\247\001]\237\001Y\230\001U\221\001Y\226\001d\243\001d\240\002b\240\001X\227\000\253\307r"
- "\371\364\352\352\335\337\343\323\321\320\277\272d\212#^\240\002d\240\001m\251"
- "\002l\247\001b\231\002_\226\002^\237\001l\256\010p\257\007d\244\001c\240\003f\233\001s\255\002"
- "l\243\001j\243\001e\234\002k\243\001u\260\002v\256\001v\254\001o\240\002t\247\001z\261\001|\262"
- "\001z\255\001s\243\002s\250\001m\242\002k\242\002o\253\001l\245\002v\261\004q\244\002t\255\001"
- "s\262\007i\252\002e\244\001o\255\002q\252\001p\247\002j\237\001z\257\014\204\263\027\200"
- "\260\024s\253\005m\245\002d\235\002b\236\001e\236\002j\246\001i\242\001i\241\001f\241\002u\256"
- "\032\221\304Fq\252\023f\233\001e\226\001f\225\001f\226\001p\251\001m\250\001c\227\001d\231"
- "\002i\241\001f\233\002e\236\001d\235\001e\240\001g\241\002c\226\002\202\262\002y\252\001e\231"
- "\001b\231\002c\230\001u\250\001}\261\001i\235\001h\234\002j\235\002l\237\001e\230\002{\256\000"
- "\213\302\025\230\262a\317\270\302\273\242\256\347\327\344\353\332\345\331"
- "\304\314\333\305\305\317\267\264\326\341\260X\230\010m\254\034|\272(d\243\003"
- "a\233\001Z\216\002e\235\001n\244\001q\245\002p\242\001u\256\001s\253\001r\247\001e\235\001O\217"
- "\001m\250\003k\243\001e\234\002d\243\002f\247\003a\241\001[\221\002\\\224\002^\235\002^\237\003"
- "[\231\002e\232\001\352\352\264\340\314\305\325\275\264\326\277\266\314\267\257"
- "\332\314\306\236\245q]\236\000g\250\002f\242\002d\234\001a\231\001_\230\002^\223\001b\232"
- "\000k\250\004o\257\002h\241\001n\243\001x\261\001m\241\002j\241\001e\232\001l\251\002u\260\001"
- "w\255\001u\250\001q\243\001w\250\001\177\264\001~\262\001{\256\001n\240\001o\247\002l\245\001"
- "j\241\001n\252\002t\261\007m\250\002k\243\002o\252\001s\260\002n\255\001l\245\001o\252\001u\257"
- "\002p\251\001n\245\001}\264\015w\255\007m\246\001k\244\001h\242\001e\243\002c\235\002e\235\001"
- "w\262\005m\241\001l\240\001e\234\001a\227\006\214\303Fj\251\014h\244\004i\237\002l\241\001"
- "g\230\002s\254\002l\245\001h\246\001f\242\000p\252\005d\233\001o\251\012q\255\016j\251\002"
- "h\240\001k\233\000\204\264\002s\243\002g\233\002g\245\002j\250\001p\252\002x\260\002r\247\001"
- "\\\224\002h\235\002g\233\002q\246\001r\247\001k\250\000\250\267|\313\266\276\323\277"
- "\313\357\345\356\363\351\361\367\355\362\342\314\320\344\317\317\354\323"
- "\315\241\277[j\247\017f\245\004^\223\001a\227\002c\231\001i\234\002p\244\002o\241\001n\242"
- "\001s\256\002r\252\001q\245\001j\236\002O\217\001v\255\002h\240\001e\240\001j\247\004f\243\001"
- "e\237\003e\226\001g\235\001d\242\001\\\235\002s\246&\374\371\347\324\300\271\320\266"
- "\262\334\305\300\316\271\266\311\263\256\277\255\247\277\264\243S\224\000]"
- "\235\002`\237\001b\234\002a\234\001a\236\002`\224\001c\240\001d\236\001g\245\001k\242\002r\250"
- "\001{\263\001l\236\002m\242\002i\240\002j\243\001o\251\001n\247\001k\242\002i\237\002p\250\001"
- "y\263\000x\262\001x\262\001i\236\002k\243\001i\237\001i\244\001i\244\001l\247\000j\241\001o\242"
- "\002s\253\002s\244\001u\255\002t\260\001l\242\001k\250\001j\242\001l\245\001s\256\005e\240\001"
- "d\243\001i\246\001g\243\001f\243\001c\232\001o\247\004u\261\010n\251\001n\244\001k\243\001^"
- "\222\000s\260\016c\245\004^\240\002m\254\025n\252\021l\244\005p\247\001t\252\002p\250\001"
- "k\243\001m\245\002k\233\001j\234\001h\233\002r\254\003x\257\001\200\256\001\207\263\002o\235"
- "\001e\231\001^\217\001b\234\001m\251\001u\260\001i\233\001]\220\002m\242\001j\236\002k\242\002"
- "b\226\002\\\232\000\260\273\205\302\255\264\320\274\307\337\316\335\376\373\375"
- "\344\325\337\342\317\327\334\302\305\325\275\275\356\333\311l\242\012\\\220"
- "\002W\215\001b\233\000e\234\001j\237\000o\244\001n\243\002o\247\001l\245\001n\246\002g\235\002"
- "d\236\001Z\230\002{\260\002g\237\002i\250\003\201\267$g\244\004j\247\003a\227\002c\235\002"
- "`\235\000\204\254/\372\354\350\315\265\257\311\253\240\340\315\315\340\320"
- "\323\304\261\264\270\241\236\273\245\237\312\272\260S\225\002_\240\003a\231\002"
- "^\225\001]\224\002c\243\002c\236\001e\243\001c\233\002j\240\001j\235\002|\256\001\201\262\001"
- "q\242\002r\251\002m\245\001k\240\001n\245\002p\251\001i\235\002i\240\001q\253\001|\264\002~\263"
- "\001z\264\001n\246\001l\245\002l\251\001i\245\001n\247\007\204\266\037}\261\023m\240\001v\254"
- "\001x\246\002}\255\001}\260\001s\244\002t\255\001m\244\001m\243\001j\244\002d\235\002e\236\002"
- "j\243\001q\252\003b\234\001b\240\001l\252\005c\242\001p\257\006o\250\001p\245\001m\242\001y\263"
- "\012g\241\000e\245\006_\240\022d\243\025g\240\007w\255\005{\254\001z\257\001v\257\002s\255"
- "\005o\244\005k\240\001g\232\000s\253\002\200\264\002\212\264\001\214\262\001w\246\002l\243"
- "\002c\227\001^\226\001i\247\001p\254\001b\225\002g\230\001p\241\002p\247\001h\235\001a\227\001"
- "T\216\000\266\276\217\301\243\243\277\235\237\353\334\343\365\353\363\366\353"
- "\362\351\327\337\314\262\267\340\314\320\306\253\250\320\317\230T\210\013"
- "b\230\036`\222\"`\217'n\236\061q\243'e\234\015f\242\010h\244\007d\236\004`\222\001"
- "d\237\001b\234\002w\260\004f\233\001y\261\"o\255\033p\257\027f\247\004e\242\001a\233\000"
- "\222\271A\362\341\324\303\247\244\340\310\306\332\305\303\331\306\310\324"
- "\306\313\312\275\302\277\256\257\270\244\241\316\274\266\\\231\001d\241\001c"
- "\230\001b\226\002h\243\002d\236\001o\257\007c\237\001`\231\001g\244\002j\235\002~\260\001\201"
- "\263\001w\250\001q\246\002n\245\001l\240\001r\247\001s\253\001e\231\002h\242\002v\260\001~\262"
- "\002|\252\001{\260\000s\251\000v\263\007t\257\017x\264\032\213\301\065\206\274,\201\270"
- "\036q\254\001x\262\001|\261\001{\255\002u\250\002p\237\001y\253\001|\253\002m\234\001k\236\001"
- "j\241\001l\243\002n\242\001q\250\002f\233\002k\245\006m\250\005`\232\002j\247\005q\250\001|\260"
- "\001o\240\001s\253\002o\240\001n\245\002i\246\035X\230\012k\246\027\214\275)\202\265\013"
- "|\261\001}\266\013z\264\025w\260\031r\253\025\210\276*\211\300$r\243\000\177\252"
- "\001\222\272\001n\235\002f\231\002h\242\001c\237\002e\243\002p\256\002j\236\002i\231\002q\242"
- "\001t\246\002j\235\002a\227\001R\214\000\304\310\242\314\257\261\333\301\307\366\351"
- "\363\372\370\372\370\361\366\350\333\340\341\313\316\310\254\255\305\256"
- "\247\327\272\254\275\271\244hokehl^`i_ckhqtq\201rt\217fm\216Kx\242Ga\223"
- "\037_\225\025a\224\016v\253\020g\235\006p\247\031l\251\032g\244\015`\231\000g\244\000"
- "\263\312g\344\314\303\274\233\221\306\246\236\333\305\302\333\310\311\331"
- "\310\316\342\326\340\310\274\307\273\253\265\273\250\252\310\266\263Y\227"
- "\002c\235\002b\226\001l\243\002r\253\001m\246\001i\251\002c\246\002_\227\000i\245\001l\236\001"
- "\202\264\001x\250\001r\247\001p\251\001o\245\001n\240\002u\255\001y\261\001f\232\002f\235\001"
- "t\251\002\200\263\001y\251\000\206\273\015\201\271\026\215\304\063\204\277\063p\256"
- "\030g\246\005n\252\001m\244\001l\237\001p\244\001p\244\002q\252\001p\253\002k\235\002\177\261"
- "\001}\254\002p\234\001u\247\001t\251\001r\245\002t\253\001e\232\001t\252\007o\247\003i\241\002"
- "g\237\001i\242\003p\247\001\206\265\001|\256\001n\245\001i\237\000h\243\002m\252\036c\241"
- "\037q\256-l\250\026\202\265\016\204\264\004z\255\002r\252\006w\261\026{\266\040~\267"
- "\040}\270\027r\246\000w\244\001\207\263\001{\252\001j\233\002q\253\001k\245\001k\244\002o\252"
- "\001s\253\001o\237\002u\250\001o\240\001h\232\001f\236\003V\210\000\303\303\236\317\266\270"
- "\330\277\307\341\316\331\352\330\343\335\313\325\345\324\334\311\264\270"
- "\273\242\241\300\251\247\202_]\302\243\222o]a\177pwUEXWI_UI`UJad[ntn~|z\205"
- "\201\207\210z\204z{\215iq\222Er\231Ee\225,l\236-d\231\032`\224\012\300\322"
- "|\311\262\251\251\216\213\311\257\252\320\272\265\342\317\316\366\356\361"
- "\341\323\334\340\325\336\307\271\304\274\250\261\271\242\241\333\303\276"
- "_\231\004i\240\001o\241\002z\260\001n\240\002a\227\001d\245\001f\252\003e\235\002p\250\001u\246"
- "\002\206\265\001b\226\002h\236\002i\245\001m\244\002o\244\001z\265\005w\262\003p\246\001o\242"
- "\002v\252\001|\264\000\203\273\016\201\272\027u\257\014y\263\017\\\223\000d\241\001h\237"
- "\001q\243\001q\241\001x\251\002o\236\002o\241\001l\241\002m\243\001y\254\001\202\264\001q\236"
- "\001s\241\002u\246\002q\244\001q\245\002\201\271\011^\222\002n\247\005l\243\001n\241\002r\251"
- "\002f\230\000s\250\002\200\257\001\201\264\003z\260\021m\244\014g\237\003l\247\022q\254"
- "$j\250\035b\241\004n\247\002y\253\002\201\261\002y\253\001u\256\006x\262\020\202\273\036"
- "r\256\010s\254\001z\253\001y\246\001\202\262\001w\246\001v\247\002u\251\001u\241\002\177\257"
- "\001v\251\001u\257\001k\244\001h\236\002c\225\002c\231\001Y\214\000\312\312\244\340\306\307"
- "\333\276\304\367\355\363\375\376\376\367\353\364\360\340\351\333\307\314"
- "\304\254\253\255\215\214\325\275\266\317\265\254\316\267\264\336\312\310"
- "\331\306\313\330\314\323\267\246\265p^x~l\211\226\207\234\211z\222\202q\211"
- "|m\200\226\206\221vjvgamhhnv}x\206\216}\311\313\252\340\313\304\261\221\215"
- "\311\260\253\337\312\310\320\266\266\357\337\344\320\275\306\356\342\353"
- "\343\330\345\312\275\312\302\257\267\302\256\253\316\275\263[\232\000l\243"
- "\002y\253\001{\252\001l\233\002j\242\001f\247\002d\240\002j\247\001t\253\001x\252\001\200\256"
- "\002_\223\001`\225\002d\245\001l\251\001p\253\001v\261\002p\244\001v\256\001v\247\001\200\267"
- "\001\177\267\002\200\267\005r\251\002n\247\001\204\274\017e\230\001f\231\001l\243\001i\231"
- "\002o\237\002|\255\001z\246\002p\236\002n\234\001v\250\001|\261\002{\251\002v\237\001{\251\001"
- "w\247\001r\245\001y\257\000\202\272\005^\222\001i\244\002q\251\003m\235\001o\247\001l\236\001"
- "q\243\001y\253\002\200\262\003\210\267\027\226\302\067m\243\006j\242\002v\257\030c\243"
- "\015o\256\024r\255\005s\244\002u\251\001}\266\014j\246\003s\255\022\205\276*i\235\005r"
- "\237\002\177\255\001{\247\002w\244\001\177\261\002y\251\001x\246\002}\250\002\205\261\001t"
- "\243\003o\245\002m\250\001d\235\002Y\214\001\\\215\001Z\217\000\306\306\234\340\302\300"
- "\347\315\321\334\312\324\366\356\363\357\342\351\354\332\334\344\315\312"
- "\327\274\266\354\331\324\364\341\336\347\325\324\362\342\347\364\352\357"
- "\371\365\370\371\363\367\343\324\336\343\324\336\353\341\351\365\356\363"
- "\370\363\366\341\324\335\301\255\265\321\276\274\311\262\254\270\231\215"
- "\260\225\213\245\213\210\272\243\233\261\221\201\212ic\263\223\217\315\263"
- "\257\334\311\311\353\334\337\364\353\361\324\304\317\343\325\337\330\313"
- "\331\303\262\300\277\251\260\277\246\244\310\275\255_\243\000h\240\001j\232\002"
- "z\252\002t\244\001n\244\001f\240\002e\234\001k\246\001u\254\001|\254\001y\250\001[\217\002`\224"
- "\001k\251\004v\265\006p\245\001u\251\001s\250\001t\254\001t\251\001{\260\001~\255\001\205\265"
- "\002\205\264\001\200\262\001|\266\003`\222\002k\241\002j\242\001l\244\001y\257\002t\244\001u"
- "\243\001x\246\001w\247\001u\255\001n\241\001q\243\002\217\271\020\206\262\007y\254\002\177"
- "\267\002\202\270\002~\260\002c\236\001c\235\002g\244\002p\252\005o\250\001o\246\002q\251\001"
- "t\245\002~\256\001\210\265\020\233\302\064j\237\001p\247\004t\255\006e\242\004r\257\024"
- "l\242\001{\256\001w\256\002i\245\000\210\267\061i\244\024\200\271)b\227\000k\235\002q\250"
- "\001q\250\002o\243\001u\253\001x\257\001v\255\001v\255\001u\255\002m\240\001n\237\001r\255\001"
- "a\226\002X\213\002_\220\001]\222\000\274\303\207\341\276\267\354\314\313\344\317"
- "\330\345\327\340\356\341\343\362\342\337\362\342\336\372\364\364\337\313"
- "\313\266\232\235\334\307\313\375\371\371\263\235\251\363\354\357\317\273"
- "\306\345\325\337\362\346\354\344\327\337\300\257\266\350\335\342\353\336"
- "\342\315\263\262\336\305\303\345\320\312\345\316\306\344\310\272\336\277"
- "\251\322\263\232\315\253\223\276\241\220\315\257\245\254\217\212\355\332"
- "\333\331\303\312\361\346\355\333\310\323\322\300\313\302\261\274\276\254"
- "\265\301\252\255\314\263\254\266\271\210d\246\000h\241\001h\230\001|\256\001w\254"
- "\003l\235\001g\230\002i\235\001l\236\001u\252\001{\256\001k\231\002Y\215\001k\247\007y\267\013"
- "n\247\000r\246\002q\246\001v\256\001}\271\011t\253\001z\255\001|\255\001z\245\003\204\261"
- "\001\215\275\001u\257\003b\225\001m\246\002q\255\002o\246\001y\266\003i\237\000l\236\002l\234"
- "\001u\251\001r\253\002o\244\001m\242\000\220\302\035\200\264\007\202\267\003\204\273\005}"
- "\260\001|\254\001g\244\002i\243\002f\237\001\203\272\021v\256\003o\250\001p\247\002q\245\001"
- "|\253\001\210\267\016~\255\012q\244\003l\243\002i\242\002l\251\005k\250\005k\244\004u\255"
- "\001r\244\001\203\255\015\264\301al\245\034\202\270/l\245\003o\244\002p\245\001t\254"
- "\011z\261\025r\254\015l\252\006k\250\002v\262\011m\253\004h\244\001m\246\001k\244\001h\242"
- "\001c\227\001_\217\002X\215\000\254\271v\334\265\255\337\274\264\364\342\343\356"
- "\335\337\367\351\352\331\305\305\360\344\344\363\350\351\277\237\244\311"
- "\253\256\373\364\366\337\310\313\334\313\320\357\344\351\320\275\310\354"
- "\336\346\345\327\334\240\211\220\327\304\303\375\373\374\347\324\325\214"
- "su\330\303\277\342\326\322\353\330\325\366\343\331\325\267\247\342\301\251"
- "\347\311\256\370\344\316\315\262\244\327\300\271\346\325\326\330\305\315"
- "\351\332\344\361\347\357\272\251\266\276\255\273\274\247\263\315\266\270"
- "\333\300\274\240\264cc\240\000e\233\001u\251\002\205\265\002n\235\001l\236\001h\231\001"
- "l\240\002p\244\002q\247\001n\244\001i\231\001l\243\005{\265\024p\254\002r\256\001n\244\001r"
- "\253\001v\263\004k\244\003m\244\001z\257\001w\246\001h\223\002}\255\001\205\271\000\203\274"
- "\027g\233\000i\241\001x\261\001\202\272\001l\247\001r\261\016g\237\001o\242\001t\250\001s\253"
- "\000p\244\002u\244\001\213\275\003\204\272\003\177\265\001|\257\001v\245\002u\246\001a\234"
- "\001g\240\002b\230\002\201\270\021z\260\010i\236\002k\244\002s\254\002u\252\001}\261\005q\246"
- "\001f\234\001h\234\002e\232\002i\245\003h\246\005e\244\007g\243\005c\232\000\250\266\062|\245"
- "\040f\241\017v\260\030v\253\005w\243\001\203\263\017\214\273&\204\265\035g\241\005X"
- "\223\000a\230\001r\253\001s\246\001l\236\001h\244\001d\234\002f\240\001f\235\005[\216\005X\205"
- "\021\226\246q\347\306\306\310\243\246\360\333\332\352\331\327\325\304\301"
- "\306\262\257\372\363\363\327\301\275\245vn\365\344\337\347\321\320\334\307"
- "\305\342\327\334\353\336\346\350\332\342\356\344\351\356\343\347\352\334"
- "\335\372\356\353\374\371\367\345\317\306\201bW\276\237\223\366\355\353\335"
- "\316\310\304\256\247\342\314\303\351\321\300\323\267\243\344\310\264\352"
- "\332\313\356\337\327\356\340\335\350\331\334\351\335\344\322\301\320\267"
- "\245\265\274\252\272\274\253\271\340\306\304\353\316\315z\244#e\234\002j\240"
- "\001z\262\001\177\264\001t\244\001p\243\001l\243\001p\257\001o\256\001n\246\001p\251\001q\245"
- "\001\202\265\011l\237\002m\246\001l\252\001g\241\001k\247\001j\246\002e\233\001t\254\003~\263"
- "\002w\246\001o\237\001z\257\002x\255\000\200\270\010r\243\003{\255\001\206\272\002\201\263"
- "\000n\243\001t\261\011j\246\001o\252\001s\246\001v\253\001y\252\001\206\271\001\205\271\002"
- "~\262\001|\256\001}\261\001s\242\001r\246\001^\234\002b\232\001l\243\001s\252\004}\265\022a"
- "\230\001d\236\001m\253\007q\255\005z\265\012g\241\002e\234\002c\231\002i\236\001r\252\006l\245"
- "\004c\236\002l\244\011g\233\000\221\251\015c\225\000d\233\003g\240\003w\256\006u\253\002x\255"
- "\010g\235\000\200\262\001s\245\001\\\225\000a\231\001n\250\001t\250\001w\254\001n\244\001c\235"
- "\001h\245\024h\234*`\217\061s\213e\202\204\202\340\301\300\355\334\333\370\361"
- "\360\371\365\366\333\310\315\353\340\342\374\370\370\350\325\314\233qZ\354"
- "\322\310\335\306\301\345\320\324\346\330\341\336\316\331\355\342\351\344"
- "\324\336\320\275\307\334\310\314\332\303\301\357\332\317\352\317\276vI.\331"
- "\273\246\376\377\377\364\347\342\247\214\213\272\235\232\320\271\262\363"
- "\337\320\335\302\254\353\320\277\372\360\351\344\327\322\371\363\363\363"
- "\353\357\301\253\272\262\235\255\267\241\261\316\263\270\341\276\260\334"
- "\305\253a\234\000i\237\001v\263\006p\245\001|\263\001x\251\002w\263\003q\254\002t\255\003|"
- "\261\004u\251\001r\251\002r\253\001n\242\001i\231\002m\245\002q\254\001k\246\002l\251\001m\252"
- "\001l\244\002u\254\002\201\266\004s\242\001q\237\001v\255\001s\255\001\221\306,v\253\012\225"
- "\304\035\203\264\000\200\261\001|\254\001y\257\002m\245\001s\253\002w\254\002~\261\001\207"
- "\273\001\207\273\001\204\271\001|\256\001\202\272\002z\256\001n\240\001t\253\002r\254\040"
- "d\227\000q\246\001r\247\001\203\272\030l\251\006b\240\003_\232\001h\246\003v\262\014m\245"
- "\002f\235\003k\243\007p\247\007r\252\005j\242\002Z\224\000p\247\030p\242\015u\243\011i\227"
- "\001l\243\002r\252\012o\252\007j\237\001n\240\001x\251\001\200\256\001\207\265\001W\223\002"
- "X\224\001d\240\001j\236\001o\242\000q\246\001i\242\001h\242\027r\221g{\213~\203\205\214"
- "\251\231\245\344\316\312\372\366\365\372\364\364\276\245\246\201eg\201jg"
- "\266\235\223\364\326\310\351\306\260\367\337\321\341\304\273\345\316\313"
- "\334\306\314\341\317\327\334\312\323\325\301\310\320\276\300\310\260\255"
- "\327\277\265\351\316\277\322\256\227\223gG\375\367\357\366\356\352\344\327"
- "\325\342\316\317\354\335\331\307\255\246\344\314\277\335\302\254\340\304"
- "\257\360\337\321\353\332\322\365\347\344\351\327\332\321\274\307\262\231"
- "\246\273\240\247\341\276\262\353\306\275\216\252;m\247\001i\237\001m\250\002p\242"
- "\001\177\265\001z\256\002r\253\001o\236\001s\243\001\202\261\004\210\272\014y\260\011o\251"
- "\006b\233\002c\233\001r\255\001v\252\001y\262\001s\253\001o\250\001r\250\002\177\265\010~\263"
- "\003|\255\002{\247\001\201\262\001y\257\000\201\272\037\207\276\063\233\312Dz\256\000{"
- "\254\001q\240\002r\247\001r\255\001t\260\003v\256\002\206\271\001\213\277\001}\253\001\202"
- "\264\001\201\264\001\207\276\005{\255\001s\252\001l\245\001|\265\062k\246\011e\233\001o\250"
- "\005\205\273!\177\266\034q\252\016l\245\012p\251\013y\261\015r\255\010e\237\001i\245"
- "\007{\260\024|\256\022s\246\020R\220\003c\232\014v\245\021o\240\011d\232\002o\250\001o"
- "\247\002l\240\001r\245\001t\241\002\200\263\002q\237\001y\254\003k\241\004b\230\002d\231\001"
- "j\244\001k\243\002f\235\001i\243\007r\242*|\203\206|}\211\221\206\227\311\272\300"
- "\370\354\351\373\364\357\302\231\211J*\037%\012\005\"\013\003\027\001\000\066\026\021\332"
- "\263\234\373\363\343\340\314\303\335\301\274\333\304\303\330\276\304\274"
- "\246\254\265\240\242\266\232\227\344\313\300\354\323\305\353\322\275\317"
- "\252\212\352\315\263\324\273\251\272\240\223\273\244\241\276\253\256\356"
- "\343\343\342\321\320\346\321\312\335\302\265\330\276\252\321\264\242\372"
- "\363\355\352\327\330\304\253\272\265\232\253\254\215\233\326\255\237\335"
- "\264\242\340\315\262c\233\000n\247\002l\244\001q\254\001w\256\001w\261\001o\250\001j\242"
- "\002n\241\000r\240\001u\244\001t\252\000\202\272\037\177\270\060e\235\002d\232\001r\251\002"
- "{\256\001}\260\001|\256\001y\255\002|\257\001\204\271\006|\260\001}\257\001\202\262\001\200"
- "\257\001r\247\006\213\304\066\207\300\070\215\305\070q\252\000r\254\001u\261\005m\250"
- "\001q\255\004l\245\001\203\266\001\211\276\001\206\270\002{\251\002\200\264\001\202\265\003"
- "{\256\001{\261\002v\262\002p\250\001~\270\"w\261\016`\224\001a\233\003\200\266\030\214"
- "\276(\200\264\033\177\263\036~\264\032\177\265\027u\256\010b\234\002_\226\001d\241"
- "\002v\253\033v\250(S\215\014n\240\026\204\253\031\217\265,m\244\016t\256\010q\254"
- "\002k\240\001u\252\005}\256\004w\254\003l\245\010l\244\013\202\263#\211\267+c\225\000h"
- "\242\002X\214\000i\240\027d\226'\201\221w\201|\210\207{\214\236\223\235\367\346"
- "\337\352\320\312\354\317\300\237mW\066\023\017bA(\316\305\314\241\236\265fM"
- "CI$\026\377\363\344\356\323\274\373\353\340\331\256\230\352\322\304\325\273"
- "\264\346\316\303\326\271\254\375\372\363\376\375\366\370\337\310\301\241"
- "\207<%\035\030\003\010\033\004\013\035\006\006\070\"\036\233\202{\347\330\326\350\334\330"
- "\307\255\236\341\312\270\324\272\244\360\340\323\371\364\361\337\317\325"
- "\273\236\257\326\266\267\345\277\264\366\332\320tfKs\255\000r\246\001v\255\002"
- "{\266\005r\255\001t\261\003h\241\001k\240\001w\251\001{\252\002~\252\001z\254\001m\246\000j\247"
- "\031\210\276\071i\236\000{\257\001\206\267\002}\255\001z\255\001|\260\001~\260\000\214\301"
- "\013|\257\001z\253\000\203\272\005z\261\010t\255\015\222\307B\212\301>{\270#u\263"
- "\003p\254\001q\257\007m\254\007h\242\001\177\261\001\232\305\002~\255\002v\246\001s\253\002\212"
- "\301\036\211\300\034y\260\003{\256\002z\261\001s\247\001x\256\011}\263\005c\234\002b\233"
- "\002u\253\006\207\271\031|\260\015q\251\006c\233\000z\260\020\200\266\027d\237\004]\233"
- "\001b\240\005g\240\010f\236\022O\214\004]\225\012\221\263\062\202\247&{\252\040y\256"
- "\034d\240\006l\250\023\206\270%\210\270\030w\247\001l\240\001q\250\013\202\265&\212"
- "\271\071V\206\000i\237\027i\233\035v\243<x\223Z\202x\207\204v\207\227\203\225"
- "\311\267\273\266\236\246\371\364\362\375\373\367\266\222\216mO\065\273\253"
- "}\316\314\262\230\230\266\331\335\342\206gM\377\353\325\365\323\266\364\314"
- "\247\371\325\257\367\333\274\367\336\310\361\321\277\371\347\326\374\375"
- "\376\377\360\335\235z_+\024\010<)\040winnbkW@\070/\024\015.\023\017\256\213v\335"
- "\316\306\356\336\324\320\263\245\336\306\271\353\335\320\340\316\307\345"
- "\324\325\316\254\257\355\305\264\375\344\327\252rX~o@y\257\006v\247\001{\256"
- "\002{\265\005v\261\002t\257\001r\252\002m\244\002v\252\001\200\260\001\177\254\002v\246\001m"
- "\244\001`\232\000\200\267(t\254\004\177\262\000\203\264\001~\257\001{\254\001\200\262\001"
- "\200\262\000\213\303\012t\250\001r\244\001\201\270\000|\266\014\203\276\071\246\327"
- "b\220\307Ew\265\025s\262\004z\264\005~\270\020o\245\000r\250\002\210\272\002\203\263"
- "\001y\253\001x\261\014\222\307>~\271\024q\252\000t\244\001~\256\002~\263\001v\253\001o\246"
- "\007\200\264\005g\242\012b\237\006r\253\010y\260\012\201\265\022p\247\006c\234\002s\254"
- "\024\200\266\037t\253\017p\251\016b\231\000c\230\001_\234\007I\213\002U\224\014\202\255"
- ".a\223\021m\240\037x\255,b\235\020x\261*|\261!~\262\026r\243\002l\236\002q\246\004"
- "\203\271\036v\255\030Y\222\005l\240#m\235\060t\226\\\200\200\211{u\201\213}\215"
- "\235\211\227\264\232\241\315\265\264\335\306\306\361\351\350\357\346\345"
- "\243\224\216\327\320\260\346\335\275\346\335\276\337\325\304\263\224\216"
- "\367\330\301\370\331\273\364\321\262\363\310\247\361\310\244\362\313\256"
- "\366\332\306\331\257\237\363\326\272jJD$\025\031m^\071\302\272\243\330\332\347"
- "\260\262\317\323\330\337\214mK\064\027\024k@\062\311\246\223\312\253\226\264"
- "\221|\322\265\244\340\311\274\347\331\325\331\302\302\310\227\207\331\251"
- "\215\367\340\321\300\234\214\227\227\177w\246(u\247\011\202\266\017|\260\004"
- "y\255\001{\262\002y\264\003p\251\001s\252\001z\254\002|\255\001w\245\001q\242\001t\247\001|\261"
- "\004}\264\001\177\261\001\203\264\001\203\262\001~\247\001\203\264\002\202\263\001\207\276"
- "\005v\250\001y\252\001\203\266\002\203\270\005\216\304L\230\316Yz\271#q\260\004r\255"
- "\001t\260\002t\255\002}\256\001\213\276\002\177\264\001v\255\000w\261\010\221\306@\207\275"
- "+t\257\000t\253\001z\256\002}\254\001\200\266\001v\247\001u\244\001\204\264\015m\247\040"
- "V\224\003h\245\016l\247\012|\264\040m\247\024k\247\032i\246\027\203\271)m\243\005\206"
- "\267#k\240\011a\233\007\\\231\022O\220\002W\226\003m\243\015}\255!n\237\024~\257\063"
- "e\237\036\212\277A{\261\"x\256\031_\225\003[\213\001U\207\000t\251)}\262\034\202\266"
- ",|\254>~\251W\200\214\202\201|\211\210|\215\206w\211\314\267\266\261\225"
- "\224\272\233\221\274\235\217\267\233\221\324\275\271\361\343\343\376\375"
- "\372\375\374\367\371\360\347\324\251\231\310\242\244\327\260\262\336\272"
- "\275\327\261\267\313\246\254\271\223\226\325\242\201\344\307\267\307\242"
- "\234\207VSk@EzTF\263\240\200\333\325\263\337\337\322\334\336\326\342\345"
- "\333\303\276\242w\\G\362\343\331\371\355\344\273\240\226\243\213\177\330"
- "\276\260\326\276\262\344\322\313\347\322\317\305\237\217\331\267\245\354"
- "\324\303\253s_\226\227\231\206\237zu\242\066u\251\020q\247\002p\245\001t\260\006"
- "k\247\002q\256\001x\257\001x\244\001|\250\002{\251\001z\250\002|\253\002{\251\001\177\266\003"
- "\207\301\013\210\274\005\204\261\001\202\255\001\200\257\001\177\261\001\200\272\004t"
- "\247\001{\256\001\201\265\000\236\316:\204\273\062\210\302Fx\266\040q\255\003s\255"
- "\001u\261\002{\263\001\215\300\001\203\263\001v\254\001w\266\012\235\322W\201\273(p\253"
- "\003r\256\001w\262\001u\243\001\177\256\001\177\257\001z\251\002\221\263\002|\252\004\201\266"
- "DP\220\010Z\232\016\\\234\012t\257)u\254\032\211\273!r\250\007\200\266\037s\250"
- "\023\177\263\062\214\275N\217\277Y\204\267OV\222\003X\220\002_\230\001w\251\034z\251"
- "\040}\255-n\244#\201\267\061f\236\007v\255#]\225\015U\207\001N~\000\207\265Xl\241"
- "\011\210\267$~\253\066{\226o|u\204\220\203\223\211y\210\277\251\257\247\213"
- "\213\260\216\214\276\233\223\340\305\273\324\265\260\316\257\254\346\316"
- "\312\346\317\311\360\336\326\355\331\311\374\346\310\277rP\301|`\361\254"
- "\226\366\265\242\335\230\201\250pf\235m]\312\243\213\262\217\205\313\250"
- "\234\250dW\377\360\320\373\370\352\354\347\327\356\352\331\366\362\342\360"
- "\356\342\334\331\323\377\375\375\351\336\336\336\313\311\361\341\335\227"
- "\204\204t\\]\332\306\277\350\327\322\327\303\275\266\222\206\257\217}\240"
- "xa\220lX|v~\235\240\246\230\253\215x\253/n\243\015t\255\013s\260\011f\237\003"
- "m\241\002|\260\001w\243\001\200\253\002}\247\001|\250\001y\247\001|\254\002\203\274\011\207"
- "\301\032~\266\012\203\271\012~\262\001x\251\001w\255\002p\243\001p\237\001~\262\011\235"
- "\314\065x\255\001|\265\030e\243\032\201\274:p\255\013u\260\001x\263\002\177\265\001\204"
- "\267\002{\255\002t\247\001u\261\011\206\274\"\224\305.z\261\007x\262\001u\252\002u\252"
- "\003y\257\002}\262\001~\261\001\234\277\002w\253\021\212\276M_\234&j\242.}\263\067\207"
- "\271\013\221\275\001\211\263\000}\254\013\201\263\030t\251\011q\246\014v\254\020\177"
- "\264\031s\253\007h\235\000e\234\001g\242\002p\251\012x\255\021u\254\022~\264){\263&]"
- "\225\003l\242\031}\262\065[\214\000Lw\000u\246\071m\236'\177\254\065\205\250O\215\223"
- "\222\201u\202\217\177\215\237\216\227\320\275\276\255\232\237\274\245\244"
- "\343\311\301\346\321\307\325\272\261\311\255\250\320\267\264\360\341\327"
- "\363\347\331\374\373\366\377\372\365\207bVY*\040\316iI\311pR\004\000\000F\035\011"
- ":\025\021\327\244~\363\324\266\367\352\330\320\255\245\362\344\327\365\350"
- "\341\362\350\342\360\341\333\347\330\322\323\271\263\304\247\242\233yu\210"
- "je\253\220\210\310\262\245\307\262\251eTZ\254\224\220\341\316\307\343\317"
- "\312\252\217\214iPGN\062#\\G\067\204x\205\236\230\245\250\247\257\242\254\235"
- "\205\251Qm\237\014}\260\021k\236\001p\241\001z\257\001u\243\002~\257\001s\241\002s\246"
- "\001|\262\002\204\266\003\204\270\003\215\277\030z\256\005\202\270\017~\262\002~\260\001"
- "{\255\002r\241\001|\264\021\246\322g\212\271\036}\257\001m\243\001[\224\000x\265$\201"
- "\274&}\265\005\203\267\001\203\264\001{\254\001x\250\002u\253\001s\255\001{\265\004}\264"
- "\005}\256\001\177\263\001u\246\002s\247\001z\253\001\201\260\000\177\256\002\227\276\000\201"
- "\271;o\246\037\205\272\060\231\307\034\207\271\004t\252\003p\245\001}\260\014\211\270"
- "(\204\265\031\177\262\010\215\274\031\236\310\067\231\306\062\224\303'\204\267"
- "\016p\250\002q\255\014~\267+i\244\025e\236\020\204\270:\214\277Hf\235\031e\232\022"
- "\240\312e\200\256\067\200\244C\213\256`\211\255c\200\242a\214\231\215\212"
- "\204\217\241\225\241\206u\201\273\247\251\321\275\272\245\207\213\265\231"
- "\224\277\244\233\237\207\177\255\223\220\306\257\251\362\343\332\331\266"
- "\250\354\311\261\374\372\370\375\375\375\377\377\377\233ln\236M\070\261iQ"
- "sWa\332\314\312\377\374\363\376\376\372\377\376\355\374\357\332\342\312\270"
- "\356\334\321\355\334\327\306\251\252\262\223\223\323\271\265\323\266\261"
- "\263\226\222\311\256\243\263\226\211\247\212{\236\204w\242\207{\235\206\177"
- "y`a\307\264\260\311\265\262\320\274\267\234\205\200YC=bKB\225\203\210\213"
- "~\214\233\225\243\240\237\250\225\237\227\210\250W\203\265#z\253\000|\253\002"
- "\177\261\001~\260\000{\260\001q\244\001r\253\003{\264\003\206\267\003\203\262\001\204\264"
- "\004~\261\003{\261\007~\270\016{\256\001{\252\002x\260\001\200\267\"\221\304?z\245\000~"
- "\257\001d\225\001k\240\001~\270\013\177\270\023\204\274\012\204\267\001~\262\001s\252"
- "\001q\246\002w\260\001x\260\001w\255\001|\253\001\204\270\001\201\262\001y\251\001q\241\001\220"
- "\276\033\217\275\014u\246\001\221\274\001q\254\035\215\300\060\201\265\024n\247%Z"
- "\226\034W\224\023j\243\021r\250\010x\253\001\202\262\002\216\275\022\206\270$\210"
- "\267\071\204\263\066\210\267:\200\260#{\255\000{\257\040q\243%q\240+k\233$\204"
- "\260\064\235\304Y\211\266A\215\272E\212\273Hm\242-b\227'r\225U\204\234z\213"
- "\226\213\220\214\230\225\210\230\233\214\230rap\277\255\251\272\244\245\274"
- "\247\247\323\274\257\250\217\213\270\237\234\244\215\213\367\357\353\374"
- "\363\350\372\344\321\341\304\263\375\372\372\375\375\375\376\376\376\275"
- "\260\273L*\065yZj\365\363\367\375\375\375\375\375\375\374\372\370\325\266"
- "\243\326\253\220\303\237\226\325\267\256\370\355\346\335\312\307\267\240"
- "\242\302\250\245\271\237\234\321\273\271\306\261\257\262\227\221\247\213"
- "\203\273\250\230\214tl\234\202|lTV\260\233\224\260\231\223\337\313\307\321"
- "\274\273\241\207\212{db\221|z\215\177\211\216\203\224\220\213\232\222\221"
- "\234\222\234\227\207\257Uz\253\014u\243\001\177\260\003{\252\001z\256\001s\243\001w"
- "\255\001{\252\001\202\262\001\202\260\002~\256\001\210\272\010\223\304\061|\264\032x\260"
- "\014~\256\001z\256\001\201\273\017{\256\007}\253\001|\253\001Z\222\000q\252\001\200\270\001"
- "\177\264\000~\262\001y\253\002v\257\001q\251\001p\242\001{\254\001\202\263\002~\254\001\203"
- "\263\001\202\265\001~\263\001z\261\002r\250\000\202\272\025{\262\011v\250\001\215\271\002"
- "\177\271-^\232\015i\242+u\252?^\227(t\250?\212\271/v\250\015c\224\001\201\257"
- "\001\214\275\003|\261\014[\226\010n\244#k\241\032X\216\002\213\271\000\206\267\065~\256"
- "\071\241\314b\220\275@\200\257*\213\270@\203\263Bw\250:q\245\061p\242.q\236"
- "Aq\210p\207\216\221\222\220\236\213\200\222\227\212\233xly\217~\205\301\256"
- "\247\233\211\205\322\270\254\333\276\251\202_N|f]\367\362\361\345\314\276"
- "\336\273\251\341\302\264\375\366\363\375\377\377\375\374\375\373\367\372"
- "\347\337\353\207n\203\322\303\320\366\361\362\376\377\377\373\374\373\360"
- "\341\333\316\251\217\370\332\276\333\273\245\316\262\240\316\253\227\336"
- "\310\302\317\300\303\225~~\266\241\235\252\224\220\255\225\220\265\234\223"
- "\270\236\220\242\207y\227|s\231\202}m[Z\236\214\205\260\234\230\324\302\277"
- "\317\273\271\262\240\241\246\223\224\243\217\221\244\223\232\214\177\217"
- "\200v\210\210\203\224\212\211\226\230\246\240u\242Kn\245\036\206\274\063r\247"
- "\002w\246\001v\245\002\177\262\001\201\260\001\201\263\001{\256\002u\252\001\212\274\034\220"
- "\301&m\244\000s\261\007\201\267\001\200\255\002\204\264\002\201\254\001\200\253\001y\247"
- "\001\210\261\034\177\257\004\203\271\000\201\264\001{\257\000s\255\003p\252\001v\253\001\213"
- "\274\003}\254\002\201\262\001}\253\002\202\261\000\201\265\001y\251\001|\263\002w\260\002u"
- "\257\000u\256\001s\246\002\207\277\061p\256\"p\254)l\247(n\246+u\253\060b\232\014"
- "e\234\005X\215\003\\\221\000u\247\001\207\272\006z\257\006l\243\023g\233\024\\\221\004X\217"
- "\011\215\271\001o\245\025\230\306b\216\277Jy\252\024y\251\030y\247!\225\300I[\221"
- "\030q\242-p\240*\206\246e\244\244\253\253\246\264\243\231\252\234\223\243"
- "\222\210\230{l}\217}\210\274\250\246\304\255\254\336\304\266\275\227\200"
- "\254\211w\334\307\300\364\360\355\371\366\365\367\352\345\352\314\307\360"
- "\325\325\372\364\365\372\364\365\373\366\373\302\263\302\205v\204\257\235"
- "\253\316\267\277\340\314\317\362\344\344\372\363\363\373\356\353\265\214"
- "w\265\205j\321\255\221\377\375\364\375\370\365\375\372\370\263\237\235\231"
- "\205\201\312\270\254\266\243\223\274\247\225\317\272\254\266\236\221\274"
- "\250\237\247\223\217{df\210qo\253\224\220\272\245\241\307\265\261\304\263"
- "\256\230\201\203\245\216\222\263\244\253\230\213\230\177t\205\200x\213\212"
- "\206\226\212\212\227\210\227\214}\251U|\260\065{\255\000\201\261\001u\245\002}\255"
- "\001\200\263\001}\264\001w\257\003q\254\005\221\306F\177\264\027r\246\001p\250\002w\263"
- "\004\177\256\001\203\256\001\200\251\001~\250\002x\245\002\210\267\011\206\267\004\205\270"
- "\002}\257\001\202\265\007\226\302&t\247\000}\255\001\215\277\001\204\262\002\210\266\001"
- "\204\257\001\210\271\001\203\263\001x\246\001\200\260\001w\246\002z\260\001~\264\001p\241"
- "\002_\237\016M\213\000b\240\010}\265#d\240\003a\237\005o\252\016k\241\001f\225\001z\247"
- "\015q\240\000\177\263\004q\252\002}\263![\201\000f\217\007i\224\017~\255\001\220\304\064"
- "\201\263Aa\230\023T\207\002g\230\005{\253\035\220\274Bp\236\"\206\256Q\243\266"
- "\220\246\252\253\226\222\237\202z\217\210~\222\222\207\230\240\222\241\233"
- "\220\234\263\247\255\261\244\252\334\315\314\340\316\314\265\235\232\263"
- "\231\230\371\366\367\375\372\367\343\311\276\346\313\305\373\362\361\371"
- "\361\364\363\354\360\361\345\356\316\303\317\203q\203K\062B\221\205\222\316"
- "\301\312\341\323\332\367\354\361\346\317\314\341\310\302\322\255\240\355"
- "\332\317\332\276\254\257\213{\333\307\277\361\354\354\344\327\331\216\203"
- "}JA?p]V`NK\224}r\316\273\262\304\261\254\247\223\225\237\214\214\203qp\267"
- "\245\241\224\177}\273\246\246\303\260\260\251\225\232\237\212\221\320\303"
- "\312\325\311\316\236\220\237\212\200\222\210\202\224\213\207\225\211\211"
- "\223\211\233\204y\252\067l\227\001\203\260\001\206\266\001\203\266\002\204\271\003}"
- "\260\001x\255\001v\263\007u\261\017m\235\000q\245\001r\252\001t\254\001\204\271\006\205\263"
- "\001\206\260\001}\251\002{\247\001\205\265\001\206\265\002\204\266\001\177\260\001\203\260"
- "\001\222\272\000\206\265\001x\251\002~\260\001\205\272\001\202\256\001\206\261\001\213\272"
- "\002\210\267\001{\251\001|\253\002y\247\002}\260\001z\254\001r\241\002f\237\002[\223\001m\250"
- "\026|\264\031t\255\010\\\224\001l\245\004x\254\003a\214\001]\215\002n\237\001\206\267\004"
- "r\247\003\217\306)o\235\000g\215\001Qy\001w\256\023y\264$I|\003\200\261\040R\203\002^\216"
- "\005}\251\033\261\317uq\230Cc\216;\226\244\221\246\244\255\251\242\261\235\221"
- "\245vh{~j{\201jw\217z\200\216zx\201fc\340\305\261\337\272\237\261\203i\356"
- "\337\331\367\362\362\347\330\321\363\346\337\337\311\277\300\251\250\312"
- "\271\273\341\331\337\312\304\313|s\200\067\033)N\071EP=H\227\214\230\327\314"
- "\325\314\276\305\326\304\303\337\314\311\344\314\304\271\230\214\303\231"
- "|\377\367\357\355\341\331\323\301\273\313\302\301\306\266\257\301\254\243"
- "\277\253\242\224|vbC\063\274\237\212\334\312\302\242\210\201\254\224\216i"
- "RP\250\221\212\304\262\253\257\230\227\250\222\223\255\232\240\234\210\223"
- "\263\241\254\313\276\304\327\313\320\234\221\240\220\207\231\204}\216\202"
- "\177\216\211\214\225v\234Wi\235\013~\256\001\206\265\006\201\261\001\201\262\001}"
- "\253\001~\257\002~\263\001x\250\001x\246\001x\247\002s\240\002w\257\003x\252\000\177\257\001"
- "\203\263\001\201\255\002\177\253\002\207\265\001\206\263\002\207\270\001\205\256\002\222"
- "\267\001\245\307\002\211\261\001{\256\001r\244\002~\261\001}\254\000\204\263\001\207\265"
- "\001\211\272\001\200\257\001~\255\001\177\263\002}\256\001t\243\001z\252\001h\236\001f\237"
- "\001t\257\030\210\277\060{\263\021t\257\012g\231\001s\246\001q\241\001p\235\002u\237\000"
- "\226\303\071r\252\032\213\301\061x\257\011o\242\002^\216\000{\263\027l\242\012i\227"
- "\023w\250\023Ev\000b\213\020\212\246\065\257\313\203\177\242f\234\245\242\206\204"
- "\223\206\177\222\205|\220\203w\212h[n\211v\203\230\203\214\272\246\253\244"
- "\223\225\271\251\246\367\347\337\336\306\266\317\272\257\323\306\303\362"
- "\353\346\372\360\352\321\271\246\242\223\216\247\237\230\277\270\272\266"
- "\257\266n`jUDLtdlgS^fT^ZFQ\203s\202\302\275\305\326\311\320\250\216\213\277"
- "\243\232\350\321\310\320\300\271\312\253\222\342\321\301\377\374\370\322"
- "\305\304\310\271\277\355\342\342\357\346\345\346\331\326\244\216\205\245"
- "\216\205\322\277\267\301\251\235\265\233\217\205rlzd_\263\241\230\240\214"
- "\211\264\243\237\260\241\245\227\205\223\216|\213\303\265\276\326\311\317"
- "\315\301\310\235\222\243\214\205\226\206\202\223\212\212\227w\212w\231\277"
- "`\205\265\012\211\265\004\213\271\001\204\260\001\177\260\001x\257\001r\243\001y\253\001"
- "\177\256\001|\254\001}\254\007}\260\011x\252\002\177\260\002|\252\002~\254\001w\246\002t\244"
- "\002\177\260\000\205\266\002\202\252\002\225\275\001\223\267\002\177\252\002\200\261\001"
- "}\264\002t\246\001z\253\001\204\264\002\212\267\001\221\302\001\206\262\001\201\257\002\201"
- "\262\001z\252\002w\246\001\206\266\001\227\277\002p\246\001l\245\001w\257\013o\246\001y\255"
- "\002~\260\002\177\260\002{\250\001|\251\001\220\271!\226\304bV\223\000\207\273\061}\257"
- "\025m\240\000t\254\004u\252\001y\253\004|\250\010\211\265Hz\241B\215\253I\221\255Z"
- "\241\277\201w\213r||\205\202{\214\204x\211\212}\217|o\201ufu\272\253\257"
- "\330\314\320\345\334\343\335\326\334\330\311\313\344\320\301\314\274\262"
- "\334\317\313\345\327\322\353\341\341\357\351\350\270\252\224\235\206kwkY"
- "\205\202xtnkj\\_\220}\205\222}\211\222~\213\200ht\213x\200k^bkcj\244\240"
- "\241\267\253\252\240\215\214\201k[\305\262\242\330\304\270\322\310\277\337"
- "\316\304\365\355\353\347\335\332\343\326\321\306\254\231\276\245\223\301"
- "\261\247\237\222\220\274\254\247\343\322\315\263\236\216\226\200y_LN\224"
- "\202}\233\211\203\221\177\200\250\231\235\227\206\223\230\213\232\254\233"
- "\251\313\275\305\323\307\316\317\305\315\241\232\250\203}\217\211\207\225"
- "\203\207\214u\232>\207\266\037\211\264\000\214\257\001\216\263\001\201\260\001t\252"
- "\002q\243\001v\244\002z\246\002y\247\001y\254\006\200\267!\206\275\060w\251\000\207\264"
- "\002\200\260\000v\246\001t\243\001\202\261\002\210\266\000\207\263\001\214\267\001\215\274"
- "\004~\252\000~\262\001p\255\002k\242\001h\234\002\177\261\002\202\256\002\221\275\002\222\276"
- "\001\201\260\002{\255\002x\247\001\177\261\001\202\264\001\214\264\001\203\265\003w\252\005"
- "f\223\001z\257\002w\247\001d\224\002i\227\002\201\256\002\204\261\000\206\271*e\233\020"
- "[\231\001r\252\035\202\263&}\261\032v\255\015p\247\003z\253\001~\255\000\205\255a\230"
- "\273~\220\265X}\247Dk\224H\202\207\210\202~\212\203x\213\204w\213\202t\206"
- "\246\234\250\256\245\255\317\305\315\342\325\335\312\276\305\300\266\300"
- "\332\322\326\311\262\252\271\227}\334\304\256\320\302\272\325\307\277\305"
- "\257\231\273\242\203\236\204bk_Lsk_rnl\255\241\244\275\261\271\254\235\250"
- "\223\201\215\251\231\243\242\221\231\244\233\236odka_]\217\216\204\177tl"
- "\245\236\231xgP\255\235\212\322\304\264\345\337\333\365\362\365\342\333\325"
- "\316\274\255\242|]\271\232~\252\207i}XA\241\210\177\323\304\300\330\315\314"
- "\273\245\235dLIye^\220|y\224\200\177\222\200\206\233\214\230\262\246\262"
- "\247\227\245\262\241\255\313\275\307\313\277\310\306\272\304\226\214\235"
- "\211\200\222\201}\213q\200is\246\015\177\261\006\177\247\002\226\265\002\203\254"
- "\002f\225\001z\251\002\200\251\001\204\257\001p\233\002}\256\002{\257\004y\256\010v\252\005"
- "\227\302\037\212\272\015\202\263\011x\246\001\205\261\001\213\270\001\207\256\001\212"
- "\262\001\221\300\020\215\276\027z\264\002l\245\001n\251\001g\234\002|\265\003}\255\001\210"
- "\265\001\222\274\002\204\263\001n\242\001v\252\001}\267\004}\267\001\210\261\002\206\256"
- "\001\211\266\006o\232\002{\254\004i\234\002N\201\001]\216\002y\247\000\210\270\031\207\266"
- "\015\200\253\001e\234\007b\232$\205\270\065v\255\036k\246\016b\235\000\216\271.\227"
- "\275\070t\236\033}\251\070\215\266W\177\253Us\217c\213\207\222\221\210\224\225"
- "\211\230\237\223\244\236\220\237\205w\205\301\262\274\327\312\324\360\346"
- "\354\311\300\310\264\242\252\232\177}\241\212\201\334\317\307\325\310\277"
- "\305\260\240\305\247\211\301\246\210\265\231}\215rY_M@mf`\254\251\253\314"
- "\306\313\307\301\306\316\312\317\265\254\266\276\264\276\270\257\267\261"
- "\252\261\254\251\257snnzulmcZsh_\237\230\207\270\263\237\313\305\264\316"
- "\307\267\325\322\314\340\332\332\321\301\272\302\250\222\317\270\243\300"
- "\246\215\245\201elJ\064\306\256\230\336\314\301\342\326\323\216\200\202lV"
- "Q}kb\203qp\211y\202\223\203\220\252\232\250\276\261\272\276\256\270\262\240"
- "\253\311\273\304\327\311\321\325\311\317\213}\222\210\177\217y|}m\234:v\253"
- "/p\245\000\200\256\001\177\247\002p\234\001\177\254\002\205\261\001\177\250\001z\244\002"
- "\200\250\002~\246\001\201\260\001q\241\002}\254\001\203\264\003|\253\002|\251\001\212\267"
- "\001\206\262\001\203\254\001\206\257\001\202\252\001\202\264\001\201\272\005l\242\001q\253"
- "\002k\236\002\177\262\003\210\267\015\217\267\001\212\263\001\214\271\002m\246\001r\252"
- "\001|\260\001\202\264\001f\222\001\206\260\002\216\270\001\207\262\000j\234\001_\216\002V\206"
- "\001u\243\002y\252\000\214\275Ab\224\011j\225\002w\250\005\200\263(\220\301Cw\255\062"
- "\231\302e\243\305k|\252\007z\252\003k\235\007n\236#n\234\067p\231J~\206\203\213"
- "\205\222\235\226\242\234\224\242\203v\210\221\202\220\260\236\246\322\305"
- "\313\331\317\326\316\275\310\274\253\264\251\225\237\253\234\236\216zq\325"
- "\305\267\317\274\255\322\300\256\315\275\252\302\261\235\271\247\226\272"
- "\255\240\236\223\215\254\250\247\277\276\302\300\276\303\305\303\310\317"
- "\314\322\276\267\277\303\300\306\311\307\314\265\261\266\317\317\322\270"
- "\267\272\236\235\231}xrN?;`U\\\202pT\273\257\230\271\257\230\271\251\215"
- "\300\264\243\335\325\323\344\331\327\332\312\301\320\275\254\306\254\222"
- "xYD\222oV\345\324\307\351\340\331\250\234\240\240\222\233\216\200}s`a\204"
- "v\200\224\206\223\244\225\243\261\241\255\301\262\274\272\251\263\300\260"
- "\271\311\272\300\317\300\306\321\306\312\233\221\240ww\202x\221p\215\267"
- "mn\247\001t\251\002y\250\001|\251\000~\252\002\201\257\001z\246\001z\244\001u\236\002\202\253"
- "\001\205\262\002x\246\002r\241\002x\251\001}\263\001\201\263\002\202\254\002\207\264\002\204"
- "\257\001\200\253\001\204\255\001\206\271\001z\257\002s\251\001u\254\001j\232\001m\236\000\224"
- "\304\027\210\266\000\210\265\002|\252\002y\256\002v\252\001\177\260\001\204\263\001a\220"
- "\001c\221\001\213\266\001\223\276\010\211\266\007k\227\001`\215\002x\246\002z\252\002s\250"
- "\000O\203\001M\204\001L\206\002x\253#\227\303F\224\300]x\254\062x\250\035\204\257\000"
- "\211\262\006\205\255/q\237/r\236Cd\204N\246\244\255\223\213\233\177s\207\206"
- "|\217\204y\213\221\201\217\312\300\305\277\260\266\245\215\227\263\236\250"
- "\322\305\315\311\273\304\242\216\217\256\232\223\271\236\207\271\240\205"
- "\270\241\202\233\177`\255\225}\302\262\250\331\324\323\316\314\316\300\277"
- "\277\300\300\301\264\265\264\313\312\320\310\307\314\303\302\307\307\305"
- "\313\313\312\317\312\311\316\272\271\275\322\322\326\300\301\300\265\267"
- "\263\236\236\225\213\201\205eW\\\204jR\302\267\242\302\267\242\277\261\230"
- "\301\266\241\327\317\310\306\266\246\310\271\251\301\256\233\265\235\202"
- "pR:\306\255\222\342\326\315\277\262\256gZb\203x\201\251\243\252\211~\210"
- "\224\207\224\217\200\220\246\230\247\273\253\266\310\271\277\262\240\251"
- "\272\252\262\271\251\260\324\306\311\322\310\315\204\202\216m{q\243\300\224"
- "\201\265'k\240\001s\251\003\204\264\026s\245\001z\260\012z\254\006v\245\001y\246\001\200"
- "\256\001p\237\002q\237\002{\252\002y\247\002w\250\000x\257\001|\257\002\200\263\002}\251\001"
- "y\244\002\210\262\001\211\272\002o\242\001q\253\004v\257\006p\237\001i\233\001\203\267\023"
- "\234\306\065\206\270\000z\254\002h\236\001~\256\002}\254\001~\261\002k\236\001l\234\001{\252"
- "\000\225\302\040|\251\000\200\257\001~\256\002{\260\003j\234\001o\244\002g\242\000t\257%Z"
- "\226\031\213\274d\220\301]z\255\005l\236\001n\225\001\212\264\002\214\264\004u\236\003"
- "^\215\000i\225\063\215\227\217\213\204\221}s\203zq\202\201x\212\265\254\271"
- "\305\270\274\267\242\246\267\240\244\271\244\254\301\260\272\276\255\265"
- "\302\263\273\245\224\230\235\200r\272\236\207\265\234\207\263\236\212\277"
- "\254\232\270\245\221\313\275\265\341\333\334\334\332\336\306\306\306\274"
- "\276\270\260\261\253\277\304\301\276\301\300\271\272\272\273\274\275\302"
- "\304\306\306\307\310\257\261\254\274\300\273\311\315\313\307\311\310\303"
- "\303\304\276\275\301\264\257\257\257\241\234\331\324\315\265\256\235\311"
- "\277\260\270\250\224\312\276\256\303\274\264\313\300\266\316\302\265\303"
- "\253\225\217pS\241\206k\314\274\247\256\232\221vgpp_gxhp\251\240\252\261"
- "\245\256\220\203\220\236\214\234\257\236\251\300\261\270\275\254\264\265"
- "\243\254\274\253\263\271\252\256\345\331\330\232\221\236qtv\216\247\202\205"
- "\264\062p\244\002n\236\001s\247\003g\227\000\201\270\023q\246\002u\254\003\201\265\023s"
- "\245\001j\230\002r\241\002y\246\001\204\263\002t\242\002t\246\001m\235\001x\260\002|\255\001"
- "~\250\001\211\272\006\201\263\000p\244\001x\264\015l\237\001r\241\001x\250\001\201\266\010"
- "\252\314N\177\257\001l\241\002a\227\002\222\276\002\205\260\001\201\261\001f\225\002v\251"
- "\001k\233\002n\242\014}\260\035d\232\004U\214\001y\263\032l\242\004o\244\001q\252\003\210"
- "\276\071\200\264?m\243\060~\261A]\224\021Y\214\001~\254\002\214\265\001\205\254\001"
- "\226\265\062\207\254Jr\225X\212\217\213\215\207\217\222\207\224\224\212\232"
- "\261\251\265\217y\206\264\240\245\305\262\264\267\244\252\267\247\260\250"
- "\224\240\274\255\266\315\300\311\237\210\216xXX\263\230\206\270\240\214\246"
- "\217\177\271\243\220\256\232\210\317\306\302\331\325\325\326\325\326\314"
- "\314\313\262\265\250\244\252\232\254\261\244\257\263\251\263\271\257\267"
- "\274\265\273\302\272\271\300\270\264\272\262\262\270\257\301\306\301\305"
- "\311\310\314\317\321\320\321\325\314\314\320\325\325\326\316\313\306\301"
- "\273\262\267\254\234\270\254\232\266\252\225\304\273\252\313\302\270\300"
- "\267\247\274\255\234\224ydbF.\243\213t\212xn\\QQmdg\213\201\207\200q|\261"
- "\245\256\263\245\256\235\211\231\252\230\243\272\252\263\274\254\263\270"
- "\247\255\273\252\260\267\246\251\325\307\311\311\276\306\177y\203\215\235"
- "w\216\270=t\252\003k\233\002q\247\002s\246\005q\247\003k\240\001Z\214\001y\244\002\177\254"
- "\011r\234\001\177\252\002\204\257\001~\254\001y\251\002p\245\001k\236\001m\237\001}\261\006"
- "\202\264\012|\255\003\202\270\013\202\271\025p\246\001l\236\001m\235\002}\254\001y\250"
- "\001\213\267\015w\246\000h\235\002W\217\002z\260\001\220\273\001\213\267\001z\245\002w\246"
- "\002f\224\002]\214\002u\250\013\206\270&e\234\003_\224\000x\255\031\204\267*\207\273"
- ")~\262\021y\253\000z\255\012\202\260\067\205\265\062T\216\000g\236\005\210\264\014\204"
- "\255\014\301\300\251\204\213rz\203x\205\204\211\225\214\227\236\225\245\231"
- "\220\236\215{\214\233\207\222\300\257\265\315\276\304\272\251\261\254\226"
- "\241\262\240\251\300\262\273\303\265\276\274\257\266\223\201}iXK\255\222"
- "\177\254\220u\247\207m\305\260\242\275\256\251\321\313\311\324\324\323\304"
- "\306\300\266\270\252\247\255\224\236\250\210\241\252\214\243\257\221\235"
- "\253\216\252\266\240\256\272\246\254\267\243\256\271\247\267\276\262\303"
- "\311\303\311\314\315\317\323\326\327\330\335\332\332\334\315\312\305\302"
- "\270\254\302\266\247\275\262\244\204mU}hO\212x`\234\215y\311\273\260\240"
- "\207up\\NvbN_LARD<_RQthp\211{\207\223\205\217\244\226\240\235\216\232\257"
- "\240\253\257\237\253\311\272\300\301\262\270\252\227\242\301\260\267\320"
- "\301\304\315\277\303\177u\207\213\227g\223\265@g\237\002r\250\012v\253\006o\234"
- "\000d\221\002X\211\001l\230\002\206\253\002\206\260\001y\243\001\232\302\021\203\255\001|"
- "\250\001w\246\002s\251\002j\231\001m\235\002r\246\000\224\301\071y\256\002w\253\002|\264\005"
- "t\247\002r\245\002u\243\002\202\256\002i\231\002i\234\001r\243\001k\237\002a\232\001\204\275"
- "\036\210\270\000\207\262\002\207\262\002i\226\001U\205\001^\215\002i\232\002d\226\001{\260"
- "\030w\254\027\221\301<\206\267\040k\234\000p\237\001\177\256\001\227\274\000\213\265"
- "/s\241B_\200:ezMktcg_sE<LSKXnks\232\227\240\232\221\236\230\215\235\201s"
- "\205\216|\213\261\240\247\314\301\306\234\206\222\265\241\251\220{\210\302"
- "\263\272\306\270\302\242\221\230\263\242\244\270\251\246\214vrjG?iE\070\233"
- "|i\253\213|\277\254\243\306\274\267\274\264\255\265\262\244\251\252\223\243"
- "\250\205\234\244z\230\243s\221\235j\214\231g\221\235o\223\240u\224\242z\245"
- "\263\224\252\266\236\267\300\261\307\317\307\305\312\310\324\330\332\327"
- "\330\332\322\322\322\310\303\276\303\274\266\270\255\243\306\276\271\301"
- "\266\256\253\232\215\253\222{\264\240\210\277\254\235\177eblWUXCAuddsgjz"
- "nu\203v\177\220\200\212\217\177\212\240\214\230\221\177\214\264\247\262\276"
- "\257\266\310\270\276\254\232\243\230\204\217\257\232\237\323\307\310\276"
- "\262\274\233\234t\230\262H\207\264\070{\253\030x\251\004v\245\004m\231\002k\223\002"
- "z\242\001\204\256\006\205\263\014~\252\022\256\316<\200\262\001~\247\001\177\250\002"
- "z\243\001x\241\001x\240\001\216\272%\230\305\070y\252\002z\246\001\177\255\002~\255\004"
- "o\236\002\205\262\002\205\256\002s\242\002n\236\002x\250\001v\247\002k\237\002r\247\001x\246"
- "\002\210\265\001y\246\002q\242\002Gv\001]\212\001`\222\001_\221\014\225\307=\214\276\065"
- "\210\264\025\206\252\001q\242\002o\240\000d\203/Tk\060`kGHAL>\064?H>KVJYA\062?+\032"
- "&L@K\212\204\221\227\217\234\220\206\224\213~\220\202t\204\216~\215\315\277"
- "\304\270\246\252\271\246\247\253\227\234\227\202\216\300\260\266\266\246"
- "\255\253\230\240\255\233\233\236\216\214\263\246\234\214wklRHnRA\202cK\202"
- "eP\216q`\245\220\177\231\212w\227\221v\233\233w\212\212`{{Mno=suC\203\212"
- "V\205\216[\211\222f\232\245}\246\260\222\251\262\232\266\275\256\300\304"
- "\273\303\305\300\310\310\306\332\331\332\315\311\310\310\301\274\276\261"
- "\252\255\234\214\261\244\234\251\226\200\272\244\231\237\201`\227x^\217y"
- "q~kg\212\177{~urtik\213}\202\205uz\215|\202\223\201\207\257\241\251\217\200"
- "\211\252\231\243\255\237\251\264\245\254\251\230\240\237\216\226\244\222"
- "\230\266\245\252\325\312\316\250\235\207\237\261Zs\243(\226\303No\243\001o"
- "\235\001n\232\001e\220\001\200\243\001\222\271\034\210\266&\260\321Y\233\277&|\250"
- "\001\211\263\001\210\256\002\230\265\022\234\270\037{\244\000~\252\010}\253\001}\250\002"
- "z\245\001\204\263\003\202\261\002t\241\002|\245\002z\244\002p\235\001w\250\002{\254\001~\261"
- "\003p\236\000u\251\001n\237\001\204\262\001w\244\001j\231\001l\233\002s\244\003\216\276$\223"
- "\303*o\250\012`\235\003\225\277\017z\254\004n\243\014\201\234Q~~\200\240\235\241"
- "\215\203\212semJ\071E@/;?-\067j\\dmbklamzo~\202t\206\210{\214\212}\216\206"
- "x\210\260\243\253\304\263\263\255\232\232\232\207\211\222\177\210\271\251"
- "\254\272\252\257\263\241\250\270\247\253\265\244\245\243\224\227\220\204"
- "\204\236\217\210\231\206ufJ\060kR\070wdR\\G;WA\071_L>ZG\070M<'_S\064^Q\060qjE\205"
- "\206Z\213\215d\220\222i\217\220k\214\216n\244\247\220\237\242\213\243\244"
- "\222\242\240\220\271\267\256\272\266\262\305\277\277\273\257\250\267\243"
- "\222\252\223\177\237\177b\250\220\177\223vc\233~b\213vieI\062jVJ}if\246\230"
- "\224\204yz\201ts\213{}\230\211\214\217\200\203\214z~\210v{\242\222\233\237"
- "\216\230\221\177\213\270\254\262\271\252\260\223\201\214\241\220\227\244"
- "\217\225\313\300\277\271\263\250\224\250gh\235\024p\243\025x\252\036m\240\002"
- "o\241\001e\217\001|\241\002\235\304Cu\243\013\267\324W\204\254\006\201\256\002|\253"
- "\001|\251\002\201\251\002\215\257\002~\246\002h\227\001t\243\002\201\256\001s\242\001y\250"
- "\001w\253\001q\240\001w\252\002w\247\001u\245\002v\251\001{\260\012t\244\007z\253\006t\242\001"
- "w\250\002t\242\002x\251\001\\\211\001v\250\012\227\310)\205\266\020z\252\000]\221\001W"
- "\214\000a\231\002c\177<JHR\061!\063\066\040\063\\HW\220\206\216\264\254\263\212\200"
- "\210K>?+\027#Q?M\201q}m`orhv\177u\205\205{\213\220\204\224\234\217\236\264"
- "\244\251\306\266\265\251\226\227\232\207\215\206p|\256\235\245\270\250\256"
- "\254\230\241\257\233\237\250\222\221\234\207\204\220~}\215\200\177\271\257"
- "\243\246\227\207\250\237\221\270\262\251\251\244\230\245\234\215\215\206"
- "nyqQmgBoiA\214\207^\225\223m\226\227r\230\231v\227\232y\233\233~\212\206"
- "k\213\206n\203|m|sgi^M\200o\\\220zh\245\220\210\201f[kN?w[K\210n^tP<\213"
- "upX>)W>(kZQ^L<xmb\213\204{kcd|jexhf\205tu\203ps\214yz\222~|\245\224\230\235"
- "\217\230\232\213\225\234\216\226\264\251\260\236\221\233\200my\244\221\223"
- "\303\267\267\257\253\252\202\235gu\241,p\240\021y\252\025n\232\002v\247\002l\231"
- "\002b\220\000\205\256\033\216\257\030\235\274#\177\254\004{\251\010t\250\004o\237\001"
- "~\250\002\214\261\001\210\257\001o\233\002t\243\001}\253\001q\237\002w\244\001v\250\001r\250"
- "\001n\242\001l\236\001n\246\001m\236\002q\242\000s\246\002o\235\003}\255\016w\251\003w\250\002"
- "v\247\002\213\274\034\211\277!s\244\005|\253\002\201\260\001b\231\002K}\013V\203#>C?"
- "+$*\037\023\030'\033\033\031\012\015\032\022\023$\040#\004\000\004\012\000\011K@L\"\017\035\236\221"
- "\242odrper}t\202\204y\210\222\206\224\233\216\234\310\271\275\307\271\272"
- "\254\231\232\213v~\203nz\264\242\252\266\245\255\245\222\233\270\245\242"
- "\214vw\234\210\211\233\210\212}oszpk\251\242\231\275\270\263\262\255\247"
- "\262\260\246\230\230\201\224\225}\245\247\216\213\206`\220\221h\232\233t"
- "\227\231s\232\232w\226\232y\234\240\203\241\243\210\233\233\177\212\205k"
- "]O\071^M\065aO\067O\064\032H,\024lTFL\063#>#\020?&\021fQB\\B\061v^Rm\\RUA\060dWFxpj"
- "wplf``aWS\214{v\203ph\212ys\214|y\230\210\204\215zv\272\253\247\223\206\220"
- "}p{\244\227\237\260\247\253\224\204\216\231\207\222\244\215\221\313\276\276"
- "\304\273\274}\232kr\232\070p\240\022s\242\011v\245\002t\243\001o\243\003\177\261;"
- "h\230\000\255\305\061\202\250\004s\240\002q\240\002p\242\002r\237\001|\246\001\214\262\002"
- "\211\256\001\203\251\002u\242\003y\244\002\177\253\010x\245\005t\243\001u\250\001q\242\001"
- "j\236\002n\250\001u\250\001s\243\001j\232\002V\214\000\206\264/r\243\012\207\266\021\226"
- "\306\040\201\266\021Y\212\000z\244\001\210\262\001u\242\001p\246\001Wv=@X\064$$\026\014"
- "\011\005\014\010\003\006\005\002\000\000\000\061.\061\000\000\000\004\004\004+(+\000\000\000\067\062\067$\017\036k^k"
- "{l{\206x\207\201u\202\224\207\225\250\232\243\316\301\304\315\276\277\232"
- "\203\210zfn\212u\177\263\242\251\241\220\230\250\223\231\276\251\247\227"
- "\177}\243\213\207\215{v}jgC.$}ld\252\244\234\262\255\245\214\205oxlLyfB["
- ">\026R\066\015cR-bP+^J&j\\\065\202\200X\205\205^\216\217m\235\236\203\226\227"
- "y\220\214o\201yX\225\211i\200pQr`=\214|_~oNfP\064T;\037u\\LkO\061rZA\250\237"
- "\232\220\206v\200vef[Jh\\Ue\\Xzoj\204rm|he{ij\224\204\203\200mm\214wu\264"
- "\246\242\202u\200\215\200\213\230\212\222\247\232\236\232\214\222yht\221"
- "\200\207\265\250\253\313\302\306\201\227p{\235=\200\247\032o\234\001s\241\001"
- "z\255\000u\245\010\177\262\035x\247\004\203\251\006z\240\000\212\257\030o\234\001w\250"
- "\002s\236\002\211\263\001\215\262\002\210\253\002\210\256\002\205\254\001n\231\002t\236\004"
- "\213\267\060|\254\014z\252\001|\260\002q\240\001y\250\002x\244\001q\236\001h\230\002j\233"
- "\007\206\262!\216\273\063}\261\025g\234\004i\230\001q\235\002\202\253\002\220\271\002s"
- "\237\035^}+>R(\062?\034\007\007\001\000\000\000\000\000\000\000\000\000\020\017\021\000\000\000\000\000\000\000\000\000\000"
- "\000\000\024\022\024\000\000\000\000\000\000>-:yhx{mz\221\200\222\215}\215\241\220\233\331\316"
- "\317\261\237\237\221zzo]e\207w~\270\250\256\260\237\243\307\266\265\306\262"
- "\255\272\240\224\236\204y\231\177ut^YyidjbZaWC\200sY~oR\214~a\215\177eq_"
- "?YD\034X@\025`J\034iV(j\\)\177wGyr@xqC~vO\200zU\212\204^\204|Uuh>\201uQ\205"
- "{W\201yY\235\227\200\233\227\205\234\222~\236\225\200\224\210q\242\227\200"
- "\237\223\201\177scbSBc\\JJ=)ZK<i]Tl`\\\210zzzfhtce}jl\220}~\261\244\243\211"
- "}\206\203x\201\234\217\227\241\222\234\234\214\225tco\223\201\207\263\246"
- "\246\313\307\310\221\242\202m\227(o\232\011u\242\004r\232\000\214\270\032v\247"
- "\000|\251\005i\236\001g\231\001v\247\000\262\301\064\207\242\013p\231\001\202\254\002\203"
- "\260\002x\235\002\221\265\001\213\260\001z\242\002v\237\002w\244\004x\247\012j\234\000{\260"
- "\002z\251\002s\235\002~\252\003z\245\001i\230\001l\232\002v\241\002v\240\000v\247\002v\255\007"
- "e\221\003o\226\000\207\254\002\213\260\001\220\274\030h\216\"[o\070,=\015\040\063\014\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\036"
- "\024\032i\\h\201s\200\241\226\243\201s\204\255\237\246\304\271\271\242\215"
- "\220\207tznZe\222\201\210\263\245\247\274\254\255\263\234\232\273\243\234"
- "\265\236\223\242\207\200\236\205\200\177f^cI@Y?\063rdKqeF\206~\\\245\243\211"
- "\246\246\214\234\232~~sR\205wS\214\200Z\210{Q\215\206\\\213\206\\\211\204"
- "\\\212\203]\202ySvj>p_\062cQ%m^\061qh>}z[\233\235\212\235\233\211\241\240\214"
- "\250\250\225\242\237\211\214\203lN\067%K\071*bTMRB+ZJ-^N/eR\066hW=\232\213\204"
- "\206ut\203qo\204ro\217\177z\205po\240\217\213zlu\225\211\222\246\231\241"
- "\214|\206\240\222\231m`j\213{\206\257\242\245\275\266\267\222\240\201e\220"
- "\026g\226\004j\221\001n\224\000\224\272\062\204\255\022~\250\002g\235\001a\227\001o\241"
- "\002\210\250\022\301\312W|\242\003x\243\002}\255\001t\237\002\216\266\002\202\250\002}\244"
- "\001\206\256\002q\230\002y\244\001t\240\002q\236\002p\235\002n\236\002}\253\001u\242\002t\237"
- "\001n\233\002i\225\002w\244\001q\236\001q\240\001n\233\000\205\260\004\212\263\003\222\273"
- "\021\211\262F\222\271Xz\221id\202I;Q,!\064\024\006\015\000\000\000\000\000\000\000\000\000\000\001\001"
- "\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\034\025\032b[crds\226\207\233\203t\207"
- "\250\230\242\303\267\270\230\206\206\211v~q^k~lw\247\226\234\217z\203\266"
- "\241\235\254\226\215\264\234\217\216sh\206kenVOu^VfQE_Q:ia?ogD{uT\216\211"
- "kvrV\177z^\212\201e}oH\215\201\\\213\201[\200uN\207}X\222\211j\204uP{kAo"
- "_\061kY\062hX\062tiH~v\\\201za\177v\\}rPsfCZH+qeLH\071\030QC$wm`VF)J\071\026VA!"
- "O\071\030`M\062}mZ\215\203\203q__\211wt\220\200y\220zv\232\207\204{iu\177o{"
- "\246\235\242\213\201\210\226\213\222h\\fn`j\246\231\233\276\271\273\220\234"
- "\200d\221\032_\216\000p\233\002q\232\000\226\274\060|\244\000\177\256\002o\241\004u\252"
- "\022e\227\001s\231\000\276\312\\\213\255\034z\245\002n\234\001s\240\002|\250\001\201\251"
- "\001\201\245\002\206\250\002y\234\002\212\257\002~\246\002w\241\001q\240\001w\253\002h\233"
- "\001{\247\002~\245\002f\220\002r\230\002v\245\002u\245\001y\251\004e\225\001r\242\002|\252\002"
- "u\241\001i\230\001a\213#+H\022Bl\031\065P&Ne>]q[m\207kv\224vq\204l?Q=\015\025\016\000"
- "\000\000\000\000\000\001\000\001\000\000\001\000\000\000,(*F<Eses\223\206\227\201r\205\272\257\262\270"
- "\253\254\250\226\227yhqiZg|ox\255\235\241\246\224\226\260\232\224\252\220"
- "\210\300\247\233\222ue\227zl\215qfnTJfO=O;!\071'\007bT\062zpM\227\222t\222\212"
- "q~sY}mQ\203sU\210vZ\202qQ\211wW\201nQ\234\225\201\233\223~\215\177f\221\207"
- "n\216\206n\211\204k\212\206l~u_\213\204p{sTRH\034aU+|pPdX\062]N%QA\031ugS;)"
- "\002VC\040YB!aJ.}kUt_P\200pk\217\200\200|hc\205oi\227\203z\242\217\213yit\216"
- "\177\210\251\234\243\235\217\226\244\226\236l^j\210{\202\231\214\216\273"
- "\264\272s\210V^\212\016_\214\001|\250\030u\241\012|\250\013y\244\002s\242\000\203\266"
- "+\200\263\063d\234\016\200\252\004\200\246\003\240\266\035\216\261\002\201\244\001{"
- "\241\002i\230\002x\243\001|\242\002\217\260\001\217\257\001m\225\001t\235\002}\250\002~\253"
- "\001t\243\002V\213\002m\232\002v\236\002o\226\002w\236\002{\253\003o\227\002y\242\001h\240\006"
- "u\251\001y\245\002t\232\001x\237\002X\202\003=d\004'K\001\032\060\003\012\011\006\003\002\003\000\000\000\000"
- "\000\000\000\000\000\017\026\015<L\071`v\\j\203jCS@\035%\030\036\037\025==\067<:=ndp\215~\220"
- "\212|\214\262\247\254\271\255\253\236\214\215\211w~k[f\211|\203\265\250\252"
- "\235\207\220\250\221\217\231~u\265\235\222\245\210u\221rb~aNqW@hQ\071S?\040"
- "D\063\020=.\014I\065\025kW\070n\\C\216\211{\225\220\202\214\203p\213~h\227\211"
- "t\244\230\203\232\215w\213\177g\241\234\210\242\240\215\241\240\213\226\223"
- "|\223\215s\211\201_{nFgU+pa\071bM\037O\065\011r_\071m]\063SA\030F\063\017aP??%\013"
- "H\060\022O\070\032q]CxdQs^R\206smyfa\225\203w\226\203x\202mi\225\205\205tco~"
- "oz\223\210\216\231\216\222\214\201\210gZepbm\240\224\230\264\256\263s\210"
- "Xc\214#b\220\022h\226\007x\251\011u\242\001w\240\001{\246\007\177\257\030s\247\012l\245"
- "\006d\233\002q\240\002\204\251\020\226\266\006\227\264\002\231\267\002l\231\001t\240\002\210"
- "\262\002\223\270\002\215\256\001i\225\002x\241\001\206\256\001\203\256\001u\242\001n\233"
- "\003b\221\002z\246\003u\237\001p\233\002t\240\002w\233\001|\237\003f\236\005v\251\001y\244\002"
- "~\250\002z\242\001]\213\002Cn\003&B\003\063:&#'\031\017\016\014\000\000\001\000\000\000\000\000\000\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000&\064\014eq>AG+\065\067.fai\225\211\225\207}\210\265"
- "\254\260\275\264\264\235\216\217xjp[LXsfl\265\253\252\255\236\240\246\222"
- "\214\210mi\265\237\230\235}kwQ;}XCZ\070,R\063\"wbJjR\063U>\034F/\013G.\016|nY\202"
- "vbzkX\224\217}\217\211v\230\220~\236\230\206\250\243\220\244\240\212\216"
- "\207k\215\206i\211\200_whCtb;r].iS!eP\"^E\032]F\034\177oFzlAhT'C,\012\064\036"
- "\007X>\062S\067&nWA\205p[\220}o`F=oYOiPJ|c_\246\223\214\202la\233\210\177\236"
- "\221\214{sx\215\203\212\231\216\225\236\222\231\206z\204^Q^nam\235\226\234"
- "\245\244\251i\177;]\200\022q\236\066]\212\000{\252\005u\242\001x\246\002y\246\004w\246"
- "\003t\242\001\177\260\005i\235\002l\226\002}\242\001\207\250\002\213\255\002\216\262\002x\240"
- "\001t\236\001\200\247\001\202\247\001\206\252\002s\233\001\177\247\002\211\265\001{\246\002"
- "x\243\001{\250\001h\225\001z\244\003{\245\015x\245\002s\231\001k\215\001\212\250\002o\252"
- "\004k\235\002j\231\001l\235\002g\232\001^\223\001K|\002\030*\003#,\025QSI)&'\013\007\010\000\000\000"
- "\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\012\031\003,C\010.G\007\061C\020>H(vxu\227\216\226"
- "\221\206\216\215\201\210\261\246\244\206w|iZcZMU\222\207\212\241\227\232"
- "\246\231\233\242\220\211\224\201s\254\231\214\262\227\210\203]I\222p^\202"
- "cXs[QpZE|gHr\\\067gQ(bJ#fO,U\067\024s^EtdM\177pY\215\200j\177nR\223\212o\224"
- "\207k\210yV\202tR\226\214m\215\206f\220\210j\224\211k\222\203f\206t]\224"
- "\202n\221\200dzgEkR/\063\031\004@(\013>%\012\177iVr[=kT>q[Ms_U_KFkWPjQL\247\222"
- "\211\210kf\201`Y\233\204\177\241\227\230\207\204\210\223\217\224\253\243"
- "\247\243\230\235\216~\207UFSgYd\230\215\226\240\233\241w\203Pi\202\064w\245"
- "@e\232\000p\237\001\177\252\003y\245\002x\243\002s\241\001t\236\001\201\251\001{\251\003h\224"
- "\001x\237\001}\241\002\200\244\002\200\244\001~\244\002\177\245\002\201\251\003q\230\002\177"
- "\244\001\177\244\002\210\261\001{\250\002w\246\001r\233\000w\246\001\220\263\024m\223\000"
- "{\251\025o\235\002w\237\002}\237\002\201\243\001p\253\010Oy\000Z\203\002W\205\002\\\223\010"
- "_\233\010T\211\003\016\030\003\000\000\000\015\014\006$\036\030\013\012\007\000\000\000\000\000\000\000\000\000\001"
- "\001\001\004\010\001\026(\002&F\002\071b\013<g\017V|,\062E\034_ZZ\220\202\215\214\201\211\235"
- "\221\230\277\265\264\222\202\206f[cK;GN@E\246\233\233\243\222\221\244\221"
- "\214~hd\234\207}\264\237\224\233}qzZMfG\071F'\033kQ@mS\071|hIu_\071r_\065oX+n"
- "T'yd;s]\066|gF\207xY\233\221r\234\221v\243\233\177\220\204d\211}^\204x[\215"
- "\201kviQ|n]\221\204x\225\211\177\205wbygGV=\025.\025\000H\060\022[F!nW\067\227\206"
- "q\200lOdN;xhT\\K=aRBaK=\205n_\216yj~cU{`P\274\264\254\211y~tcn\215\202\206"
- "\225\214\217\213\201\207j_eL?KaX`\225\212\223\203\202wk{Lr\234Ip\247Fl\241"
- "\025f\225\000v\240\002u\235\001w\236\000\205\260\020s\235\001\204\244\000\230\274\026|\252"
- "\011s\236\002\200\251\002w\235\001\220\257\001}\240\002\205\255\001\204\254\002\201\247"
- "\001\203\251\002}\243\001\207\261\002k\231\001z\257\014{\255\012l\223\002\211\252\007\214"
- "\260\020~\253\017i\226\001\215\261\006s\227\002|\247\005a\243\013c\233\022X\207\003_\214"
- "\001Z\213\002\\\223\000]\236\011\060S\006\017\034\002\000\000\001\000\000\000\000\000\001\001\001\001\004\007\000\005\010"
- "\001\014\033\003\027-\002<W\005:`\002\067`\003Ao\022\064V\017\071D*`[^\213\177\212\223\211\221"
- "\214\201\211\254\240\242\227\207\212lahTIQd]a\217\205\205\230\213\215\277"
- "\260\253\227\177xqcY\267\247\234\260\237\217\210kWpUB\177fWoXHhRBubM\205"
- "rT\204oI\222~W}h;nU'\200kE{gG\205rV\202oV\232\217z\202qT\220\202b\221\202"
- "b\217~\\\232\213k\207wV\210wZubHjW@`O\071=*\024\061\035\003L\065\017jW*ta\066\224"
- "\203]\212x^P\070\031|gPbJ\067bJ;\200i]v]T\247\223\215tXSbI>\177og\274\262\254"
- "\177rv\235\223\226\246\235\241\227\215\223\215\204\212]U_B=G^Wa\246\242\245"
- "puZk\216?^\216\031r\247\070k\237\007p\233\003k\225\001{\243\002z\240\003u\235\000u\234"
- "\001\224\272\030\214\256\007\204\255\005t\240\001{\246\002y\240\001\213\254\002\212\252"
- "\002\207\250\001\200\246\001x\236\002\200\247\001y\240\002z\243\001c\223\001y\253\012r\231"
- "\000\200\242\003\206\252\006\200\245\011\203\257\020k\223\000|\243\001w\234\001\207\257"
- "\036S\221\000f\242\024d\236\017^\220\001c\222\002e\231\003V\202\000`\225\012Q|\010\040\064"
- "\002\022\"\003\012\027\002\032&\002CJ\013BN\015\011*\002%G\003\070^\002Kx\003Jw\006w\250J\065P\020AQ"
- "-^_Y\177x~\200u}ylt\247\233\234\233\213\215uio^P[RIP\215\210\205\252\237"
- "\232\302\265\254\247\214ziSB\220}p\305\273\262\234\205t\200aHsR=uV>rU?qT"
- "D|cO\215xY\231\210g\226\204c\212wT\211uS\201iDx_\067\211pP\210pL\205nG\201"
- "iAw^\064u[\061\221\177d\212{_saG`P\066\067%\015,\026\001\066\036\004T<\030s`;\211xT\227"
- "\207d\205pQ\201lXkT;`F/iP;v`P\177h^\233\213\203\242\222\214|g]]F;\241\222"
- "\207\266\254\251\207y~\216\205\211\203y\200\241\230\235\200}\202SKULBNkc"
- "iwzmjvXd\230\060h\231+\202\260?m\232\001n\231\000j\215\001\220\245\002\216\252\002v"
- "\227\003{\250\005z\241\001\205\253\002\203\252\001z\244\001{\243\002y\242\001\201\244\001\177"
- "\240\002\207\251\002~\243\002~\243\002\204\252\003\216\271\002x\244\002_\216\001q\240\002r"
- "\231\002\214\260\001q\225\002o\225\001}\253\013a\214\001u\235\002\205\256\007t\233\000_\226"
- "\000a\226\003[\212\001S\200\002]\211\001_\207\002c\212\002Z~\001Z\212\005;a\002'I\001\063L\002/B\003"
- "/>\001EV\005+E\002/R\003\064[\002S~\002Y\211\003Z\207\034>g\010Ii\"o~a\206\210\177\203\177"
- "}}rv\245\235\235\231\216\216oafE\067@\066&/D\066\071sca\226\207\202\265\242\222"
- "x\\KlVN\237\215\177\254\224~\213nRnI,\177_C\205hN}bHpO\064pQ\065qW:\226\207"
- "m\221\205i\237\226|\247\236\206\234\220x\227\207l\215{_\226\206i\232\214"
- "q\212xX\205qSoY=pZ?^F*U@\040U?\032s`@fN,]B$\230\204d\244\223vyeLpV<\215z`v"
- "ZA`B+\211q[\242\216}\210pb\244\225\215`QHA.*\202ok\303\274\270\216\204\204"
- "\200uz\226\215\217\244\232\236\232\223\233edk>\070DA:Gqoqpvcm\206Zc\223\066"
- "b\225(k\243\035`\221\000\200\255-u\227\001\231\256\003\213\247\002~\243\002{\246\005k"
- "\222\001\200\244\002\203\246\002\216\264\002r\233\002u\236\002}\243\002\203\247\001y\236"
- "\002\210\257\001\177\242\001\214\263\002\204\251\002~\246\001r\241\002a\215\002t\235\002z\240"
- "\002f\216\002n\221\001w\242\003l\220\002s\231\002\177\244\001z\236\000\210\263Uv\242\"b\212"
- "\001@k\002X{\002X{\001Ry\002\\\202\000Mu\001M{\003Gv\003Ac\002;V\006\033\066\001&:\002\070K\001AZ\003\064P"
- "\002\071^\001j\233!Y\207\001Dk\001Gi\027IW<ztw{ouzov\234\222\223\232\220\216ynqWKS"
- "KBLpgn\227\215\214\213|{\312\272\261\230~pYC:z`W\216uh\226zf\240\204g\240"
- "\201_\213jIpO\061\200bHdC$nP\062ydB\207u\\\230\220}\237\232\207\232\224\200"
- "\243\235\215\237\232\214\246\237\221\232\220\201\221\205u\213{k\214}m\212"
- "yf\206t]\205rV\214vZy\\\067\201eE\232\207e\254\236|\177iRhK\071\214u^\177j"
- "PaC&|`E\240\211o\251\231\206\230\206u\217\202t<'!dTH\244\227\215\301\274"
- "\266\204\177\201\210\201\205qhp\214\205\211\207~\205ZPYLFNKHNppmgnYy\240"
- "gY\207-e\226,a\227\016a\217\004p\231\011m\220\002x\242\002z\242\001x\241\002j\222\002o"
- "\227\002~\250\001\204\255\002\206\262\002p\241\003j\226\001~\246\001\210\255\002\207\255"
- "\001\205\254\002|\246\001\204\252\001v\232\002\214\261\006t\233\001y\242\003u\234\001o\224"
- "\001l\224\000{\252\017\206\267\032{\256\015\207\271\031\222\277&\214\270\034`\224"
- "\007v\240\020t\227\007r\217\013c\201\001_\177\001\\\177\001[\204\002Js\001Kw\002J\177\002Cl\001"
- ".M\002AX\003\027\066\002\037>\002)F\001\060T\000Ku\000\\\207\035Ih\002Zz\005_z\040ZgCpoj\205{\202"
- "\201u}\230\215\220\230\215\215|qx^S[>\065\070\066\061\063c`\\\212\206\203\276"
- "\262\252\256\233\207mQ@Q\062)\201l`\270\245\222\252\225x\257\232|\232\202"
- "d\211nUuV=c@\040pS\061_E\"\200oQ\214\177b\201rW\211}g\220\215~\225\224\210"
- "\212\203s\221\211y\245\236\216\236\230\204\232\214v\215~h\211x[mV\062\203"
- "kH\241\216n\255\240\203\240\222s|fL[=,y`L}fNkO\066\200fN\240\213y\263\250"
- "\227\232\211v\225\206vP</I\067,\213wg\273\266\247\234\222\213\206||\226\216"
- "\215\237\230\231\217\204\207reoJALF?FQMP{{t[kHp\240OU\212%c\230)U\204\006h"
- "\226\013i\217\001k\223\001t\242\001\204\262\023z\244\003i\223\001v\241\001\201\257\002\202"
- "\255\001t\242\001l\243\001l\232\001|\245\001\207\255\001\201\246\001\177\250\001|\247\002\177"
- "\251\002|\237\001\212\257\002z\236\002\210\265\011|\247\005\207\263\023\231\301*\223"
- "\275\040\206\262\013\204\262\011s\232\000\213\271!\213\270$U\212\001]\216\002Z~\001"
- "z\223\023\\t\002`z\001[w\002Zz\002Us\001Bb\002!J\002>_\002Tm\002;L\001AV\002Vw\007\210\230%^z\020b"
- "\214(Dc\000Ib\001>W\001Kf\010`r\070nqa\211\212\205peltio\223\211\212\217\207\210"
- "e[\\NCDK?Ayrm\214\203y}se\267\254\237\207s`V;*bK;\203r`\243\223}\231\203"
- "j\212pV\236\210l\223}\\sQ.iJ\036zc<kU,kU.ygCp^\070\215\200f{mR|lR\211\201n"
- "zlXkY?s_CgP\060kS.\237\216i\252\235{\221\201e\201oWoQ<vXBsY>v\\CgJ.\222za"
- "\246\222\177\263\244\223\240\220\201\237\221\202qh_K\065*qYF\262\251\227\253"
- "\244\226\204yw\177yuqjhmdfkcggagZW]JHMifh\204\211}d\200Tn\227Qi\224\066d\227"
- "\025U\202\001^\216\001d\215\003\207\262\011{\251\005v\241\004{\251\002d\220\001z\246\001\220"
- "\262\002\224\265\001o\231\001n\234\001w\245\003~\244\001\212\255\001\201\243\001}\243\001\177"
- "\250\002\206\256\001\202\244\002\211\247\001\210\253\001\177\243\001\204\250\001\203\240"
- "\001\212\242\000\216\253\000\177\237\001\205\260\004\204\253\006\205\252\007\210\255\003"
- "i\234\025W\205\001Lr\001q\226\007Zu\001^w\001^x\001^y\002Tn\001;V\002$E\002\062Q\001<]\001X~\003Tx\002"
- "d\224\004@i\003It\023W\201\040Cb\001Ki\003C]\002A\\\003Nf\036RZ\071\203\212wytrtjl\204z{"
- "\237\217\220uko\\PXe\\cjbanif{vr\215\204z\250\235\212kT?hMC]H:\240\222\202"
- "\214ta~bT\232\204s\276\257\237\250\221u\215qL\203h@\231\204a\203oC~kA\202"
- "rL\214~]\200sT\221\206l\224\211m\203yY\216\204g\214}[\233\213g\211vO\236"
- "\216k\212xWnU>kR@eJ\061\200dHfH+kN\060\222y\\\254\233\206\261\242\220\252\232"
- "\211\233\210x\216~pYJDpdX\242\223\205\271\263\243\214\203{{onwolunmc_aSR"
- "TDCHRQVYX]wwwfn]_\214F_\215\066S\210\017b\232\026U\210\001i\231\006z\245\012\202"
- "\254\005u\235\002o\225\001k\226\001s\243\004}\253\001\212\261\002\210\255\001r\235\002q\242"
- "\003~\257\010\205\251\003\207\247\002{\234\001\211\243\012\206\250\001\224\270\005\205"
- "\250\001\233\265\010\205\250\001\200\244\001}\235\001\211\243\006\220\245\022\227\265"
- "\023\207\260\005x\235\002x\234\002\201\254\002\200\246\001^\207\001R\200\001X\203\002q\234"
- "\002b~\001g\202\001g\177\001h\207\001[x\001Lm\001Hm\003Mu\002T\200\004;`\001b\220\030\\\207\035K"
- "p\015r\234>;h\004\064\\\002Mq\016Lj\012So\015o\206;p\202Orseomivon\205}z\237\225\223"
- "vkm^RYTKSmgle_a\201{v\204zq\265\254\240\252\235\210iU>wdXvc[\225\205ylUG"
- "\213zj\262\245\221\257\240\205\236\206d\217tQ\212pI\237\213h\232\210e\224"
- "\204`\177pK\207xW\207zX\225\210i\203uU\222\210i\226\215q\232\215r\203rU\207"
- "tS\215zZu_=iR\061fO.sY\071\214tV\225}b\251\230\202\257\242\217\253\237\213"
- "\226\205u\224\205wS@\062G\062\040\204s^\247\235\214\216\204xrjdtmirjh\\TS]X"
- "[hglb_gROYa`exxxMX=d\240FDw\007R\211\010X\221\015R\210\000n\240\003o\234\001t\236\001"
- "x\237\001t\233\001i\224\002m\227\002\207\257\002\201\247\002}\246\001t\243\005f\232\012{\265"
- ">\177\250\024\203\245\001p\224\002\204\233\013\224\257\004\224\256\002\217\263\001\230"
- "\266\010t\225\001z\234\002\204\247\002\203\241\004\231\264\032\227\263\020\213\256\001"
- "y\232\002|\242\002\177\254\001\177\252\002Y\205\002I{\001Y\210\005Af\002a~\002o\223\002f\216"
- "\001a\211\002Y~\001Nu\002X\201\001D`\001.F\002\067L\002\066P\000s\247Oh\221=^\207\026Gm\003Su\007"
- "Rt\004k\213&g\206#Wt\023y\211Z\\ZLqmhurnqpg\220\210\177\211\200xe\\[ncedXaX"
- "QX;\064\070[WOyre\272\263\231\215\177_B(\033ZB\063{fR\241\220\202\212yh{hS\237"
- "\216y\232\207m~a?\201e>\214rM\204oG\221\203a\177pL\203vR\206~X\206~\\\212"
- "\202`\206~\\\225\220r\221\210p\225\211o\206wUya:\200g?\211wR\206uT\234\214"
- "n\245\226|\255\236\211\272\256\235\251\234\213\226\204r\204tgscZM\070)cJ\062"
- "\243\227\200\254\247\225\201tith`jaY|yt\222\221\217\202\177\202e_h^Y`jgl"
- "bcbx~ubvR_\224\067Lw\002Q\202\004[\220\012h\233\005|\242\002y\236\005s\231\002m\224\003v"
- "\234\003o\230\001f\222\001\201\252\001\200\252\002{\245\001s\236\003r\244\026\211\277U\203"
- "\261\031|\245\002p\232\003}\247\002\206\250\002\252\277\030\232\265\020\177\232\001\221"
- "\260\017\207\256\005\205\253\022x\225\002\216\250\001\254\272\032\220\255\001\202\244"
- "\001\210\260\001\200\251\001z\245\001S\201\002Q\201\003Y\212\007>b\001]\213\010_\215\002W\200"
- "\001[\202\004T\177\001[\203\002Qr\004Wt\003Gh\004\065T\002Ff\002A^\001p\256=U\207\002Lq\003>]\001Tq"
- "\002Id\000l\206!\201\235LdoATVCvslwum|{srqi\231\225\216|ssSHPZOXmgl\\YZ[YRWU"
- "I\213\205q\250\240\206p`IO<$?)\025~tj\220\207xiU@s`K\235\214u\243\223x\230"
- "\204e\202iB\212sL\204sK\213|T\220\205^\202yS\206\177^zsO\202yY\226\217t{"
- "lN\225\207e\200lF\205qH\204sJ\245\231z\256\240\204\267\255\232\234\215t\270"
- "\253\230\243\225\204\214}j\231\213zyl_>'#T?\070\240\221~\270\255\237\220\206"
- "}\205wsrhe\200yw\177z|gbhE=KD:Iebg~~|lrhs\201mf\217VZ\203$\\\213\012X\210"
- "\005b\222\003u\240\002\206\252\015r\232\001w\245\002h\216\002\177\244\006\177\241\002\177"
- "\240\004\206\261\002~\244\001\203\252\003o\234\005k\233\007\223\301i\200\253!y\243\002"
- "x\244\002~\247\001\200\247\001\244\277\013\264\266\061{\225\001\233\275$~\254\010z\245"
- "\013\201\241\002\221\253\002\237\244\021\223\256\004\206\252\002\204\257\001\204\253"
- "\001}\244\000`\222\000y\252\031R\203\000P\202\001Ky\003Y\217\003U\212\001Z\220\016S\204\023"
- "Px\022Y~\004Je\001g\233\021Fo\001[\204\012g\226.N\203\000W\216\004Hm\001Oo\002On\003Oq\006q\221"
- "GWz.Ke#IU/^`Oll`^_T\177|x\204{ywlm[OWi]fl`i`TXrjg\201|rzvi\226\217{\257\253"
- "\214wgLgVJE.(xlc\205tg~k[\211vf\247\231\204\247\234\202\227\210g\214xU\204"
- "rK\210{T\213\201[\207\200Z\213\200^\213\201\\\202vS\223\207i\204uT\226\210"
- "f\213zW\236\217m\240\222o\235\220o\244\226|\237\223{\221\201h\220\200i\200"
- "o]\213}kxj`P\071\067cOB\230\211m\247\233\206\241\230\206\203|r\201~wzxvzvx"
- "lhjuqsfciJHNXZZp{on}kcz\\f\240MFw\000U\210\003b\226\004f\230\002k\232\002s\244\005r\241"
- "\003s\245\003e\222\001{\247\002\204\241\001~\240\001v\234\001z\246\002n\231\001s\237\002v\246"
- "\060\235\310\210z\251/\201\254\000l\231\002\201\250\002\216\261\003\224\265\003\244"
- "\267%\231\272\037v\236\000x\240\002x\245\001\200\250\001\203\247\000\224\264\024\227"
- "\272\014\212\263\001x\237\001\231\272\021\204\242\000d\234\011d\230\014]\214\001X\214"
- "\002Y\221\007Z\216\001Z\213\001Nz\003Q~\005`\215\016s\225%Rw\001P{\002f\233\004k\226\023h\233"
- "\033d\223\003Y\210\001U\211\002Cl\001Ho\001`\204/[\201*Kk\033Of!CS\034beIhiY|{q\202xu"
- "\212\177}pdfcV\\vkqO;JaRXf[Yvsk|{ruth\220\212t\232\222s|rYN@\064B/+bNK\231"
- "\217|\211uf\213yf\236\220{\235\220x\242\225x\226\207g\217\200b\206wY\227"
- "\213p\207{]\216\203e\215\201d\221\212m\216\206h\243\232~\213|Y\245\227v\222"
- "\201]\212xR\203oI\204oN\226\205m\232\214y\216\200use\\L\066/P\062)\243\224"
- "\201\257\245\223\225\207yvj`\177xrromzzzpnq[W[@:ARLS^]borspyqr\207p]\201"
- "QV\211\034R\204\000]\220\003Y\211\002d\234\012e\232\007u\234\022q\235\001s\240\004t\241"
- "\004r\235\001\204\257\036w\240\003h\222\002s\242\002b\221\001r\241\003e\224\000\224\306~~"
- "\261\071z\244\001\201\245\001\222\263\005\220\267\001\206\257\002\203\252\002\264\305"
- "N\177\242\005x\234\002\206\255\002\211\256\001\226\263\023\211\245\001\221\263\001}\242"
- "\002|\242\002\215\242\016\212\244\001_\230\003b\231\003]\222\001K\177\001R\206\002]\221\003"
- "W\202\001Lr\001Y\200\002[\200\002Uv\000Os\001Qx\003Nt\000`\224\007b\223\002t\241\002e\222\002a\224"
- "\003[\224\005i\231:X~&W{\030_\201&Vs\040Vl*anCx}gxxn|xs\200vu|qq|ssvkqjadh_\\I"
- ">?WSOig_ng]_UC\212\202dzpO}nTmZL]LIB/(vjZyhY\204p^\233\216}\236\224|\230"
- "\213o\240\221r\202rS\212y\\\211y\\\220\200c~kN\225\207j\222\206f\216\201"
- "a\214|[\206tOzg;xd\070\220\201]\223\204e\220\205q\237\226\206ka\\M?=A\060,"
- "\215~a\261\246\221\236\223\204\207~s\220\207\200bYY}||ttt_`d?:A&\033%RPP]"
- "_[syvy\204zk\207c^\225DHx\000d\231\007]\223\004\\\223\001g\235\020i\236\025n\234\032"
- "u\242\001\177\253\013w\245\003^\210\000}\257*m\233\001h\221\002p\236\000y\254\024z\250"
- "\000q\236\003l\241\014}\261\036r\234\001\207\247\002\233\263\014\244\300\010\202\243"
- "\001\225\263\032\210\241\027\266\312l\200\243\000\203\247\002\205\244\001\235\255\024"
- "\210\232\000\233\271\002\211\253\001\206\255\001v\227\001\207\251\002a\230\007d\234\015"
- "]\222\001[\214\003b\222\002c\216\002c\210\003^\200\001Qq\002[y\002Vq\001\\{\001a\212\002x\237\067"
- "X\205\010Ov\001t\237\002S\200\001:f\001c\221(j\227-V\204\000x\243\022\225\267\020\242"
- "\303,\217\264We\200\071auC\206\207\177\177}y\202~{\204\201}\215\220\207\217"
- "\225\213f``\071*\060>\063\067RKMkbah^Z{ufmdJ\177xW\251\242\210\227\211keTBSC"
- "\065\065\"\036O>\070aPDsgY\220\203p\210u_\240\221y\216|Z\213{]\204v[zmP\201p"
- "Qtc?\202sL\207yUxcC\200nP\211w\\\236\220x\227\210r\230\212yti`XLMH\071=jZ"
- "N\230\210l\262\246\213\235\214r\223\206q\201zitpf\202\202~|\177}rtuTVVPT"
- "Q`hVYgRXdTq\177pm\206lDt$X\217)a\224\002]\223\002R\206\002b\227\002b\223\011f\224"
- "\007V}\000l\225\003\205\255\001~\252\017}\255-\201\260\063\203\261\064}\246\016\216\271"
- ",t\243\013y\245\002h\226\002o\237\000}\266?{\255\026\225\272\005\204\246\002\222\256"
- "\000\247\267\003\214\245\015\227\264:\246\304\\\227\272\060w\236\001\217\262\005\246"
- "\261!\242\266'\230\265\000\217\255\003\202\245\003\202\247\002\220\265\002a\222\001W"
- "\207\000I{\000X\206\001Y\210\000b\221\005e\215\002_\202\000\\\202\001e\215\003Z\200\001X\205"
- "\003]\215\013Mx\031Co\001q\220+\202\246\033N~\000T\203$Il%P}\000i\230\003y\240\002\213\255"
- "\002k\214\000\235\277gv\226<[y,\210\214\206\231\240\227\216\224\214\230\234\226"
- "}t{\217\210\213bV`E\066@I<Dodj\202v\200\234\224\231\206\205|vn[rkP\232\223"
- "w\251\242\204\235\221s\214{b_K?\065\"\035\067%\"THEL>\067UA\067vgXqdTvk[vkX\205"
- "ua\205s^\222\202h\220\201i\240\225~\210ygsdV\206zm\220\206}gYPP<\070O;;UA"
- "@\205ui\240\224~\253\242\214\244\231\204~lR~oZvoc\202~{\224\223\224\202\202"
- "\205QSWLWKUaPAM>\067C\062SbKe}XSz>L\203\"M\204\003U\212\001N\177\003Y\210\001k\225"
- "\002d\217\010d\220\002q\232\003n\231\001o\234\002l\226\002y\247\005q\237\006e\230\004\207\263"
- "=t\244\021i\232\003\200\261\012l\233\001q\242\000\211\273Fm\253\064\204\255\000|\235"
- "\002\217\256\002\210\247\002\254\265\007\244\302V\207\253\021\220\266,|\246\006\207"
- "\254\013\243\273,\226\267\033\223\265\002\214\253\003\216\262\003\204\247\001\207\250"
- "\000j\226$\256\313\217\325\351\324r\243\063\245\306js\231\026[\213\003^\223\025"
- "O\201\003[\220\004]\223\003Y\211\000m\240$Fo\000Ms\001S|\002o\242\006Y\211\040Ly\016[\217\010"
- "h\233\015T\200\001\\\205\001Qy\000Z\205\032x\242\071h\224-e\215\067g\202N\202\210~"
- "\230\231\226\234\233\233\232\230\227\224\217\214tlqaVZbZ\\vru\210\202\207"
- "\235\231\226\202|r\217\210w~s^\206z`\233\223u\244\237\202\240\227y\240\222"
- "v~jXeMG[GCA((>%%K\071\067L;\067WH=L\067*bOAxiW\220\202t\210{m\210\177qlaXK=\067"
- "O>;[IA\177n]tcT}j]\251\241\214\261\252\230\260\250\225\237\225\201\177p["
- "\201r`\207~s|rk\204\177z\246\246\243\214\217\216v\203rJMJ?CBENE:K/\066P\031"
- ">d\027O\203\037[\221(Er\001Z\220\007V\210\007e\223\002w\232\007c\223\002\233\275;}\242"
- "\002`\215\002p\240\002c\223\001s\245\002n\235\000~\257\062p\233\003\206\263\035i\230\001{\247"
- "\004r\243\002{\247\012\214\266Ec\231\040\270\320\201\214\245\000\221\256\002t\227\002"
- "\215\254\006\262\314\\\204\247\000v\232\001\224\302H}\246\000\224\274\021\225\275"
- "\022\232\300\031\220\257\000\226\263\003\215\250\000\255\306(\315\337\314r\240+e"
- "\230\030T\207\003O\201\000[\221\002f\223\014[\213\000\\\216\001L~\001R\203\002`\225\007Ox\003"
- "Cg\001T|\003Z\205\004`\223\000N{\013U~\003]\206\007Ij\000X\205\001u\235\024v\234\026V\206\011"
- "Y\213\016^\216\027C^\032Vk\070jx\\\230\230\223\237\237\232\226\225\220\201zv"
- "}vuwrsfagpmo\230\221\223\264\261\255\230\223\214\210\207y\221\215y~x\\xm"
- "K\232\225s\226\217m\253\241\205\247\237\203\263\253\225\231\214s\177oZm["
- "MjWMT<\061fSGS>\061eTGhVFp]OvfWj[Li\\NjZH{iT\234\212u\256\237\213\254\235\212"
- "\267\251\225\261\246\222\260\247\224\216\177f\213}b\221\205oviV\224\220\205"
- "\227\227\217\220\224\210\212\231\201\202\234tbuU=>><>;RgFOu\060H{\"F\207\015"
- "R\217\022{\233\026c\217\003R\201\001`\215\002_\210\002c\207\001v\242\035|\246\060\210\246"
- "\001f\222\002k\232\000i\232\017o\247\001c\225\012^\222\007n\241\003z\251\014q\235\001u\250"
- "\002q\247\024|\243\017\250\302a}\242\040y\244?\217\255\001\221\261\003\202\241\002\206"
- "\247\006\244\304<\222\266\025\177\244\000\212\270!\204\263\034\206\261\007\215\270"
- "\007\231\273\016\232\264\002\253\300\013\222\252\001\234\271\000l\256,\\\221\000c\226"
- "\001T\206\002W\222\015P\206\003M|\001[\214\002W\212\002Y\214\003S\203\002_\230\015\\\221\017"
- "W\201\003Rw\001_\216\007`\221\011T~\001Uy\013q\242\022i\232\005\227\253\025_~\002f\207\001"
- "t\233\003Wy\000Tv\006\070S\001Hd\030l}Tpyb\230\230\222\226\227\217\224\223\213\200"
- "xu`U]upulgl\231\217\223\265\257\251\255\250\240\217\213~\217\213y\212\203"
- "k{sR\216\203a{nF\213{X\253\244\214\266\260\233\252\243\213\257\247\220\241"
- "\221|\235\214x\241\220}\252\234\213\226\210v\227\211w\217\200q\241\222\204"
- "\252\235\215\227\207w\254\236\210\254\234\201\252\232\177\255\235\206\271"
- "\253\230\300\267\245\261\251\225\240\232\205\222\211t\211}d\230\217y\215"
- "\206r\226\221\203\211\210~\217\217\210\247\250\243\243\255\233an]V^VL\\L"
- "u\212s=Y)\032>\000(U\004D\202\013H\203\014[\224\004\243\243\014U\202\001b\215\002a\210"
- "\002`\210\001j\233\020T\200\003\224\274\071c\213\001p\235\001h\225\001n\245\027i\232\012"
- "i\231\004o\237\002q\237\002\205\270\005m\236\002e\226\000|\242\006z\250\032|\245-\255\275"
- "^\224\257%\237\262\024\210\245\000\214\256\004\210\257\003\212\261\010~\240\001\234"
- "\264\000\221\276I\211\266\035\213\270\013\202\246\001\251\302\011\227\256\001\217"
- "\252\003\231\262\002Y\217\000h\234\002W\212\002Y\215\004^\224\004`\223\002V\211\002`\221\002"
- "Y\213\002c\234\002d\236\003[\224\002_\231\003O\204\001Y\216\000h\236\022_\224\003f\225\025"
- "h\230\011g\224\003\216\254%[t\000[~\004t\216\003o\210\002Op\003\061R\001Dh\003&K\000V~\004\\nF"
- "t}oz{r\215\214\204\221\220\213\215\213\206XQY_Xa\201{\202\231\223\224\271"
- "\265\256\236\231\216\217\210x\224\215x\217\210n\221\207i\217\200[\217\201"
- "]\216\200`\231\216s\236\224z\262\253\224\271\261\234\261\244\221\263\247"
- "\224\262\251\226\266\252\233\253\240\217\251\236\217\253\236\220\235\215"
- "{\256\241\217\263\244\216\255\234\205\263\240\207\245\221x\266\246\222\271"
- "\254\233\231\214t\221\206q\232\222\177\215\207q\224\215z\233\225\206\223"
- "\221\206\212\213\202\210\210\177\242\247\230\201\217t~\213d\211\205UQ[I$"
- "A\031,T\037n\227ZI\201\016>q\003M\205\002Q\210\001r\214\021a\202\003c\211\002i\224\002d\221"
- "\001S\203\001M\177\000\204\254\063^\205\000s\242\002k\241\015o\245\020j\236\004p\236\007v"
- "\246\001u\247\002p\240\002i\232\004i\232\002{\246\002k\241\024\213\270O\265\317Xn\236"
- "\023\241\266\027\247\264\037\230\262\032\204\253\007\221\271(\203\245\003\226\237"
- "\001\217\271,\216\272=\222\276\015\221\270\003\220\256\002\212\245\002\223\257\002\220"
- "\256\001a\224\002m\235\002d\224\005t\232\012r\225\010{\232\036_\212\005Q\202\001\\\216\002"
- "]\224\002d\237\012Y\207\000f\220\023u\247)f\231\"N{\003\\\213\002_\211\003p\231\003x\226"
- "\021\205\241\026Jm\001Km\001`{\002p\211\003Tn\002\061I\002\071Q\002Hf\003:^\000Jf#VcAjnc}}v\227"
- "\231\212\203\204zaa]b_aYTY\230\224\222\254\247\237\224\216\202\224\217\203"
- "\215\213}\232\230\207\211\205i\203|Z\220\206d\224\212m\214\177a\202sS\217"
- "\200`\246\232}\262\246\212\246\234\177\240\223z\253\240\207\234\220{\264"
- "\254\232\227\211t\223\201n\247\232\206\265\251\222\252\233\204\260\242\213"
- "\257\242\212\247\231\203\250\232\204\232\216x\224\210t\207}l\235\230\207"
- "\232\231\214\233\234\222~~y\210\207\200\177\202t\215\237v\203\222ho|Zdnb"
- "DZ<+N\022,X\006?s\003\200\247^F\177\006d\235\002L\202\000\223\266bh\210\007u\224\006e\222"
- "\003`\216\001Y\215\003Y\214\002m\234\035o\235\015m\241\006k\233\016m\240\010j\226\011p\236"
- "\004w\245\002}\255\001}\256\005o\237\002V\213\001\211\263\000g\237\017\211\271H\224\274"
- ",x\241\000n\241\016\206\247\001\222\256#\221\256\025\225\273\064\205\254\003\214\241"
- "\001\204\252\007\216\265<\205\257\007\201\247\001\221\266\001\212\254\002\213\264\007\206"
- "\250\002a\225\003e\227\002X\220\004W\215\002U\206\001b\220\000Tr\001]\212\002Z\212\002]\222\001"
- "d\224!\206\262Sj\233\024^\220\000W\205\002Bl\002`\215\002Ko\000Z\207\006\237\270Kd\216"
- "\002X\201\002Z~\005m\226\002Xv\003^o\001dn\010Wh\005Vo\012Jl\010\070W\000Qs\015\065G\035_oJu\177"
- "h\215\220\201\231\232\221hdd]Y\\\226\220\220\201vs\213\202y\210\177v\206"
- "\177t\220\214|\215\213t\222\215p\202|Z\177zX\226\216l\203tN\216~Y\222\205"
- "a\230\214i\222\206c\244\232w\231\220p\241\227|\243\232\205\213\177m\233\217"
- "z\251\236\212\256\243\214\252\233\203\252\233\203\230\214v\245\231\206\200"
- "xf\207|j\221\210x\247\243\222\227\226\211\215\215\203\213\212\202\201\200"
- "{}|u\217\234y\177\230Z[nHO^JM_E,M\020/U\005<h\005N\203\011\066k\000z\252Ed\235\001@"
- "l\015\230\276lp\223#X\200\010Iz\001a\220\001d\227\002R~\002P{\000\231\304Kl\234\013h\226"
- "\002u\247\002v\245\002w\246\003i\227\002\200\262\002h\231\003l\241\001Q\212\011\225\270%u"
- "\246\020\225\302`\212\263!\201\245\002{\245\001\202\257\003\200\246\001}\242\000\247"
- "\306Ky\245\000u\232\000\214\255\032\220\256+\207\263/u\235\000\212\266\002\204\252"
- "\002\223\267\002\245\307)K\201\001a\226\003Y\217\002P\210\002X\221\003W\211\002^\221\000c\223"
- "\003d\225\003Y\177\011k\212\006d\220\004\214\246Ke\212\015_\207\002Qz\001c\222\004w\256\040"
- "\205\261#{\244\034u\241\014e\224\001f\221\022_\215\001R}\000]\204\003\\\204\001Z|\001[z"
- "\005Uu\004Fd\001\067U\001\064Q\003k\216@beUsug{}q[TTxtwh`b\242\233\225\255\245\235\244"
- "\237\223\227\221\204{yj\204\202q\217\215u\216\211j\211\202`\205~Z\213\204"
- "^\230\220k\226\215i\242\233{\216\202c\233\224v\251\244\210\223\214r\230\221"
- "{\207yg\213~k\221\206p\244\231\177\254\237\206\250\234\206\224\212x{s^\233"
- "\225\206\235\233\214\225\225\210\231\232\217\203\203z\233\232\223\211\210"
- "\203\177~y}}w\226\255pj~NFSC\060B'\070Q\037+L\005Di\011It\002T\212\006G~\003_\241\001]"
- "\221\040\\\206\020}\245YNv\000b\204\036Kw\000]\214\002^\216\002U\204\003a\222\002\215\271"
- ";[\207\000i\231\001f\227\002t\244\002i\231\002d\224\002z\256\002i\230\013b\231\000t\252\060"
- "\231\305h\222\275B\217\272\061\207\257\023\202\246\024\246\302\070u\244\020\214"
- "\257\004\201\243\000\246\302C\335\337\246o\224\000\215\235$\235\267Bm\235\000\207"
- "\254\021\224\264\001\204\245\002\215\257\001\223\267\023d\231\010P\206\002X\216\003^\225"
- "\004T\212\002_\230\000m\241\027r\247!_\220\001{\223\024\257\260FZ\202\000c\224\025S{\005"
- "d\220\010g\222\010s\244\002l\227\000\232\273\070d\200\000l\221\004V\177\001m\233\003n\233"
- "\017e\213\011a\201\001]|\002[x\002Xu\001Ee\002<_\002Ih\002Xy\004Pq\004!\062\004?L,jla\214\214\203"
- "\211\211\202\212\206\204\236\231\231\217\214\213\233\231\224\202\201xzzq"
- "^^U\213\213{\221\217y\220\214q\223\215p\204{Y\213\204`\220\212f\247\243\212"
- "\224\222w\221\217r\212\206j\221\211m\222\207k\210x_\177nY\215|f\246\233\201"
- "\237\226~\233\225\200\226\220\177\242\235\215\244\244\230\224\224\211\214"
- "\214\202~~vkifoopxxwWWW|\204kp\217JCMEDS?%>\026-P\014Cp\017+W\001=l\002M\204\010"
- "Cz\002[\225\003=d\014x\251D\206\256YFr\000\236\265h_\217\006d\227\003]\222\012[\221\014"
- "^\225\004\204\254\061l\231\014_\221\000l\236\001c\227\003]\220\002n\241\002i\235\000\236"
- "\276a\210\266Ni\233\007X\212\000\202\266\033|\241\015\204\261\033\211\272H\222\277"
- "]\210\266U\274\336\227\236\304C\232\277B\223\254&\227\255\060\246\266B\305"
- "\324r\262\310O\230\272,\210\244\000u\224\002\212\255\001\234\274\036Q\203\002X\212"
- "\003]\216\003Y\225\002^\223\004X\214\000_\220\000f\226\002d\216\003p\223\002b\211\000o\234\002"
- "h\226\003v\247!\224\302S\202\257\020{\243\002\217\260\013\236\266R[~\000b\217\001m"
- "\230\011y\234\007v\221\000n\203\002i\177\001[m\001bq\002E[\001Vq\004'?\001Fk\012\206\254\036>"
- "a\002\027\060\000Le\"gxBpqclld}wywltj_ithpYMTA;@:\064:fgeZ[T\211\213v\230\226{\205"
- "\201`\213\210d\216\212h\230\226{{\204Y\235\235}\222\217q\232\225w\207{^\204"
- "wY\221\205h\237\226|\230\223}\235\227\203\237\234\207\230\227\205\226\227"
- "\210\231\231\215\230\232\220xxs[[ZDCDA>@IEJA=B\231\245vYZQ-;!+B\030&E\004:a"
- "\024*R\000\061a\005\065i\004Bx\002Y\232\006Ah\002Kr\001q\236\061\203\256\\T\210\002Y\214\025~"
- "\252AV\207\006R\201\001S\201\002`\221\001n\236\027\203\261\062i\234\001k\234\002a\220\006"
- "j\227\000x\250\002w\253\036v\251<b\230\006n\235\003k\232\000\204\267\062q\223\000x\251"
- "\021q\240\002\222\267\071\302\340\221\225\300G\202\257\027\205\265\060\220\266"
- ",\251\305_\271\302Z\203\252\016\212\261\034\231\303@\220\267)u\220\001\202\235"
- "\002\232\276&a\221\003`\224\001\\\227\003a\232\005v\244\021\203\246\037i\230\000X\214\001"
- "V\211\002s\232\003r\231\002e\221\002g\232\000u\253!c\220\001l\227\001w\241\002m\226\006\\\213"
- "\002`\221\003b\212\005f\206\004l\215\001j\206\002y\226\003e\204\001b\212\002f\215\004d\206\010"
- "g\214\006e\221\007m\243\025;V\000Sr\033Vw\032\071P\004\065H\011Yb>NP?E@>VJQxmtthocW_\035"
- "\017\025\062+\060\064-\060PNLwvf\220\214r\216\212i\231\227v\210\211c\202\206X\202"
- "\206Y\231\227s\221\215i\230\221o}rN\226\222s\230\223w\223\217x\245\242\216"
- "\235\235\210\225\225\203\215\216}\222\223\206\226\230\215\222\223\215e^_"
- "A:=\065\060\062\067\062\065\063/\060sqY\204\223d^j[\067O-\032>\002.V\020\"N\000'X\001:l\007"
- "G~\005N}\005g\226\025En\002b\212\012U\203\027\214\274XS\205\000S\201\000\222\300ZZ\215"
- "\001N\202\002c\226\002U\203\002`\214\011\222\276;n\243\002Y\213\002f\233\004\210\265\067"
- "|\254\006g\236\014`\227\021q\244\004\201\251\003\207\267\066m\237$u\222\000~\257$\261"
- "\330v\262\327o|\237\007s\243\003\223\301D\236\310[\244\310Y|\253!\240\275%\207"
- "\255\016\240\260(\221\271<\226\274R\226\264\015\220\262\001\224\277\062O\201\002"
- "W\220\011O\215\001U\222\001T\220\001K\206\000V\215\002Z\217\001Y\217\001]\222\002j\233\003t"
- "\250\022Z\212\001k\235\016c\216\001g\217\002c\206\001y\236\020\227\270\017q\236\001l\227"
- "\001s\240\003j\224\001l\227\002r\224\002l\211\003^l\001`g\002~\232\003u\236\002Mb\005s\223\"o\215"
- "*Gj\007>^\001Rt\026Vi$\036-\002FM\070Y[S\\YVsjk\211\204\201i_[I:\063OA\070I;\065^VNd"
- "\\RslZ\212\211m\211\215fw\202O\207\212a{zT\221\220l\223\221l\177|S\204\200"
- "X\233\231w\214\213l\226\226{\217\220{\216\223{\227\241\205\207\211x\227\230"
- "\214\232\234\222\211\207\200{sjvl`vmaztjgcZ\233\256xZmG\070R\061=W+\064U\025"
- "\027@\002\"T\001?w\025>z\005P\206\010\177\242)@h\016O\207\022Fy\001h\232#~\264Da\221\006"
- "Z\204\001v\251\024`\223\007_\223\003K|\003W\204\002e\227\000\217\275\067a\223\000`\221\002"
- "g\230\005k\231\000s\246\001j\241\015^\222\002\210\261\003\177\247\012m\236\013f\237\060"
- "\233\301O\214\267Az\250\034\211\241\014\205\232\003j\225\002\234\277L\234\270L"
- "\214\256%}\254\023\213\234\000\203\237\003\207\251\006\327\340{\276\313D\234\265"
- "\016\222\257\000\224\301@Ax\002V\222\004V\216\002V\217\002Z\221\003]\225\001W\212\001q\237"
- "\027i\225\004i\227\004`\216\007a\217\003\\\211\002X\205\002f\217\001R}\001b\213\002\202\253"
- "\002\222\265\003o\224\001q\231\003u\235\001|\247\002s\217\003f|\002cv\002l{\002|\213\006|\226\001"
- "^\202\000n\233\021n\224\032bq\024Ri\007X\177\015E^\024\"/\000/:\021jt\\\213\215}~~rk"
- "bY{rj\237\230\207\226\213r\232\212p\235\215p\213{a\200s[}v\\tuPs~K\207\215"
- "e\217\221n}|U~|U\220\217g\204\201S\213\211_\224\224p\210\210i\217\217s\200"
- "\201j\223\226\200\233\244\203\222\227\177\224\226\211\232\233\221\210\206"
- "|\215\204x\231\221~\237\230\207\214\211|\202\206q~\254^AY\063)B\032,M\020%J"
- "\013&M\003\066f\020O\206\031L\205\007K\177\001M}\021i\233,O|\000N|\001f\227$i\233\063f\226"
- "\003Nu\002f\231\001R\207\002f\231\012Y\206\007l\231\003\212\267+\232\302;\212\267@f\230"
- "\027j\233\022u\242\001k\234\004w\253\014\212\265\001q\246\035\203\263?i\234\011\214"
- "\275N\217\267+~\256\035r\245\007\237\250)\231\262%\245\303Io\225\020u\227\006\251"
- "\314Yq\237\001{\235\005\205\240\001\276\312\063\216\270$\205\257\031u\230\002\203\251"
- "\000\216\274DR\213\002O\214\003H\200\002W\206\002U\204\002[\215\003[\216\010a\217\002q\234"
- "\013c\220\002[\213\002c\226\017\\\212\004g\227\015e\224\001d\223\002j\231\001\240\300\010"
- "w\231\003p\223\002v\230\001~\236\007d}\001dv\001\221\247\010|\215\006z\245\004o\225\000x\222"
- "\"\205\256\071[}\002^|\002t\221!u\216\034e~\011>K\002>K\000Uf!HU&lnP\211\207v{vj\212"
- "\202z\205}s\234\217~\256\242\214\244\225x\223\203fyiKuqFmn:|{S}|[\212\211"
- "h\207\210d\206\205^\204\202X\205\203W\227\225n\213\212d\201\200`\212\213"
- "m\205\205l\222\224~\217\224}\232\244\215\227\230\217\201\177y\213\205|\213"
- "\204x}vk~zqomj|\223`\201\253_\060J\"\026\066\010=e\034*I\004\067]\005[\220\040N\211"
- "\006Fz\002Y\216\004j\237&M\177\000N\200\001Z\210\002e\224\037j\232#k\224\004Q}\002g\231\002"
- "`\222\003]\215\007y\242\006\213\266=c\232\000~\255%_\223\011U\205\002d\221\002{\250\003"
- "s\243\015\226\274\014|\247\002e\224\010\213\270B\261\324oT\211\000i\233\004n\234\000"
- "l\243\015p\235\000\216\264\005t\231\000t\232\000\241\266<\223\270\071u\245\023|\242"
- "\001\243\266\026\237\260\003\234\267\020\213\266\035\200\243\006\236\301\033\205\267"
- ":U\222\002D\202\002]\225\004f\216\012_\213\002]\213\001b\225\004_\220\002Z\213\002X\212\002"
- "t\237\025c\214\011]\205\004i\222\003_\214\003c\217\001g\221\002\222\270\004l\223\001q\226"
- "\002u\225\002l\212\002\205\231\005n\201\003\212\226\003~\223\011ez\000u\221\064u\241%i\236"
- "\001h\227\003i\222\011a\207\003Tt\001Oj\002[r\002\212\227*ls\007zy\020`b\040fe?nn^\177}uq"
- "ib\222\210|\220\202o|kQ\201qO~uE\202\200@}sDxnGqiG}y\\\211\207i\215\212h"
- "|zQ\215\213c\231\230s\212\210c\214\207g\221\217r\216\216w\216\220{\224\227"
- "\203\233\245\215\222\223\213wrjxrh\206\177rwthTSNW[Pa\216E\202\260`/N\025"
- "U}\066\040E\000:e\007G{\014:r\005\065k\000d\230\030X\216\002R\204\002Bu\002K|\002\\\214\002g\234"
- "\037p\233\027j\221\004^\211\002o\233\003p\230\003e\225\007n\233\020\207\267Pn\237\027\202"
- "\260\"a\225\013Y\210\002m\230\004n\235\002\227\263\004y\251\003x\237\037p\236\036\224"
- "\302So\235\016k\231\004o\236\002\260\324Dh\233\010z\251\013j\230\004\205\252\001\230"
- "\262\012l\232\005\245\302B~\256:\232\272,\244\274\037\252\274\023\240\251\001\243"
- "\275\012\216\265\005\206\260\000\204\260\004[\233\001V\222\003T\213\004O|\001Dr\003c\225\003"
- "_\223\002i\226\006d\223\002V\203\002P}\000s\231\033l\225\016_\211\000_\213\002a\214\001i\223"
- "\002x\242\004\205\243\002y\222\002o\212\002l\207\002\216\231\022n\205\002y\231\001v\240\010"
- "\203\242JVt\002h\233\006Y\203\002^\213\011h\220\021_\201\006Rq\003Sp\002`\177\007C[\000\071"
- "M\001FT\002\070G\004ai@z{k\177\200t||sebU\202ye\225\216k\237\235i\242\236c\234\215"
- "_\227\202[\203pKp`>ujN\202|^\206\203c}{S\203\203[\220\220j\214\213f\223\223"
- "t\206\206j\217\220{\222\223\205\225\226\211\224\237}ytmrkari_VMHNKK>=>q\177"
- "\\`\211D\204\263XFt\040:b\025Mz\031\063g\002\065j\003\066k\002R\206\007_\222\004U\207\002O"
- "\200\002\\\215\002]\221\002Dx\002b\235\036\\\221\010^\215\004>p\001z\243\004a\212\003d\230"
- "\016\210\265Ir\242\006T\200\000\212\273.\\\223\007k\226\010q\235\001\234\261\014s\232"
- "\002q\245\014[\220\004t\247!l\224\005\177\250\002n\234\003e\225\001\230\300\040\233\301"
- "Ah\224\000o\233\002}\243\001\243\272\040\177\250\017\235\276&^\221\000\203\265\027\227"
- "\277!\242\277\"\232\255\005\222\252\001\211\261\016\203\262\017\265\314@M\210\002"
- "Y\225\002I\203\002U\220\005^\230\003_\220\004Y|\000q\223\005f\217\001T}\001\\\206\003]\201\001"
- "h\216\007l\225\024a\214\003V\201\001^\206\000z\243\020f\215\005o\216\002o\212\002o\216\002"
- "i\211\007z\230\004\207\254\014}\244'p\210\016^\210\003e\222\002[\201\001Jm\000]\215\023"
- "[\205\007[\201\006g\206\016Uo\001Qi\003C\\\002E\\\001=U\001BW\014elFtueij^ondXVHp}B\226\222"
- "d\241\226n\204pPmY\070ta<zhDyiGynQyqT}wX}zW\202\200^\210\211g\216\217n\215"
- "\216u\224\225\203\214\213\200|{s\201\214gomYkcZZWQPMLHGGTUQ\201\236b[pEz"
- "\251R>k\026Y\217&\066j\016\071r\005P\214\005T\215\006L\203\000X\213\002?u\002Jy\001[\214\003"
- "S\210\003P\203\002]\232\031L\177\002U\205\004t\234\006k\227\004i\227\004u\244/g\224\007s\236"
- "\006n\225\020\205\264+S\177\000n\223\002\243\265\007n\215\003o\240\000v\253\071]\222\013"
- "g\232\012u\235\003x\237\002u\237\005p\235\003\216\275\014}\251\020Y\210\002u\241\002~\246"
- "\001\221\265\007\200\251\006f\231\000h\232\002~\257\014\226\276\"\243\270\"\262\306"
- "U\234\264\024\222\266\015\205\261\032\221\262/I~\001K\203\004H|\003>y\002o\254\022\\"
- "\224\010k\245\027y\252*\215\270D\202\262)\201\252.e\220\005n\230\013P|\001U\203"
- "\013[\213\002c\202\017\202\256\002U{\003Z\200\001^\203\003X|\002\\\177\003\204\252\005q\230"
- "\021{\220\021q\220\010i\220\007`\216\004]\214\017R\200\001Im\001U\201\013o\237(Z}\000Yz"
- "\000`\202\002Vz\003Qy\003Rs\002C`\002CZ\017U\\\063`aKdgNVu.YWEqhUgVAvgI|lG\223\203W\236"
- "\213`\204pH~lKk]?lcG\203|b|wX\204\177b\220\216w\213\212v\206\210x{zpdaXb"
- "eQ{\211ZXQIb`Xgdab`Y]_Ow\226Ys\226Tr\247@<l\025>q\025\063k\006F\204\006L\207\003="
- "v\000G\201\002Cv\002\065j\001c\230\010I\177\003K~\001L\203\002a\240\023:o\000t\240\005\\\206\001"
- "Z\212\002b\225\017~\253>u\236\006\207\251\002g\207\005\221\270-a\215\000\205\241\010"
- "\247\264\004c\222\002g\236\020`\225\040v\254\063y\244\002|\237\002}\236\003\201\247\005"
- "\200\263\010\203\260\001f\226\001a\221\003t\241\006{\244\000~\247\002~\252\003g\235\006i\241"
- "\003i\227\000\275\324c\301\313]\252\301>\233\271(\220\263\035\201\260$y\242\031"
- "u\243\030F|\000?u\002\066q\003b\223\030w\254&\237\313q\223\276]\255\325\205j\231+"
- "M{\000v\241\022f\226\005k\237\005h\236\003_\224\002h\233\004\235\302\003o\215\005c\202\003m"
- "\213\001s\220\003\202\242\003j\222\015}\237\031e\225\010b\220\011m\231\010f\226\010U"
- "\204\020Y\210\006Ry\002Pz\005\203\256Rg\220\034s\217\037^\200\007Xw\001`}\010Ul\001BV\000G"
- "Z\005GU\020{\204N\200\214Otp]VPDb[MrkQ\220\207]\244\227j\224~P\221xL\214sJ\220"
- "xT{iKaR;qjWwpX\201{f\217\211w\205\201txqiXNFKC:@;\063\207\230R{tbum^{uiol"
- "`{\210aX\177\064\202\255YAi\022\063Z\024)T\000Q\211\006Bu\001K\177\016Cx\003Q\204\002-g"
- "\002M\201\003M\206\003O\211\001L\201\002M\203\002T\216\010~\245\006]\211\001^\214\003b\225\001"
- "t\254/d\232\023|\241\003d\203\001c~\012\224\274<S\201\000\265\275\012z\223\002q\242"
- "\001~\260=u\245\023\177\262-\224\267\013s\233\003\222\256\006\205\253\011\210\264"
- "\002\177\251\002l\234\010_\221\003i\230\007\204\252\022\216\267\"\203\254\024i\227\001"
- "\234\267\023\270\305:\213\261\064y\237\006\234\273'\215\260\034\214\256\036\236"
- "\301Vz\246\022[\220\002H{\001Ey\002X\213\005Fx\001k\230\031x\250\061\234\304ih\212%^\212"
- "\006[\205\002^\210\005w\216\004Qr\003a\215\005N\177\001R\211\011\255\317\002z\231\022o\214"
- "\003|\233\002u\231\004g\222\005Y\203\001r\245\030]\226\011f\234\020v\246!c\231\025p\241"
- "\071h\222,^\177\011\\s\000o\221$l\220+s\231\064o\226*g\212\025Z}\012Yq\015ar\024:"
- "F\002Ql\011q{\070\227\214k\201z^vsZyz`nkRxrUn]Bv_@\232\200^\241\211e\233\202"
- "`\216v[[K>F<\060hfZuqfvoe|riuj_gZLg[IwoT\203\231.y|WkmOupcywi\207\234jR\200"
- "\036v\247I\071g\015H{\021W\213\002N|\001?k\017N\177\021I}\001H}\001L\201\002Bz\001U\214\003W"
- "\216\003^\217\001U\177\002q\234\001_\207\002g\213\004j\225\003_\223\003]\231\021f\237\025\221"
- "\260\012i\220\015[\203\000|\260\066\253\272\015v\241\002o\235\002g\225\000\201\260/~"
- "\255\013y\250\012~\247\001\207\247\003\243\271\003r\245\004\177\254\002\201\254\003q\226"
- "\000z\242\021z\243\016\177\245\003\206\257\000\211\262\000\222\264\023u\230\000s\245#"
- "\202\250\013\203\251\016\263\307#\217\253\005\223\260\035\263\313rp\234\000]\202"
- "\012d\210\003X{\003Z}\003Vz\003Nv\001n\215\000\\\201\003b\207\004l\222\001g\216\011[\210\001g\220"
- "\007j\212\004{\245\004V\202\003Y\201\002\252\314\002|\251+n\232\013i\225\001b\224\000k\235"
- "\011^\222\000e\227\017a\217\004h\224\005V\177\000h\213\005Z\200\002m\242=o\254Sb\230>X"
- "\211#]\215\027Ly\012^\226\024Lo\007?W\003>N\000Yg\005c\206\006cu\024rr:\200yR\231\224m"
- "\220\214h\204}cvjZyjZ\207w`\246\220o\252\223q\243\214j\240\207h\224|dTKA"
- "\024\020\015\067\063\063VQIlaU\203vcvbLkVA]I;YF:y\206<liPXl*v\207GgxFh\224B\062"
- "T\001\211\270WO\205\030:g\001M\202\006=l\006?q\013=o\001O\204\002N\204\005E{\002K\203\002J\200"
- "\003_\222\003_\217\002\204\257\004j\235\032Q\177\003Gr\002o\230\005x\252\002l\234\"l\241\030"
- "\225\266\005b\233\015V\215\006x\250\026\231\250\006n\232\002q\236\004b\217\005~\261\012"
- "t\247\011{\253\004g\222\002\235\272\003\204\251\005t\244\003s\242\005x\245\002p\227\021e"
- "\220\007\207\255\001\222\272\001\200\260\010p\243\017r\246%l\236\000x\252\064\207\245"
- "\000~\247\015\213\256\002\217\257\012\255\311Yh\215\000\216\257\014g\204\037Ac\000Xv"
- "\002Jw\006Mr\001]|\002A[\001s\231\006`\206\003Xu\002W\201\002Q~\005q\227\005n\213\002\206\251\002g"
- "\210\002v\240\030\223\273\004h\223\013t\245\000d\226\010v\247\062z\244Ak\225\034a\214"
- "\011g\212\003f\207\001k\217\002g\221\004Qz\002Y\212\007N\200\015f\234\040W\222\031Y\225\030"
- "V\221\027N\207\011V\215\015a\223\011g\216\021e\206\015^t\023Tf\011Xl\022\230\233h"
- "\240\231y\226\210s\240\220\201\240\217\177\235\216|\231\210r\213w^\226\200"
- "b\252\224t\247\222u\226\177iRNF\012\006\005!\030\025\\L?nXGy`KrWC\200kZzk^^RF}\212"
- "REJ)\066C\026s\217V\\\220\066P\207'U\202\061t\246\071Ap\004[\224\021<i\001\071l\006\062"
- "e\001R\207\002G\200\004N\206\004I{\003O\207\004Z\222\002]\221\002q\237\011|\237'O\200\000K}"
- "\002L{\002\214\265\011b\221\005e\240!j\233\016\214\263\003V\203\001`\224\027\216\256\025"
- "y\230\011\200\250\002n\230\002x\243\010\207\256\001z\244\001x\244\004n\235\002l\235\003v"
- "\242\003l\233\002q\241\003s\242\003q\231\003\203\256\000\230\263\005\207\252\017~\245\015"
- "x\241\022\222\277\067v\250\011\215\304N\214\300K\214\300M~\262.\206\265't\232"
- "\004s\231\000\201\241\005W~\004\\\202\010^\211\003?t\003Y\216\006R\177\004S{\001\212\230\024"
- "b\211\003^\201\006R{\003Ap\002S\203\003f\222\002}\243\002`\204\002_\207\001\201\255\007n\227"
- "\017v\240\003h\232\030\241\311\206\247\317\204\266\331\202\252\314d|\237#\225"
- "\252\037|\234\040x\241'l\225\016|\250\023h\224\005z\250\027\213\266=\202\260\071"
- "u\253'[\230\014[\226\010a\217\012Sv\010W{\007u\222\034Tv\004[r!\303\266\247\251\233"
- "\215\234\213\203\241\217\211\234\213\202\220~tp]TdUC\200rX\242\221t\243\221"
- "w\234\211qSMF\023\020\003L;/mTHiN=oUBiN>I\061%D\066-\066-#r|Q=H%AN(f\215\071Lv#O"
- "\206\036[\224-c\234*M\207\015?o\000Bp\015/Q\000M\202\003L\206\003O\213\003O\213\004F|\005"
- "O\203\002W\213\004n\233\006d\212\000j\215\013I{\005N\202\002W\210\003e\221\002\\\212\011T\216"
- "\013z\251\011}\254\003a\227\011|\254\012p\236\027y\237\003x\236\001b\217\014\201\262"
- "\007\204\244\022\212\256\003o\236\007m\245\013k\227\001\223\263\005{\245\007}\246\001\240"
- "\300\003\216\256\004o\240\023\225\272'\214\257\062\212\254\000}\230\000v\231\004z\244"
- "\020\203\263\060\201\247\000|\242\005\177\257\010t\244\001r\240\001\221\251\034\211\241"
- "\004Im\002]{\004[~\002Ag\001Wx\003Ov\002_\212\004i\223\000k\233\005O{\000p\220\034Is\001T\201\004g\227"
- "\002p\240\006^\215\003a\217\003\213\264\003\203\254\003u\250\032m\230\037\203\236\020\236"
- "\251\024\235\257\026r\236\065\245\314|\262\335\217~\252Ch\235\037n\237+\\\225"
- "\014a\236\017q\241'g\231\024Z\215\003T\206\000`\222\012c\233\012X\217\003W\201\006k\210"
- "\016Hj\004Xr\021h~\040\256\246\230\266\252\241\245\227\224\223\203~\231\210\177"
- "\222\203q\200~Vgb@e\\B\222\200l\253\233\204\246\225\202bVR)\"\021bMBv_Q}c"
- "OsS>kM;gK<\\F\070J:*u\200O*@\000Ki\036Z\205\024Gv\007;j\003j\232\071b\232$P\201\016"
- "P\202\016N\203\011P\210\004T\216\002J\207\002Z\226\001T\215\002O\210\002X\224\003^\226\003"
- "q\242\010a\225\033V\214\022|\256>u\253\026a\227\006r\241\021w\253\060}\255+x\251"
- "\003x\251\006V\206\002\214\262\004~\247\011\220\264\003\201\251\004r\232\003z\250\002k\231"
- "\006\217\265\014x\241\002_\226\013p\237\004\222\257\003\235\275\003r\235\003\205\251\003"
- "w\234\015i\224\001p\225\000\215\246\000\221\262\012\243\305Lm\224\000q\235\013~\260"
- "'\246\315T\200\240\000\201\245\002\207\243\023g\221\000{\243\002\221\257\004Xo\004^\177"
- "\002S~\003T\177\004j\216\005b\210\005b\210\005g\224\005n\245\003_\216\005g\223\012Lu\001]\214"
- "\004d\227\002f\224\005X\214\001m\240\005\211\263\004n\234\003e\216\004{\230\010e\204\012i\215"
- "\006^\220\030l\243*l\244\032f\240\024\201\272B\211\274Ps\242,Z\205\012l\214\062"
- "t\240\064q\231\037o\243\030o\250\024b\237\012]\234\012J\205\002S\211\001_\215\001\\~"
- "\003e\207\006W\177\016\235\241\205\240\226\225\222\204\206\221\213}\216\232h\210"
- "\222]\226\234n\231\234q\232\233r\247\247\200\252\251\204\242\243}s\177[S"
- "d\065v\203K}\205I|~@ss\062]X\025ZV\033]Z)ba\063v\214GOx\023Gz\006V\214\011@v\001J\200"
- "\011\217\271EU\203\020N\205\017^\236\027c\232\015[\220\001R\212\004@w\002T\214\003X\216"
- "\006`\235\021T\211\000p\243\004V\217\007[\222\014M\201\000\245\307`i\233\013l\232\014k"
- "\227\001}\247\031w\251\001u\253\010{\250\004{\243\004Po\001}\254\031}\247\001x\236\014w\246"
- "\001o\236\010\221\260\004\200\253&\177\256\024v\244\024\270\310\003\230\273\007~\244"
- "&q\233\000~\244\003n\230\003h\225\004q\245\022~\256\037y\244\011y\247\001\205\256,\204"
- "\250%o\222\007\256\326}\200\247\011\203\253\"\217\257\035z\237\002\207\247\003\204"
- "\242\001_o\003d\212\003Am\002W|\003Yc\001PX\001jw\003Qg\005o\242\002R\214\004b\223\003\216\267\005"
- "p\244\023r\245\001g\236\003Z\222\004x\247\005\200\241\031w\237\063f\217\005m\224\032_\216"
- "\010Q\177\004}\231\012f\233\012W\214\004R\200\001[\217\000v\253\064|\263?X\224\005]\225"
- "\007n\241\030h\236\013Y\224\000a\235\011V\222\004a\233\015^\231\011R\213\006\\\230\006d"
- "\233\013X\214\004V\213\000o\223(j\215\032r\222!\210\221ontTkgSd\\KbVF\177n\\\233"
- "\206o\245\220v\222y`T=\065_I>\220qZ\211lR|_?x]=oY\063g[)qw\070^r\037\205\237"
- "\062Gu\006K}\004V\220\004R\206\017Y\230\032g\242\060h\244/_\226\035V\213\004V\214\001M\206"
- "\003O\210\011R\205\002K\177\003T\202\002Sx\002{\253\035R\210\003S\205\002T\177\010l\231\""
- "\213\266AW\215\006p\225\004y\236\007~\253'l\236\002q\245\004z\243\003\231\267\003i\231"
- "\002l\242\012\200\253\001z\247\001n\236\003[\216\002\260\270\027\200\236\062\247\276\014"
- "\235\264\003|\241\002o\230\003g\214\000l\225\003w\234\004z\242\006s\232\002}\242\005x\233\007"
- "q\232\010\177\254\003p\231\000x\237${\232\003\211\250\014\227\302M\201\246\000\237"
- "\306f{\253)\231\271\026\177\233\001Sn\002Sz\002?d\002Tr\000\\n\002Nd\002Xu\001m\204\004{\245"
- "\003l\221\004V\214\012P\214\010~\256\003y\253\002T\210\001a\215\004\230\276\001{\245\033c"
- "\220\040o\234\026a\223\031s\242\032d\234\016m\237\"\207\261Nu\244\063d\226\022n"
- "\230$d\230\002]\217\000`\224\001n\236\012m\233\022\226\271;\250\276\060\245\271\065"
- "a\230\016]\226\031]\232\023U\214\003a\233\015X\222\001S\213\002V\213\003e\221\012s\232"
- "\030i\223\016^\212\020e\211\040h\204)z\215D\217\230i\222\227o\212\214a\210\177"
- "\\\214\203aYF\065zhP\245\226o{sE\207yM\202wC~z=gn\040j\202)Tw\015p\221%\064Z"
- "\000Ny\002h\242$n\247\062{\256HH\201\025s\251>Q\203\001^\223\007J{\002Dw\003>p\002K~\003T\210"
- "\000\205\255FOl\000\\\224\014\211\272`Kz\000\220\254.\271\316\215`\221\011x\246\011"
- "c\213\002\220\274\036\\\213\010X\217\014h\233\005\212\254\004\203\251\005k\231\003r\234"
- "\003m\227\002t\235\003c\222\003\203\250\005\232\255\005\300\306\017q\230\004Y{\002~\251\003"
- "h\225\004l\224\002j\221\002n\227\005l\227\004x\234\002\177\241\002\202\245\002s\231\005v\240"
- "\002r\224\002~\235\003\225\254\002\207\242\003}\250\016\210\257\025\203\254\037\204\257"
- "%q\223\000y\222\002Ru\004R\207\002S\203\002a\225\016\\\215\007]\216\002_\203\004`}\003p\237"
- "\000x\234\014O\202\011S\216\003`\223\006l\236\000\177\227\032\204\256\020\222\272\011"
- "^\213\004f\220\004g\227\006d\225\006c\223\002^\223\004W\213\003\\\215\004Qw\000a{\000w\217\001"
- "o\232\003j\231\020^\224\025b\225\020}\251\030S~\003]\216\015X\207\015e\222\026_\216"
- "\016e\227\025]\217\010]\221\003X\214\003K}\001T\205\002Q\203\000e\213!Lv\014X\206\035l\224"
- "\064\177\225Op\215\071Ov\014U\204\022[\213\030^\214\032i\221*o\217\065\230\254o"
- "\226\236l\204mA\223qH\225pD\255\216Art\034]|\020Hl\003v\231@\070b\000]\221\000\213"
- "\267JR\205\016d\237(i\244\067D~\000S\210\015\\\215\003l\231\003f\224\003Kj\001V\215\002"
- "a\221\024~\235\065n\240\005T\206\012f\223*e\225#}\254*\245\277M\203\263\004Iv\023"
- "`\230\010\203\261\027`\221\001V\217\017w\243\007\255\300\004s\240\004t\240\003\177\253"
- "\006e\220\003j\231\002y\235\004\264\300\004~\236\005\215\245\006b\214\002k\223\000w\244\004b"
- "\211\003j\220\002l\227\003g\221\001l\226\003\200\245\005\204\244\002\200\244\003t\234\004m"
- "\225\003v\234\005\225\257\001\203\231\004d\213\001z\237\020\232\271D\202\246\027{\245"
- "\006}\251\026\210\230\005Fo\002Gs\002Iz\003Mz\002Z~\000Os\000Kn\000Ux\000~\253\040\177\237\001Rx"
- "\003I}\003P\206\002a\227\002o\244\004U\213\002w\241\004P\202\002Z\213\004S\203\002c\222\002^\217"
- "\005O\204\002[\220\003T\205\002i\226\004a\211\002i\216\003k\231\005L\177\003^\220\002\215\255"
- "\013c\215\021`\221\022j\236+[\224\024b\234\020Z\217\012U\205\000U\204\003N{\002i\223"
- "\007n\223\002\211\242\"\261\267P\241\260\071\230\255(\206\246\025\204\250\033\201"
- "\247\031\212\254*~\236+\202\232\063v\217*}\226\062h\216\012^\213\005l\223'`\203"
- "\036^\177\031f\206\036c\206\031r\221\013y\234\007Cj\006`\177%\205\260?`\221\012f\230"
- "\000}\253F^\226\022]\226\016Al\000Dv\002m\240\020V\205\003Y\211\002_\214\002z\251\011a\236"
- "\006n\245\030h\236\020^\222\003Z\204\003X\203\001\211\267R{\241\034\212\260\023f\224"
- "\030c\227\012R\207\007\211\265\011[\215\001f\245\034]\210\002\226\257\004v\242\003\202"
- "\244\003\203\254\004h\225\002\224\262\005\247\275\005c\215\002j\226\005\206\242\010{\231"
- "\000\236\275\040k\223\003\213\254\005p\225\002h\225\001\200\253\020h\215\010{\241\001\233"
- "\264\033x\235\001t\227\002\200\241\005\210\251\010v\223\003s\225\001q\231\001\243\272B"
- "\207\226+\260\312lt\235\000\200\250\026\212\270\030V\207\002R\205\002K\200\002Cq\001"
- "h~\031q\212\"\232\215&\212\254Hq\235\000I\177\000T\212\002[\222\017H\200\002e\234\003"
- "e\232\004~\255\003\\\220\003U\212\003J\200\002T|\003[\204\002f\222\003^\217\004V\211\001^\223"
- "\001b\217\004b\211\002o\236\003N\202\003[\215\002g\225\003\225\257\004x\230\005f\235\010n\242"
- "\036c\225\010[\206\001U}\006[\206\016b\217\007^\217\003a\223\004T\202\004Z\206\013}\236\063"
- "\254\266u\231\247k\213\242a\207\242T\250\256{\244\236q\221~N\230\206U\222"
- "\216M\232\214]\202zM\\p+d}\070\222\244U\242\255\\k\201$a\213-W\207\016u\240"
- "\003w\236\022\233\271P}\250HO\205\012i\233\000{\253Ha\230\023Co\003\\\204\000x\247#"
- "U~\000Il\002>f\002H\201\004G\205\006R\212\006\200\261\031{\254\003R{\004Jt\003T\202\007m\233\025"
- "w\245\024i\235\021U\210\005Y\212\004Ew\003\211\272\011[\221\013^\230\022\240\270\001m"
- "\223\004y\246\003\201\241\013\212\261\003\226\271\005l\224\003\210\252\004U\203\003k\222"
- "\005\206\247\002\177\233\005\220\257\003\221\261\004y\234\003d\217\002v\245\004\200\251\004"
- "\\\204\002r\232\004\226\265\022}\230\007|\225\006y\234\006}\252\001o\235\002w\244\021\201"
- "\252\013\202\256\024\200\243\037}\232\"|\242\027|\241\002~\257\031\\\213\010^\212"
- "\004X\204\003qk\005xm\003z\203\003u\230\071I\200\000R\216\002R\211\005S\205\004[\205\004P\200"
- "\003g\242\002Y\224\002d\231\002n\235\002J\177\002^\224\021_\207\016Z\210\000_\217\004X\213"
- "\002^\227\006\204\254D_\220\001j\231\006N\205\002_\226\003b\232\001t\252\004k\240\002_\226"
- "\003c\232\017c\230\013R\205\001\\\212\002a\201\030h\212\027t\236\037Hv\004Ac\004\070\\\000"
- "&G\001\223\222F~\205\061\202\210:\303\273\211|\211&Ke\016c}:`v:[{)]{#q\206\062"
- "s\210\062Zr\"AY\012e{\026n\210\021t\220\010j\207\001y\221\000n\231\003y\212\000\204\244"
- "Dx\242Cd\220\000g\233\017\236\275UV\214\023`\220\002k\227\024Wx\034Fj\004>f\002B{\006E"
- "y\011]\231&k\255\064t\252\017[\211\002m\237\010a\216\011_\223\006~\254\016q\241\015"
- "Et\001a\225\011P\200\016i\226\013\221\270\003T\206\011c\234\022\255\300\003d\216\005z"
- "\246\001\224\260\022q\240\002n\230\010y\235\002v\233\003[\206\002o\224\001\213\252\003\203"
- "\237\004\231\262\010n\221\001\206\252\022o\230\001u\235\003\216\255\006f\220\003h\231\010"
- "r\227\000\234\257#\215\223\014\223\262\003~\252\001u\254\033v\253\025\201\263)\214"
- "\266+\213\270\020r\235\001\226\277\061\201\252\020m\224\000f{\003u\230\004t\237\004i\222"
- "\006V\210\000m\232+l\223\031_\205\004h\234\004P\205\000p\234\021P}\003K\177\002b\232\002Q\214"
- "\003c\230\002m\247\003O\177\003V\207\004o\242\032y\246=Ly\004S\200\010r\237\062R\216\000L"
- "\202\001d\231\003O\204\001^\227\001b\232\012U\216\005N\202\003J~\002T\213\001W\211\001`\212"
- "\002j\217\006}\242\013~\251\021i\226\036Ou\005Ph\010JW\010Zm\007j}\026\211\233A\215\255"
- "C\246\277Vy\215%{\217\040]p\015g\177!}\232Hb\201\032Z\200\007Z\211\012R\201\001G"
- "p\001Qw\000U~\010j\224\021\226\270\063[|\014g\223\001j\235!\202\251Kp\247\021_\217\020"
- "\220\247E`\210#O\201\000\070i\000\\\210!Kz\010Bl\001K\177\005\070k\000\203\260Uw\253T"
- "c\221\020e\226\004Iw\002\\}\013{\241\012o\242\002\205\255\017X\206\004W\207\000h\230\027"
- ">k\001t\231\005\207\257\002X\207\001\207\271\027\207\254\006a\220\012{\246\006\217\247"
- "\014y\250\003\\\214\002\204\252\004o\230\006^\211\002\216\260\007}\240\004\214\255\003\210"
- "\242\004o\220\002|\240\006w\227\002p\226\003\215\253\006o\225\002z\240\006~\241\000\213\253"
- "\000\202\233\012\207\261\004\205\257\005s\233\007m\223\000y\243\022z\251\024\177\253\037"
- "\177\254\002\202\256\013\206\257\007\205\251\004h{\004P\201\002R{\003Y\202\003k\236\014\\"
- "\225\000O\210\001h\234\004f\234\005e{\011b\210\013L}\003[\223\003`\226\002Az\002j\237\003Jx\001"
- "d\226\006Y\203\002]\216\002P\200\000x\242+\201\244?Io\000Cq\002d\232\022b\230\000W\214\003"
- "]\225\002]\227\015W\217\003W\217\011X\216\002Y\216\016i\236\015f\235\016`\220\017\\\212"
- "\021K|\000Z\217\006a\223\004q\242\016k\236\021k\225\036Qp\011\244\277j\211\264Oq\230"
- "#Zx\017k\202\031_s\000j\213\017W\201\006X\206\005[\216\007J{\003O\201\007Bn\005S\203\021}\253"
- "+\205\253\067HX\004Pf\022r\233\003o\232\033\205\254Yh\237\002Bv\005z\250);q\000Ao\004[\210"
- "&b\224\063\061V\000Gu\026<t\003\201\264Ra\230\061S\202\016w\233\006Nm\002Zy\001h\221\011"
- "t\241\000\242\276@\207\246\026]\221\004q\237\035S|\004T~\003y\241\003\177\252\003a\221"
- "\027\224\265\014\203\254\007q\235\007\231\262\005j\225\001p\237\002^\217\003\201\250\003"
- "m\232\007f\220\002z\242\004q\232\002\221\267\003j\220\002q\227\003{\243\002x\235\003g\217\002"
- "m\231\002r\233\004u\240\017p\233\002\202\257\024}\252\023\201\251\006\212\260\003|\222"
- "\004w\225\003u\230\000o\233\012\205\261\033l\235\001v\247\005x\244\003t\231\002X\211\001f\217"
- "\011x\206\017l}\004^\207\003Gw\002A}\003V\214\002h\231\002t\222\011]\215\004R\210\004c\231\005"
- "X\220\002V\207\004a\224\003@r\001Lv\003b\215\004b\224\002Z\211\003\203\237\032Z\202\017t\240"
- "\070K~\001K\207\011f\236\006]\224\003^\210\011U\207\001_\222\014\177\251*n\234\012q\237"
- "\015p\237\040y\253?n\242\060W\212+K})Y\203$i\225*c\223\031R\202\011Iy\004{\261;"
- "\227\301]y\252\060f\226\014b\217\011{\246$j\231\011\\\214\002^\222\003S\203\004Ep\005"
- "R\202\010Ir\000i\230\027\225\275E\243\310X\177\231?k\213\040h\211\027u\236\014l"
- "\237\017\231\265TZ\212\000Y\210\022g\232\014Al\005Fp\000e\216#V}\036>`\001p\241C\224"
- "\305rn\246FBj\017Kw\004j\226\007h\220\004f\217\004l\224\005\207\253\033\210\246%\215"
- "\254\017f\242\026M\201\000W\206\016\\\211\010y\241\007~\245\001\205\260\032\214\265"
- "\005\216\236\015\205\247\004\243\271\026\202\255\020\211\261\031\177\244\011v\233"
- "\003v\235\017j\224\011y\245\004\212\260\003\177\244\002u\234\005z\243\003q\234\003w\240\002"
- "z\231\021}\243\013f\225\003o\235\003y\243\005\221\263\006\222\257\006\213\256\002\213\256"
- "\005\204\246\002]|\001\203\233\013\202\227\002\221\243\003\226\263\021n\236\017\203\260"
- "!r\235\001f\230\003c\226\006W\216\004`\220\006Mt\002[\213\003J\200\004U\210\005e\232\004V~\002"
- "b\221\003[\224\003]\224\002`\225\004V\205\003p\236\003Q|\003T~\010Z\210\002w\251\002T\210\002"
- "U\203\005b\212\010M\177\000j\236\035_\214\024|\256\067R\206\002]\220\004U\212\004T\220"
- "\002l\242\022u\251\022j\236\015}\260Ax\253?`\227\027\\\217\006e\221\032Xx\026Ke\000s"
- "\226\071o\240;s\247\031~\260+U\207\001Zz\004Nw\013^\215\023d\231\021f\207#d\224\014"
- "]\221\003Iz\004c\222\020x\250*\220\303;z\251\040\226\270M\210\247?\227\276[\253"
- "\325|\230\304kf\230\004i\231\022\211\260#^\231\017T\210\024`\222\005P~\001y\233<\\"
- "{\027H`\000\215\267Qn\237C~\260@Io\013c\225(p\240\012S\204\005O\177\006_\221\017r\235"
- "\000\270\317KI\200\010l\242\016f\224\015Hs\002k\243\014`\217\012u\240\003x\247\010\202"
- "\256\003{\241\007m\221\004\221\257\003p\222\002|\246\007a\214\001t\237\003c\223\003j\237\011"
- "f\227\006p\234\003\227\277\005y\244\010m\227\002z\242\002d\220\003\203\237\002\245\253\011"
- "h\221\001k\232\002f\226\002\211\254\037\207\247\004\212\254\003\217\263\003\233\273\003"
- "\222\263\003_\203\003q\231\011y\231\002\232\246\004\216\237\007\227\260\020\207\252\007"
- "r\241\003a\217\003_\213\006t\250\020t\254\035n\246\027>q\000As\002H{\002R\205\002Y\201\012"
- "S\205\003`\226\004h\227\004U\206\002l\234\003k\232\002W\205\006b\221\023M\213\005s\246\005k"
- "\236\002N~\003M\177\002b\223\002\\\214\001]\213\023a\225\060e\244\006\\\226\015\205\271"
- "Le\240\034T\217\011l\234\017b\226\003y\255.\203\267>d\235\012h\241\004f\232\001T\204"
- "\011\\\207-k\223\035\203\254\065|\252\071|\254,l\227\022r\240\021e\231\004`\221\005"
- "a\223\002o\244\015o\243\017z\262+n\241\065\230\305x\222\300Nl\237\027g\216\025X"
- "u\012s\233\061\202\255VO{\027^\225\037\200\266\071{\257,y\252\030\\\211\003T{\015"
- "l\220\012i\223#b\210\037[{\004\206\260Y\\\220*\207\265\066Hm\011j\234+S\177\031"
- "g\225\002f\224\003T\200\004}\245\004\224\265\065k\221\010j\227\030m\241\016j\234\014b"
- "\227\007h\227\030c\222\006\210\271\005l\247\025w\250\006h\226\005g\230\003}\252\001q\240"
- "\005\205\254\010}\242\016n\227\005{\243\007p\235\016q\240\003\205\260\004w\250\011^\211"
- "\003s\237\003l\230\005k\226\002\216\241\001z\235\030k\223\002t\232\006g\216\002\177\255\005"
- "q\233\004w\235\003\211\262\003\220\266\002\203\253\003\205\252\003w\240\003|\234\002}\224"
- "\003\246\260\001\247\275.\177\242\003r\241\005P\204\002b\234\007R\207\005[\220\012|\254"
- "\066\213\272HO\202\025Ez\000Cw\003P\201\003H}\003V\212\005n\241\004L{\003e\235\006Y\213\004a"
- "\221\012W\212\002D~\002L\203\002x\251\002i\226\003Oy\002Z\215\003\\\215\000e\227\032m\232%"
- "\202\272Cg\242\037\211\266P]\220\007J\200\004J}\001Aq\004P}\001a\207\020s\221\021q\234"
- "&d\232\030x\254\061a\227\016s\251\062w\250D`\227\015_\225\002c\233\004e\240\020^\220"
- "\010y\245\032\222\271\060b\212\002k\223\014\211\252D\230\276Uz\255.m\241!l\231"
- "\037\202\254\064|\253Dy\256F]\222\030`\225\024n\237!U\211\013M\202\006a\230\032\200"
- "\256#\200\254\064i\215\003w\251>\\\215\"\213\277aJt\012q\253+Lx\001i\233\040S\206"
- "\015En\003g\221\001w\244&v\243\004j\224\020\203\245\020r\223\"d\225\004l\242\040l\234"
- "\005y\240\040n\237\011\214\275\007n\236\005h\250!}\253\000o\233\003k\231\002\177\260\003"
- "q\234\002\211\253\040\217\264\037u\244\004\\u\002n\232\004o\226\003\223\267\004u\244\006"
- "h\221\006\201\241\006v\226\027p\236\013\201\247\027q\235\011x\241\010}\246\002s\243"
- "\002m\234\003_\214\004m\230\003z\245\002\233\300\004o\230\002\202\244\005\213\254\014\220"
- "\257\006\220\252\004\233\261\005\301\274B{\242\016p\234\002]\222\002c\230\002b\225\002V"
- "\211\006\\\223\006V\216\000c\221\035\220\271Yp\230\"T\202\000Cz\001U\211\003i\241\001S\215"
- "\005Y\216\003Q\201\002Mz\001[\210\012Q\203\001O\200\002m\235\003^\206\002i\237\002`\226\003K\204"
- "\001e\237\013o\246\034j\241\031\204\266H\213\266Rd\236\011Ev\000\\\215\003[\221\015"
- "U\205\002d\234\012U\215\004`\225\000\\\221\002W\215\001a\232\004\\\225\007V\220\005l\236\033"
- "p\236\013[\206\011d\230\040^\221\006i\237\012n\235\037z\250=j\225\035\230\270:\177"
- "\241\030`\211\010n\232\040d\232\030p\250*l\233$Hl\012b\223\027{\242\062\216\241"
- "BX\207\014Gy\000U\207\005o\233\021k\201\"\210\270?w\244*\200\270KV\206\033l\221"
- "\060d\215\040k\222\040Mt\011>d\002d\215\002t\243!m\237\015t\233\001\264\310\070i\216"
- "\016X\205\005m\234\013\211\254\040i\224\003\216\267\005\206\257\010k\226\005d\234\020"
- "i\243\027\177\255\002q\240\004\207\256\004o\233\002m\232\002r\221\012\227\264\022n\236"
- "\003Z~\004j\222\003\226\266\003m\225\002t\236\020s\237\000\200\256\030i\221\002d\213\006h\216"
- "\014n\226\007\210\261\006t\236\011z\242\024o\226\002d\217\003\215\266\004q\232\002\216\263"
- "\004|\236\002\214\256\006\223\255\003|\237\007\220\266\021\202\246\002\231\253\012\233"
- "\262\062v\236\002X\221\017W\204\001Kq\000p\213\030U\210\004_\233\010f\244\016T\212\000\\"
- "\220\017_\222\020F\200\001`\226\017f\235\002U\214\006f\225\002T\177\005Bl\002a\213\014T\202"
- "\005W\212\005\\\215\002e\213\002j\232\002n\246\003K\200\003l\237\006q\244\016u\252!`\227\030"
- "\220\277W\231\304\\\212\267Bh\210/\\z\022b\223\024En\001N\177\004O\201\004N|\002V\213"
- "\012`\232\005M\200\000[\216\002f\230\011e\226\022l\241\016[\214\000g\240\015^\223\012v"
- "\246*n\235&l\235\017r\243\022}\242\033r\232\025\200\252I\201\256Nh\206%\177\222"
- "B\200\255C\202\260Lc\227+Z\222\031h\235#Q\207\023^\226\014r\240\003d\221\004z\263"
- "\032c\222\013p\243\030Y\211\006t\245&d\225+Mx\006B[\004LZ\007h\216\007p\243'\220\265\002"
- "\204\240\011\205\261\035[\202\012h\233\003w\255\035^\216\002\210\265\007k\227\004\201"
- "\251\005a\221\007p\251\070l\242\020y\251\002\204\256\003p\222\005i\226\001x\240\003p\226"
- "\005|\246\003z\252\005p\234\011f\216\002\231\271\011q\231\"s\240\013f\224\001~\254\004r"
- "\242\030r\236\022x\240\006\207\260\006t\227\004\225\273']\211\000\234\301/v\245\006\202"
- "\255\010o\223\001\222\267\004\204\250\005\211\250\006\210\241\002l\212\003~\224\004\205"
- "\245\014\231\264\012\206\250\023\217\257\006C{\007V\211\036\216\275I@p\002Eq\003\067h"
- "\000g\235\011T\214\002S\212\004m\245\004Y\214\001p\245\025a\230\000V\217\007c\227\004Go\002T"
- "\200\003Y\205\004Tr\007d\225\002L\200\003X\212\006_\216\005_\213\004[\212\003Y\210\001}\245\063"
- "\216\302Ea\227\024\251\322s\212\267C\214\274J\260\331\214h\215?e\211\060g\240"
- "\004P\211\003W\217\002_\216\005M~\002j\241\004t\257\032\177\257=}\245\066j\227\010_\216"
- "\002h\230\021i\237\013`\220\012d\217\000\212\262\016\213\265#\207\257\060\215\261"
- "U]\220)\201\247U\202\250Il\233\065T\211\014]\202\024bt\006\201\262\026\203\257"
- "\071\205\264>^\225\031a\223\006\200\251\002m\240\061k\241\020g\227\036a\231!d\235"
- "\026~\264,m\240\034g\223\015Y\177\005Ko\004p\234\002}\253\024n\225\001\220\255\040|\244"
- "\033k\226\010y\244\007x\250\035\210\264\002Q\200\003\204\261\020Z\177\000g\224\032\221"
- "\275tx\246\000\177\255\003u\241\003i\223\004e\215\002{\236\007[\211\002n\236\012l\232\002"
- "p\231\002\210\256\006t\223\010r\237\006\225\260\020\205\260\024\225\303I\211\264\062"
- "~\253\024x\241\010\225\265\010j\220\003\215\265\011q\233\017U}\002\212\270\021y\254"
- "\011}\254\034\234\276\006t\224\000\240\271\"\211\235\035\206\244\005BS\001r\227\002\205"
- "\255\016\211\254\021m\221\003V\203\003\177\246;{\255;l\230\040Be\002\070`\002Iq\003Y\214"
- "\005K\200\001e\226\003Nu\004U\211\004_\237\003Y\224\007P\203\001o\222\"V\202\004T\203\003Eq\002"
- "X\217\003F~\003^\230\010Os\003Vq\007Ps\001Y\207\003?]\000a\212\012^\211\016w\253\022}\262'"
- "\207\274\071\210\274\066n\237$Ow\016z\235*a\214\023i\241\027S\206\001f\236\003c\227"
- "\004h\232\003y\253\013o\240\011z\250+\204\255?m\236\031n\234\"q\237+s\245\062[\213"
- "\026N\177\000Y\214\006h\232\011\220\274\021\202\236\040\211\257)\202\262*v\244\014"
- "\200\245\015\215\267\031s\243\014o\243\030[\220\015h\241%b\230\022w\250\001\\\204"
- "\010_\216\010j\237\035\200\256-T\204\015N|\001\202\255Cu\241$Z~\007Lq\010\177\254"
- "\006r\244\000\255\302.g\232\016\211\254\006v\241\002\214\264\004\202\256\005Z\215\023y"
- "\253\007Gs\002n\236!v\244(\234\302V\236\275\034\234\271\"\227\261#\217\245\022"
- "n\214\004{\230\005h\226\004k\230\011\202\250\004g\224\002\216\262\004}\250\010q\236\002\214"
- "\257\015\204\252\015X\203\012v\240\004\202\250\005{\241\024\217\267\010\205\255\004"
- "\207\256\023v\240\002|\245\003q\237\004\204\257\040\232\265\"\247\303\022\254\302"
- "K\215\250\013z\232\000\214\253\006\214\252\004\206\253\002x\230\002\213\250\006\201\251"
- "\016",
+const struct {
+ unsigned int width;
+ unsigned int height;
+ unsigned int bytes_per_pixel; /* 2:RGB16, 3:RGB, 4:RGBA */
+ unsigned char pixel_data[128 * 128 * 4 + 1];
+} cat_tex = {
+ 128, 128, 4,
+ "[\227\017\377L\206\001\377M\212\002\377T\227\011\377V\231\010\377W\224\001\377[\222"
+ "\001\377T\212\001\377P\211\001\377M\203\001\377P\212\001\377Q\217\001\377K\210\001\377"
+ "K\210\001\377N\214\001\377Q\217\002\377W\226\001\377X\224\001\377U\214\001\377U\216\001"
+ "\377[\225\003\377Y\221\002\377W\217\001\377^\230\005\377^\230\006\377`\231\011\377Z"
+ "\225\003\377X\221\002\377Y\221\003\377X\220\003\377^\227\007\377Z\225\004\377Z\226\002"
+ "\377W\217\001\377Y\224\002\377X\222\002\377W\220\001\377[\227\001\377c\241\004\377a\237"
+ "\003\377Z\230\001\377Y\222\001\377Z\220\001\377X\216\001\377[\231\005\377j\246\025\377"
+ "_\232\010\377U\214\000\377o\242\026\377k\234\013\377g\231\001\377c\222\001\377X\213"
+ "\005\377_\221\023\377V\214\010\377T\216\002\377U\222\002\377Q\211\001\377J|\001\377W"
+ "\214\003\377j\235\006\377o\243\004\377g\235\002\377X\217\002\377X\226\002\377U\221\001"
+ "\377T\210\002\377V\212\001\377V\216\002\377Z\226\002\377Y\221\001\377[\221\002\377g\234"
+ "\014\377d\232\016\377g\240\032\377[\226\022\377\\\224\020\377g\235\026\377\\\225"
+ "\005\377V\221\002\377U\212\002\377Y\217\001\377Z\220\001\377Y\221\001\377Y\226\002\377"
+ "W\227\001\377P\217\001\377O\217\002\377V\231\004\377X\230\003\377[\231\004\377X\217\001"
+ "\377Z\215\002\377Y\212\002\377[\214\001\377\\\215\002\377]\220\001\377]\227\002\377]"
+ "\233\001\377X\220\001\377X\217\001\377X\215\001\377^\234\001\377]\237\002\377U\221\001"
+ "\377R\214\001\377S\217\001\377T\220\001\377P\217\001\377P\224\001\377O\216\001\377M\210"
+ "\001\377V\225\001\377S\216\001\377S\216\001\377S\224\001\377N\220\001\377Q\226\004\377"
+ "S\227\013\377Y\235\023\377a\241\025\377`\240\015\377]\234\005\377V\227\002\377Y\233"
+ "\010\377W\231\011\377P\222\002\377R\217\001\377Y\237\021\377S\232\010\377K\224\002"
+ "\377L\222\001\377P\214\002\377]\222\001\377]\224\002\377U\217\001\377L\212\001\377K\206"
+ "\001\377Q\213\001\377T\222\001\377U\220\001\377V\224\001\377V\223\001\377Y\223\001\377"
+ "[\223\001\377Z\221\001\377Y\222\001\377X\225\001\377V\222\002\377U\210\002\377^\225\001"
+ "\377i\240\013\377g\236\020\377h\240\023\377T\223\002\377R\216\001\377V\215\001\377"
+ "[\225\001\377Y\226\001\377[\227\001\377Z\227\001\377Z\226\002\377^\226\005\377e\232\014"
+ "\377\\\225\004\377a\233\005\377_\231\002\377m\246\013\377a\232\003\377_\226\002\377"
+ "\\\223\001\377X\224\001\377]\235\012\377c\241\016\377^\231\002\377_\222\002\377f\235"
+ "\006\377s\252\012\377j\242\001\377b\233\002\377a\235\006\377_\232\011\377V\220\002\377"
+ "T\210\002\377T\216\001\377S\216\001\377U\220\002\377e\234\005\377k\241\004\377n\244\004"
+ "\377s\252\014\377a\234\003\377c\235\010\377W\217\001\377U\204\001\377X\212\001\377"
+ "[\217\001\377]\225\001\377[\224\001\377W\216\002\377V\216\003\377T\214\002\377R\212\002"
+ "\377T\214\002\377U\213\001\377\\\223\005\377e\235\014\377W\221\002\377W\220\001\377"
+ "Y\220\001\377W\213\001\377V\214\001\377V\217\001\377W\227\002\377V\227\001\377U\227\001"
+ "\377V\231\003\377N\211\001\377S\215\001\377W\216\001\377T\210\002\377Q\204\002\377W\213"
+ "\001\377Z\217\001\377Z\216\000\377[\225\002\377b\243\013\377V\220\001\377T\207\001\377"
+ "U\214\001\377[\231\002\377\\\236\002\377U\220\001\377M\207\002\377N\207\001\377Q\215"
+ "\001\377S\216\001\377V\226\002\377U\216\000\377V\212\002\377c\233\001\377]\221\002\377"
+ "V\215\001\377X\230\001\377S\226\001\377L\215\001\377I\211\001\377L\217\001\377T\225\004"
+ "\377j\244\014\377l\246\013\377X\226\001\377T\225\004\377\\\235\016\377c\243\025\377"
+ "^\236\012\377K\223\002\377M\230\007\377S\235\016\377N\227\007\377P\215\001\377^\224"
+ "\001\377`\226\001\377Z\225\001\377Q\216\001\377M\210\001\377V\216\002\377]\227\001\377"
+ "_\232\001\377]\226\001\377[\223\001\377Z\222\001\377Y\216\001\377Y\216\001\377X\225\001"
+ "\377W\226\001\377V\216\001\377T\210\001\377]\225\001\377o\246\014\377e\235\012\377"
+ "b\236\014\377S\222\001\377T\213\001\377W\220\001\377W\223\001\377W\216\002\377\\\231"
+ "\002\377c\235\011\377l\242\027\377e\233\022\377d\234\020\377Y\223\003\377b\235\007"
+ "\377b\233\003\377f\237\004\377b\233\001\377b\232\002\377`\232\001\377]\235\001\377^\237"
+ "\005\377Y\227\002\377U\211\001\377]\220\002\377_\225\001\377c\240\001\377l\250\005\377"
+ "b\237\002\377^\233\001\377W\223\002\377W\221\001\377T\214\001\377T\217\001\377Z\225\005"
+ "\377]\230\002\377a\233\002\377b\234\001\377k\245\011\377l\247\014\377\\\227\003\377"
+ "g\240\015\377V\213\001\377P\202\001\377T\212\001\377Z\224\001\377Z\226\003\377\\\231"
+ "\010\377T\220\014\377L\207\004\377L\200\002\377Q\203\001\377^\223\003\377Y\216\001\377"
+ "^\224\004\377p\247\026\377]\227\005\377Y\222\001\377X\222\001\377V\213\001\377W\213"
+ "\001\377X\220\001\377[\233\001\377X\231\001\377O\212\002\377S\220\001\377S\211\001\377"
+ "V\216\001\377W\214\002\377O\204\002\377U\213\001\377Z\217\002\377\\\225\001\377Z\223"
+ "\001\377U\221\003\377g\247\027\377S\224\002\377O\213\001\377U\223\001\377Y\230\001\377"
+ "\\\234\001\377Y\226\001\377Q\215\001\377O\207\001\377S\214\001\377V\217\001\377Y\225"
+ "\001\377X\214\001\377_\223\001\377i\237\001\377_\223\001\377[\222\001\377Y\227\002\377"
+ "V\226\001\377K\206\001\377H\203\002\377J\211\001\377T\224\003\377j\244\014\377i\244"
+ "\010\377]\234\003\377T\222\001\377U\226\002\377\\\236\012\377a\242\012\377H\211\001"
+ "\377E\214\001\377I\225\010\377V\240\021\377Q\232\002\377Y\224\001\377\\\222\002\377"
+ "X\224\001\377Q\215\001\377P\212\001\377W\216\001\377_\226\001\377a\226\001\377^\224\001"
+ "\377Z\221\001\377X\217\002\377S\210\001\377U\214\001\377[\227\003\377X\227\001\377U\221"
+ "\001\377W\216\001\377^\227\001\377h\243\002\377`\231\001\377Z\226\002\377U\214\001\377"
+ "W\217\001\377Y\222\001\377X\221\001\377X\226\002\377W\227\002\377X\227\004\377U\223\005"
+ "\377U\220\002\377V\222\001\377V\222\001\377\\\235\004\377]\236\003\377X\226\002\377Z"
+ "\225\002\377`\237\001\377`\241\002\377]\235\001\377Y\232\002\377X\224\001\377U\212\001"
+ "\377W\214\002\377Z\221\002\377Y\216\001\377d\240\005\377`\233\003\377Z\226\001\377^\232"
+ "\003\377Z\227\002\377X\222\001\377c\234\010\377i\242\014\377\\\227\003\377]\235\003\377"
+ "[\234\002\377d\244\015\377e\244\017\377Z\230\004\377j\246\017\377W\215\001\377S\205"
+ "\002\377X\223\003\377j\244\037\377l\246/\377~\261P\377\224\301r\377j\236\063\377"
+ "M\201\001\377S\207\001\377[\222\002\377T\214\000\377`\233\013\377i\243\024\377`\233"
+ "\014\377h\241\027\377e\240\023\377U\217\002\377V\213\001\377[\230\002\377Z\231\001\377"
+ "N\210\002\377H\177\002\377W\225\001\377Y\220\001\377Z\217\001\377V\214\001\377R\210\001"
+ "\377]\234\001\377_\231\002\377Z\222\001\377Y\223\001\377V\223\001\377c\244\020\377Y"
+ "\233\007\377R\223\001\377U\224\001\377Z\232\001\377^\235\001\377]\234\002\377Y\232\002"
+ "\377R\222\001\377T\223\001\377W\230\001\377W\230\002\377W\213\001\377h\240\001\377h\236"
+ "\001\377_\222\002\377\\\221\002\377[\231\002\377X\231\001\377O\220\001\377K\213\001\377"
+ "O\217\002\377b\236\015\377_\233\007\377Z\227\002\377_\240\004\377U\217\002\377T\221"
+ "\001\377S\222\001\377U\221\001\377K\203\002\377F\202\001\377D\212\001\377K\225\004\377"
+ "O\232\003\377R\230\002\377U\225\001\377T\223\001\377P\211\001\377K\204\001\377R\211\001"
+ "\377X\223\001\377[\231\001\377[\233\001\377X\222\001\377S\212\001\377M\200\002\377U\214"
+ "\003\377^\226\012\377X\225\005\377Y\232\006\377V\222\001\377\\\225\001\377d\240\001\377"
+ "_\226\001\377Z\220\001\377X\221\001\377Y\222\001\377[\216\001\377\\\217\002\377^\233"
+ "\002\377V\225\001\377R\221\001\377T\215\001\377V\220\001\377Z\224\001\377X\222\002\377"
+ "W\225\001\377^\240\007\377V\224\001\377V\216\001\377^\236\002\377b\243\004\377[\233\003"
+ "\377X\230\004\377\\\234\011\377V\222\003\377U\216\001\377X\215\001\377[\217\001\377"
+ "h\240\005\377i\245\005\377]\227\001\377^\230\002\377Z\217\001\377[\221\001\377k\243\011"
+ "\377e\236\007\377W\223\001\377c\243\014\377[\234\005\377f\244\017\377f\241\015\377"
+ "b\236\012\377n\251\024\377W\217\001\377V\216\005\377e\237\040\377t\254B\377|\260"
+ "T\377\230\305y\377\250\317\222\377o\242<\377P\210\002\377^\224\006\377\\\226"
+ "\006\377Q\221\003\377b\241\024\377a\241\020\377S\224\005\377e\240\030\377l\245\033"
+ "\377Z\222\001\377]\223\002\377`\232\001\377[\226\002\377P\204\001\377T\211\001\377_\231"
+ "\001\377^\224\002\377^\224\001\377[\224\002\377Y\217\001\377Z\225\001\377Y\220\001\377"
+ "Z\221\001\377X\224\001\377R\215\001\377X\231\005\377`\241\012\377S\221\001\377R\214"
+ "\001\377W\226\001\377[\227\001\377_\237\002\377`\242\002\377W\226\001\377Y\232\002\377"
+ "g\246\011\377a\237\003\377Z\220\002\377e\236\002\377_\226\001\377X\220\001\377X\223"
+ "\001\377[\233\001\377Z\233\002\377V\230\002\377Q\220\001\377b\235\015\377m\247\025\377"
+ "Z\232\004\377U\224\001\377[\234\004\377R\220\001\377R\220\001\377R\225\001\377V\221\001"
+ "\377M\200\001\377M\205\002\377L\207\001\377N\217\002\377N\217\001\377J\217\002\377P\230"
+ "\004\377O\227\003\377O\215\001\377E\201\001\377N\205\002\377Q\223\002\377`\242\021\377"
+ "R\225\002\377T\223\001\377T\215\001\377T\205\001\377^\222\010\377b\226\015\377]\231"
+ "\014\377]\235\011\377V\223\001\377Z\221\001\377c\233\001\377b\231\002\377`\226\001\377"
+ "]\225\001\377Y\216\002\377[\213\002\377^\222\001\377b\235\003\377[\223\002\377Y\225\001"
+ "\377Z\223\002\377]\223\002\377]\222\002\377]\227\002\377[\230\002\377a\243\010\377W"
+ "\230\002\377R\217\001\377Z\234\003\377h\251\017\377e\245\022\377^\233\017\377`\234"
+ "\025\377]\230\017\377i\243\032\377d\235\016\377]\224\001\377i\241\002\377i\243\002"
+ "\377b\233\001\377_\233\002\377X\222\001\377W\223\001\377c\237\017\377h\243\026\377"
+ "\\\234\014\377`\240\015\377Y\233\003\377^\235\004\377]\231\004\377c\235\007\377f\242"
+ "\016\377]\232\016\377n\250/\377q\253<\377w\256H\377\177\263Q\377\234\307z\377"
+ "\244\315\211\377g\241+\377O\216\002\377U\222\003\377S\222\003\377N\217\001\377_\241"
+ "\020\377Z\235\011\377Q\220\002\377W\226\003\377\\\231\003\377d\236\003\377k\237\001\377"
+ "f\233\001\377_\225\001\377X\213\002\377]\225\001\377f\236\002\377c\231\001\377`\234\002"
+ "\377]\234\001\377W\217\001\377V\214\001\377V\223\001\377T\223\001\377T\224\002\377K\203"
+ "\002\377N\212\001\377_\240\004\377X\222\001\377W\222\001\377Y\225\002\377W\220\001\377"
+ "Z\227\001\377`\242\003\377^\241\003\377`\241\004\377h\247\007\377c\242\003\377]\231\001"
+ "\377^\234\001\377S\220\001\377R\216\001\377U\225\001\377Z\231\002\377`\233\002\377[\225"
+ "\003\377W\213\002\377h\235\016\377e\240\015\377[\233\003\377X\232\003\377\\\235\005\377"
+ "V\225\002\377S\222\002\377Z\234\001\377b\235\001\377L~\002\377P\205\001\377O\206\002\377"
+ "Z\223\001\377Y\226\001\377N\210\001\377I\212\001\377R\231\004\377J\213\001\377C}\001\377"
+ "L\211\001\377V\232\015\377a\242\040\377L\212\001\377N\212\001\377T\217\001\377^\232"
+ "\003\377a\233\003\377Y\223\001\377T\224\002\377W\232\003\377W\225\001\377\\\225\002\377"
+ "b\230\001\377e\234\002\377a\226\001\377\\\217\001\377X\214\002\377\\\220\001\377a\232"
+ "\003\377b\233\002\377[\222\001\377_\233\002\377_\225\001\377`\225\001\377a\225\001\377"
+ "b\231\001\377\\\227\001\377a\243\005\377`\244\007\377U\224\002\377]\237\003\377b\242"
+ "\007\377f\246\020\377Z\231\007\377X\225\006\377b\235\022\377w\253.\377\200\263:\377"
+ "m\244\033\377j\245\002\377g\236\001\377b\232\002\377]\230\001\377X\224\001\377T\220"
+ "\004\377f\241\034\377b\240\031\377i\250\035\377d\244\021\377Y\230\001\377^\231\001"
+ "\377]\223\002\377b\231\003\377]\231\005\377^\233\024\377r\253\067\377x\262A\377{"
+ "\261@\377\202\265I\377\230\305k\377\227\302t\377_\234\026\377P\213\002\377R"
+ "\213\001\377V\220\002\377W\224\002\377a\241\010\377W\230\003\377N\213\001\377R\221\001"
+ "\377[\231\001\377c\232\001\377i\240\002\377j\240\001\377[\221\001\377O\202\001\377]\225"
+ "\001\377c\235\001\377a\230\001\377b\237\003\377_\240\003\377W\216\002\377\\\232\002\377"
+ "Z\227\001\377U\222\001\377P\216\001\377M\210\002\377Q\207\002\377\\\232\001\377_\233"
+ "\002\377^\236\001\377Z\224\001\377W\213\002\377[\231\001\377h\246\010\377f\247\014\377"
+ "W\231\002\377]\237\003\377\\\234\001\377^\233\001\377Z\227\002\377V\225\001\377U\230"
+ "\001\377Z\233\001\377\\\233\002\377c\240\002\377d\232\004\377^\223\005\377^\226\007\377"
+ "[\231\004\377]\233\003\377`\237\005\377^\235\003\377^\236\002\377\\\235\002\377_\240"
+ "\001\377`\230\002\377Ey\002\377H\201\001\377N\210\001\377R\216\001\377Z\231\001\377U\221"
+ "\001\377N\211\001\377N\221\000\377J\212\001\377G\202\001\377G\212\001\377R\231\012\377"
+ "X\233\021\377I\202\001\377M\212\001\377O\221\001\377W\227\001\377_\240\001\377]\223"
+ "\001\377X\223\001\377W\227\001\377X\226\002\377^\231\001\377d\237\001\377i\247\002\377"
+ "\\\231\001\377W\216\001\377X\220\001\377Z\227\002\377f\246\011\377\\\231\002\377Y\224"
+ "\002\377]\227\001\377^\222\002\377c\225\001\377e\230\001\377b\227\001\377^\227\001\377"
+ "b\243\003\377h\252\012\377]\236\001\377^\240\001\377Z\233\001\377]\235\002\377c\244"
+ "\012\377g\244\020\377b\236\022\377i\243\037\377u\253\060\377}\262\060\377o\251"
+ "\013\377f\234\002\377`\223\001\377e\235\006\377e\233\021\377q\247\063\377y\261F\377"
+ "l\245\062\377o\253*\377f\246\024\377Z\231\002\377c\235\001\377a\221\003\377n\243"
+ "\013\377s\247\034\377g\237\037\377s\253\064\377~\264?\377x\254\065\377\177\263"
+ ";\377\204\265C\377q\246)\377V\224\000\377W\223\002\377T\216\001\377V\217\001\377"
+ "\\\227\001\377e\241\005\377W\221\001\377M\200\002\377S\220\002\377]\233\001\377b\226"
+ "\002\377j\234\002\377i\240\002\377\\\226\001\377R\207\001\377]\230\001\377b\233\002\377"
+ "_\224\002\377f\240\002\377`\233\002\377[\222\001\377c\232\002\377e\240\001\377V\213\002"
+ "\377R\212\001\377S\215\001\377[\226\001\377`\237\001\377^\235\001\377Y\233\001\377X\230"
+ "\001\377U\212\001\377[\227\001\377j\250\007\377b\242\004\377S\215\002\377Y\226\001\377"
+ "a\242\002\377a\240\001\377X\222\001\377Y\227\001\377^\242\001\377]\234\001\377_\234\002"
+ "\377c\237\001\377f\237\004\377b\227\005\377a\230\005\377_\232\003\377f\240\004\377m\246"
+ "\006\377g\242\001\377p\251\005\377l\246\003\377c\232\002\377a\232\001\377<p\001\377J\204"
+ "\001\377I\206\001\377I\206\002\377Q\222\001\377V\233\001\377Q\223\001\377J\224\002\377"
+ "L\225\005\377G\220\001\377C\210\001\377P\227\005\377R\223\004\377N\207\002\377O\216\002"
+ "\377P\221\001\377T\224\001\377^\236\001\377\\\224\001\377X\221\001\377V\223\001\377X"
+ "\230\001\377_\233\001\377m\250\001\377t\257\004\377b\234\001\377Z\225\001\377X\222\001"
+ "\377[\230\002\377k\251\014\377Z\227\002\377[\222\001\377[\217\002\377`\225\002\377d"
+ "\234\001\377c\231\002\377^\223\001\377]\223\001\377^\233\002\377e\246\004\377f\245\002"
+ "\377i\245\001\377e\237\001\377_\227\002\377_\240\003\377\\\234\005\377d\243\024\377"
+ "b\237\024\377m\246\035\377i\246\017\377g\243\003\377h\240\001\377d\230\001\377n\245"
+ "\017\377u\252*\377x\257E\377\201\271V\377t\257;\377a\242\023\377c\244\012\377"
+ "Z\227\002\377c\236\001\377j\240\004\377x\256\033\377}\262\062\377n\244.\377\201\263"
+ "D\377~\263?\377l\245$\377|\265/\377k\246\030\377[\226\002\377Y\225\001\377[\227"
+ "\001\377Y\226\002\377Y\220\001\377d\235\002\377h\241\001\377]\222\001\377Z\222\002\377"
+ "]\232\002\377^\225\001\377j\240\001\377p\247\003\377f\242\002\377Z\231\001\377Z\231\002"
+ "\377\\\232\001\377_\227\002\377d\235\001\377l\246\001\377d\231\001\377a\227\002\377]"
+ "\220\001\377e\234\001\377Z\220\001\377U\214\001\377X\223\001\377]\233\002\377\\\232\002"
+ "\377b\244\010\377N\214\000\377V\230\001\377[\231\001\377[\231\001\377g\247\004\377a"
+ "\240\002\377Y\220\001\377b\237\002\377k\250\002\377g\243\002\377^\224\002\377`\236\001"
+ "\377a\240\001\377d\242\001\377d\235\002\377f\237\001\377h\236\003\377\\\222\001\377h"
+ "\236\005\377m\243\005\377y\257\021\377s\251\015\377l\243\005\377q\252\010\377g\240"
+ "\003\377_\223\001\377h\241\002\377>p\001\377M\207\001\377H\204\002\377D}\001\377I\210\001"
+ "\377S\226\001\377N\224\002\377K\222\002\377\\\241\025\377H\217\003\377D\210\001\377"
+ "U\233\004\377S\223\001\377X\223\001\377W\216\001\377S\216\001\377X\227\002\377\\\233"
+ "\002\377Z\222\001\377Y\227\002\377V\227\002\377^\237\010\377]\234\002\377l\245\002\377"
+ "u\256\003\377d\231\002\377\\\217\002\377Y\216\001\377c\237\004\377{\262\026\377j\240"
+ "\003\377f\225\001\377e\222\002\377i\234\002\377h\240\001\377a\231\002\377]\226\001\377"
+ "\\\221\001\377\\\223\001\377_\236\002\377c\237\001\377h\244\001\377d\235\002\377^\226"
+ "\001\377_\234\001\377Z\230\002\377c\243\016\377a\235\017\377o\251\027\377g\241\005\377"
+ "g\242\001\377l\246\002\377f\235\000\377j\242\013\377p\246'\377v\253A\377\217\300"
+ "d\377w\261;\377Y\233\001\377e\250\005\377]\236\001\377_\237\003\377p\254\026\377x"
+ "\263(\377p\255)\377b\236\036\377|\262<\377s\252-\377\\\233\010\377m\253\023"
+ "\377d\241\005\377\\\231\002\377[\230\001\377Y\231\001\377\\\227\001\377c\231\001\377"
+ "k\237\001\377p\247\002\377k\243\002\377e\241\002\377^\231\001\377i\243\001\377p\252\002"
+ "\377o\246\005\377a\233\002\377_\232\001\377b\236\002\377d\236\002\377b\233\001\377s\255"
+ "\013\377x\261\013\377j\241\002\377a\225\002\377Z\214\002\377_\225\002\377d\236\001\377"
+ "b\232\001\377b\240\001\377]\232\001\377X\225\002\377c\245\016\377S\223\002\377[\233"
+ "\002\377[\226\002\377c\237\004\377n\254\010\377a\242\001\377`\226\001\377h\241\001\377"
+ "v\256\002\377r\247\001\377j\241\001\377e\236\001\377c\234\002\377f\242\001\377f\236\001"
+ "\377f\234\002\377d\233\001\377a\225\002\377i\240\003\377k\242\003\377z\261\031\377~"
+ "\263\037\377h\240\003\377j\244\002\377d\235\002\377`\220\001\377i\243\001\377Cu\002\377"
+ "I\201\001\377F\201\001\377E{\002\377K\206\001\377U\225\001\377R\226\001\377J\221\001\377"
+ "R\231\011\377H\220\004\377E\212\002\377R\230\002\377V\226\001\377Z\221\001\377O|\001\377"
+ "P\203\001\377[\223\001\377`\232\001\377^\226\001\377Z\233\002\377R\226\001\377\\\235"
+ "\014\377c\243\014\377c\240\001\377l\251\001\377c\235\001\377Z\223\001\377X\223\001\377"
+ "i\246\010\377x\260\017\377j\235\001\377h\224\002\377h\230\001\377h\236\001\377c\231"
+ "\001\377Z\223\002\377Z\231\001\377[\226\001\377^\230\001\377a\242\003\377]\237\001\377"
+ "Y\230\001\377Z\225\001\377_\236\002\377c\240\001\377d\240\002\377d\242\007\377\\\231"
+ "\006\377d\237\012\377q\255\015\377i\243\002\377k\250\002\377f\243\003\377a\236\010\377"
+ "f\240\037\377s\254>\377\203\271Q\377s\256\062\377\\\235\003\377h\252\012\377a"
+ "\242\005\377^\236\003\377n\253\027\377\200\273\060\377j\251\027\377\\\235\006\377"
+ "]\235\010\377]\235\006\377_\231\002\377e\234\001\377i\240\002\377g\235\001\377a\230"
+ "\002\377\\\221\001\377d\233\001\377n\246\002\377o\243\001\377p\246\002\377h\241\002\377"
+ "a\232\002\377k\247\003\377r\255\002\377q\251\001\377j\235\002\377k\243\002\377k\242\001"
+ "\377j\240\001\377h\234\001\377d\234\002\377x\261\015\377w\261\007\377j\240\002\377_"
+ "\220\002\377Y\212\002\377V\210\002\377e\236\001\377m\250\002\377l\250\001\377f\242\002"
+ "\377_\236\005\377b\242\011\377\\\235\003\377]\232\002\377Y\220\001\377n\247\013\377"
+ "r\254\010\377i\245\001\377k\242\001\377l\241\001\377w\254\001\377x\252\001\377v\256"
+ "\001\377m\243\002\377d\234\002\377e\236\002\377e\234\002\377c\233\002\377`\227\002\377"
+ "g\236\002\377p\247\003\377h\234\001\377p\250\015\377z\261\032\377d\240\001\377d\236"
+ "\001\377e\236\002\377a\224\002\377h\242\001\377G|\002\377K\206\004\377K\211\006\377\071"
+ "m\001\377N\212\002\377]\237\001\377V\235\001\377M\222\001\377O\226\007\377N\226\007\377"
+ "I\217\001\377V\233\003\377V\221\001\377N\177\001\377Hu\001\377M}\001\377Y\216\001\377h"
+ "\241\001\377c\233\001\377[\231\002\377U\227\002\377M\215\002\377Y\230\003\377_\235\001"
+ "\377g\243\001\377b\235\002\377\\\230\001\377X\224\001\377l\251\012\377n\247\005\377"
+ "j\233\002\377i\227\002\377k\235\002\377g\236\001\377[\216\001\377U\211\001\377[\230\001"
+ "\377_\233\001\377`\232\002\377a\243\002\377\\\236\002\377Z\237\001\377Z\232\001\377c"
+ "\243\002\377o\255\004\377i\245\003\377_\235\001\377\\\233\002\377a\241\002\377i\247\004"
+ "\377d\241\001\377l\250\010\377e\242\011\377a\237\015\377o\251%\377x\261\066\377"
+ "v\260\066\377x\262.\377^\236\006\377\\\235\002\377c\245\006\377`\240\003\377q\256"
+ "\030\377w\263\036\377e\244\007\377b\243\002\377Z\226\001\377]\231\002\377c\236\001\377"
+ "j\242\002\377m\241\001\377k\241\002\377j\236\002\377f\231\001\377h\235\001\377i\240\001"
+ "\377h\240\002\377g\244\002\377e\244\002\377j\246\005\377n\251\004\377q\251\001\377o\241"
+ "\002\377p\241\001\377r\253\002\377p\244\001\377p\243\001\377j\235\002\377h\236\002\377"
+ "t\257\002\377p\250\001\377j\235\001\377d\223\001\377h\227\003\377]\213\002\377Z\212\001"
+ "\377i\241\002\377m\247\001\377n\246\003\377o\252\011\377`\241\004\377Z\231\001\377^"
+ "\231\002\377^\231\001\377p\254\015\377g\245\004\377j\244\001\377p\252\001\377r\245\001"
+ "\377w\254\001\377{\255\001\377y\262\001\377o\256\001\377a\235\002\377b\234\002\377b\236"
+ "\001\377`\231\001\377`\227\001\377i\240\002\377m\244\002\377h\236\001\377p\254\016\377"
+ "r\257\021\377`\237\001\377a\231\002\377c\232\002\377d\227\001\377g\240\001\377J\210"
+ "\001\377]\233\026\377h\243)\377:j\000\377R\207\002\377b\243\002\377_\242\004\377M\222"
+ "\001\377N\226\004\377Q\230\005\377Q\227\003\377U\232\003\377R\215\001\377K~\002\377M\200"
+ "\002\377T\213\001\377a\231\002\377g\236\002\377`\224\002\377]\231\001\377Z\232\001\377"
+ "Q\215\001\377Q\216\001\377\\\231\001\377f\242\001\377b\231\001\377X\217\002\377Y\225"
+ "\000\377o\252\012\377f\235\003\377d\227\001\377h\233\002\377h\236\001\377d\240\002\377"
+ "\\\227\001\377Y\225\001\377^\235\001\377a\234\001\377c\235\002\377c\240\002\377^\234"
+ "\001\377Z\231\001\377\\\237\001\377a\242\001\377n\252\010\377i\245\010\377\\\235\002"
+ "\377a\242\001\377d\242\001\377a\233\001\377]\232\001\377i\251\017\377a\241\014\377"
+ "[\234\010\377l\250\030\377{\264+\377v\260&\377t\261\035\377^\236\003\377\\\230"
+ "\002\377j\254\012\377c\245\006\377j\251\015\377k\253\014\377c\243\004\377g\251\003\377"
+ "[\230\001\377Z\227\001\377d\245\001\377h\243\001\377j\235\001\377j\240\001\377m\244\002"
+ "\377j\243\001\377f\237\002\377h\240\002\377k\245\002\377l\251\003\377f\247\001\377d\242"
+ "\002\377i\242\001\377n\247\001\377i\234\002\377o\243\002\377x\252\002\377r\241\002\377"
+ "t\247\001\377n\243\001\377l\240\001\377o\253\002\377j\243\001\377f\236\002\377b\231\002"
+ "\377\177\255\033\377b\222\006\377U\204\001\377d\233\001\377p\252\002\377j\244\001\377"
+ "l\253\002\377b\240\001\377a\234\002\377d\233\002\377g\241\003\377m\252\010\377_\237"
+ "\001\377b\237\001\377h\240\002\377r\246\002\377x\247\002\377\206\267\002\377\200\265"
+ "\001\377r\254\001\377k\251\002\377e\236\001\377a\232\001\377^\227\001\377a\231\001\377"
+ "j\241\003\377w\255\020\377z\262\025\377r\256\017\377l\254\014\377\\\236\001\377\\"
+ "\226\001\377b\233\001\377h\237\001\377l\245\001\377J\210\002\377S\225\016\377o\254-"
+ "\377K\204\004\377S\217\002\377Z\232\001\377^\241\002\377Y\234\001\377X\236\003\377[\242"
+ "\011\377\\\242\015\377P\230\003\377P\222\001\377P\212\001\377R\214\001\377[\223\001\377"
+ "g\236\002\377i\235\001\377^\222\003\377]\231\001\377Y\230\001\377U\226\002\377Q\217\002"
+ "\377U\224\001\377`\236\002\377c\233\001\377]\221\001\377b\241\003\377q\255\021\377_"
+ "\233\002\377a\230\001\377e\233\002\377d\234\002\377b\240\002\377c\246\002\377d\247\004"
+ "\377\\\234\001\377^\235\001\377`\235\002\377a\240\002\377^\233\002\377[\230\002\377a"
+ "\242\001\377^\237\000\377d\243\012\377j\247\025\377j\250\017\377d\244\003\377e\247"
+ "\001\377^\232\002\377W\223\001\377\\\240\006\377[\236\003\377Z\234\002\377a\241\006\377"
+ "s\260\026\377y\266\035\377f\245\006\377a\234\001\377a\235\002\377n\255\007\377j\250"
+ "\010\377j\247\011\377r\260\021\377f\246\005\377a\243\002\377Z\232\001\377f\246\012"
+ "\377n\253\011\377h\233\002\377l\241\001\377e\235\001\377d\240\001\377c\241\001\377b"
+ "\234\002\377j\245\001\377j\246\002\377g\243\002\377i\250\002\377k\245\002\377p\251\002"
+ "\377o\247\001\377m\241\001\377j\235\002\377q\244\002\377r\242\002\377s\246\002\377n\243"
+ "\001\377h\237\001\377h\243\001\377e\237\001\377`\233\002\377]\231\002\377j\246\016\377"
+ "`\230\003\377a\227\001\377g\240\001\377m\252\002\377i\246\001\377i\244\001\377e\235\002"
+ "\377a\227\002\377i\242\001\377q\253\003\377l\251\003\377b\237\001\377d\242\001\377g\240"
+ "\001\377m\242\001\377r\244\001\377}\257\001\377\207\271\001\377~\256\001\377t\251\001\377"
+ "k\242\001\377f\236\002\377b\232\001\377f\237\002\377m\245\003\377o\246\011\377z\263"
+ "\026\377q\256\020\377q\260\022\377_\241\002\377^\234\002\377e\235\002\377m\245\001\377"
+ "n\241\001\377V\230\010\377]\236\017\377w\261-\377f\244\026\377S\220\001\377V\222"
+ "\001\377Z\227\001\377`\234\001\377_\235\002\377[\235\002\377`\245\014\377V\232\003\377"
+ "W\233\002\377\\\237\001\377Y\233\001\377]\230\001\377d\232\002\377f\232\001\377b\230"
+ "\001\377^\230\001\377[\231\001\377W\226\002\377X\227\001\377Y\221\001\377e\240\002\377"
+ "g\236\002\377d\237\001\377m\253\014\377l\253\021\377[\233\001\377b\231\001\377l\237"
+ "\001\377h\236\002\377c\237\001\377g\250\007\377c\245\005\377\\\236\002\377^\241\001\377"
+ "\\\234\001\377[\232\001\377[\231\001\377^\232\001\377a\243\002\377Z\235\001\377\\\240"
+ "\011\377U\231\006\377`\241\012\377f\250\007\377d\247\002\377`\242\002\377V\227\002\377"
+ "U\232\003\377b\246\011\377\\\236\001\377^\236\001\377i\252\005\377i\251\003\377c\243"
+ "\002\377b\243\001\377d\245\001\377g\250\002\377a\243\002\377`\241\002\377h\251\005\377"
+ "e\247\002\377_\235\002\377_\237\002\377d\245\005\377e\236\003\377s\251\001\377w\254\002"
+ "\377j\241\001\377h\247\002\377a\235\001\377c\234\001\377j\246\002\377n\252\004\377j\247"
+ "\002\377k\245\001\377l\243\002\377s\255\001\377o\241\002\377k\237\002\377l\236\001\377"
+ "p\245\002\377m\244\001\377l\244\001\377l\243\001\377i\241\001\377h\237\001\377a\225\002"
+ "\377_\226\002\377]\224\001\377c\234\002\377j\237\001\377l\235\001\377l\240\001\377p\253"
+ "\001\377k\242\001\377e\227\002\377f\234\001\377b\226\002\377n\247\002\377s\256\002\377"
+ "m\241\001\377j\240\001\377j\243\002\377i\240\001\377l\242\001\377q\252\001\377t\253\001"
+ "\377\210\267\001\377\216\274\001\377{\257\002\377l\245\002\377j\246\001\377j\243\002"
+ "\377n\244\001\377t\251\005\377u\252\005\377l\245\002\377m\252\006\377r\257\021\377h"
+ "\246\010\377d\241\002\377f\235\001\377o\245\002\377s\244\001\377O\212\003\377W\227\004"
+ "\377f\243\022\377r\254\036\377V\223\001\377X\223\001\377Z\230\002\377^\223\001\377"
+ "a\230\001\377\\\232\001\377Z\237\004\377M\221\001\377P\223\001\377^\243\003\377\\\237"
+ "\001\377\\\233\001\377b\233\001\377d\241\001\377a\237\001\377\\\234\001\377\\\234\001\377"
+ "[\224\002\377_\233\001\377_\230\001\377k\246\003\377d\242\004\377]\236\002\377g\250\015"
+ "\377e\247\015\377[\233\002\377c\237\002\377f\233\002\377f\234\002\377d\242\001\377o"
+ "\253\017\377f\246\012\377]\236\001\377_\240\002\377Y\225\001\377[\231\001\377`\234"
+ "\001\377c\237\001\377c\240\001\377[\232\001\377X\232\002\377\\\237\003\377`\242\003\377"
+ "b\243\004\377d\245\005\377f\250\012\377Z\237\003\377W\231\002\377Y\235\002\377[\235"
+ "\001\377`\240\002\377b\243\001\377c\242\001\377d\244\001\377c\240\001\377g\246\002\377"
+ "f\247\001\377`\240\001\377^\241\002\377c\245\001\377h\251\002\377n\253\012\377j\252"
+ "\012\377b\241\002\377g\242\001\377t\261\002\377q\253\002\377l\247\002\377k\251\002\377"
+ "b\236\002\377b\236\002\377l\253\012\377}\270\034\377k\250\004\377k\246\001\377m\247"
+ "\002\377q\256\001\377m\241\001\377n\242\001\377o\242\001\377r\245\001\377q\247\002\377"
+ "n\246\001\377p\252\001\377l\242\001\377g\235\002\377c\234\001\377`\226\001\377c\227\002"
+ "\377l\234\001\377m\236\001\377i\231\001\377i\236\001\377i\242\001\377i\241\001\377d\230"
+ "\001\377h\226\002\377l\233\002\377q\244\001\377t\253\001\377o\241\001\377k\241\002\377"
+ "j\242\001\377j\243\001\377m\251\002\377m\247\002\377n\244\001\377{\256\001\377\203\266"
+ "\001\377w\254\001\377m\246\002\377o\246\001\377t\247\002\377y\250\001\377\225\266\023"
+ "\377\235\274\032\377u\252\003\377j\243\001\377w\264\017\377s\261\013\377g\237\002"
+ "\377l\242\001\377s\251\001\377s\246\001\377R\212\001\377[\227\002\377c\241\010\377l"
+ "\247\020\377`\235\002\377Z\225\002\377\\\234\001\377[\222\001\377\\\220\001\377`\235"
+ "\002\377Z\240\002\377J\223\002\377R\227\003\377V\233\002\377X\226\001\377^\223\002\377"
+ "a\232\001\377`\231\002\377X\222\002\377X\227\001\377[\233\001\377]\235\001\377\\\233"
+ "\001\377`\235\001\377k\252\003\377b\234\003\377\\\231\001\377_\243\002\377[\234\001\377"
+ "Y\224\002\377b\234\002\377b\232\001\377a\231\001\377a\236\002\377_\240\004\377d\247\010"
+ "\377\\\236\001\377_\236\002\377a\237\001\377c\244\001\377c\240\001\377_\233\001\377\\"
+ "\234\002\377[\236\001\377a\244\005\377b\244\004\377`\232\002\377d\237\000\377p\254\015"
+ "\377r\255\031\377[\234\004\377[\234\001\377]\235\001\377`\236\001\377`\235\001\377c"
+ "\240\001\377c\231\001\377f\246\001\377e\243\001\377g\243\001\377j\245\001\377e\240\002"
+ "\377_\237\002\377d\245\006\377r\262\022\377w\267\032\377c\244\007\377`\240\002\377"
+ "d\242\002\377p\257\001\377m\247\001\377h\246\001\377h\247\001\377d\242\002\377`\235\001"
+ "\377m\255\021\377z\272#\377e\247\003\377i\247\001\377j\237\001\377n\250\002\377m\241"
+ "\001\377l\237\002\377q\243\002\377s\246\001\377s\246\001\377p\242\001\377n\244\001\377"
+ "g\236\001\377g\243\001\377e\237\001\377b\227\001\377h\234\001\377n\243\001\377m\244\002"
+ "\377h\234\001\377g\240\002\377g\245\001\377n\251\002\377o\245\001\377o\236\002\377q\240"
+ "\001\377r\243\002\377u\254\002\377n\241\002\377m\246\001\377r\255\002\377o\252\002\377"
+ "j\237\001\377j\237\001\377m\242\001\377t\254\001\377z\257\001\377y\256\002\377t\251\001"
+ "\377o\241\001\377q\241\001\377v\246\001\377~\255\005\377\206\264\014\377k\242\002\377"
+ "i\243\001\377w\264\013\377p\256\006\377h\235\002\377n\244\002\377s\250\002\377r\244"
+ "\002\377e\241\002\377\\\232\002\377\\\235\002\377_\240\003\377]\235\001\377]\226\001\377"
+ "_\234\002\377\\\222\002\377X\215\001\377a\233\002\377^\240\002\377W\230\001\377Y\233"
+ "\002\377Y\232\001\377\\\227\001\377^\222\002\377d\233\002\377^\225\001\377X\224\002\377"
+ "X\224\001\377^\241\004\377i\252\014\377Z\233\002\377^\237\001\377k\254\006\377b\236"
+ "\002\377^\227\001\377`\242\002\377Y\226\001\377\\\221\001\377d\237\001\377f\241\001\377"
+ "b\231\002\377^\227\001\377Y\227\001\377Y\233\001\377X\225\001\377\\\233\001\377`\236"
+ "\001\377c\242\001\377a\237\002\377`\235\001\377^\240\001\377Z\233\001\377\\\237\001\377"
+ "[\231\001\377_\225\002\377a\234\001\377a\236\003\377a\237\005\377Y\232\001\377\\\234"
+ "\001\377b\240\001\377a\237\001\377f\244\010\377|\265\034\377i\242\002\377g\242\001\377"
+ "d\234\001\377i\244\001\377g\237\002\377b\240\001\377\\\236\001\377t\262\033\377\206"
+ "\301*\377l\254\020\377Z\236\002\377Z\235\001\377a\233\002\377k\243\002\377j\241\001"
+ "\377g\241\001\377c\241\001\377f\247\001\377a\241\002\377j\254\006\377f\251\010\377i"
+ "\254\004\377k\247\002\377i\235\001\377l\243\002\377h\234\002\377f\232\002\377g\232\002"
+ "\377g\232\002\377o\244\001\377n\242\001\377k\245\001\377d\237\001\377c\241\002\377b\231"
+ "\001\377`\224\002\377b\227\001\377k\244\002\377p\253\002\377j\237\002\377j\243\002\377"
+ "j\241\001\377p\250\001\377u\254\001\377s\246\002\377j\234\002\377h\233\001\377p\250\002"
+ "\377o\251\001\377m\244\001\377z\265\004\377r\251\001\377n\242\001\377l\241\001\377i\240"
+ "\001\377l\243\001\377l\237\001\377w\253\001\377w\253\001\377m\237\001\377o\241\001\377"
+ "o\241\002\377o\246\001\377n\252\001\377j\240\001\377l\244\001\377y\264\005\377y\262\005"
+ "\377l\242\001\377k\240\001\377n\245\002\377j\235\001\377a\240\001\377`\233\002\377_\237"
+ "\001\377[\235\001\377X\227\001\377X\222\001\377[\231\001\377[\225\002\377W\213\001\377"
+ "\\\223\001\377`\236\002\377\\\230\002\377\\\227\001\377Y\227\001\377\\\231\001\377[\226"
+ "\001\377a\237\001\377a\237\002\377Z\231\001\377X\226\001\377_\236\002\377m\254\015\377"
+ "^\240\002\377\\\235\001\377k\254\007\377c\240\003\377_\230\000\377b\243\001\377_\237"
+ "\001\377Z\222\002\377`\227\002\377d\236\002\377e\241\001\377c\235\002\377a\237\001\377"
+ "_\234\001\377\\\224\001\377_\231\001\377c\241\001\377b\236\002\377`\235\002\377_\237"
+ "\003\377d\244\017\377_\236\016\377X\231\002\377X\223\001\377\\\231\002\377a\240\001\377"
+ "[\230\001\377Y\230\001\377\\\234\001\377a\242\001\377b\242\001\377\\\233\002\377j\251"
+ "\016\377y\261\035\377j\235\000\377o\243\002\377]\221\002\377f\236\002\377g\244\001\377"
+ "_\237\001\377e\247\012\377\177\275)\377w\266\040\377b\244\011\377Z\236\004\377X"
+ "\232\002\377^\231\001\377f\236\002\377f\234\001\377f\241\001\377c\242\001\377j\254\004"
+ "\377h\250\003\377f\247\002\377c\241\001\377g\241\001\377n\250\001\377o\244\002\377r\246"
+ "\002\377m\237\002\377c\226\001\377c\226\001\377g\236\001\377o\246\001\377o\243\001\377"
+ "o\241\002\377m\237\002\377t\252\002\377f\230\001\377b\231\001\377a\225\001\377h\240\001"
+ "\377j\244\002\377q\254\001\377k\244\001\377i\235\002\377q\250\001\377u\257\002\377o\246"
+ "\001\377c\230\001\377e\233\002\377p\252\001\377n\247\002\377l\244\001\377t\261\002\377"
+ "p\253\001\377n\251\002\377l\251\003\377e\236\002\377k\244\001\377j\240\001\377u\254\002"
+ "\377z\256\001\377t\243\002\377m\235\001\377m\241\002\377s\256\001\377o\255\001\377h\235"
+ "\002\377n\244\001\377u\252\001\377\177\265\003\377q\245\001\377j\235\002\377i\241\001\377"
+ "f\236\002\377a\240\001\377`\231\001\377b\241\002\377`\240\001\377X\222\002\377W\220\001"
+ "\377\\\232\001\377[\225\001\377Y\220\001\377]\226\001\377a\232\001\377c\230\001\377a"
+ "\226\001\377^\222\002\377b\232\002\377`\234\004\377b\241\006\377e\245\007\377Z\226\001"
+ "\377[\223\001\377_\237\002\377g\247\003\377f\245\001\377a\235\001\377e\246\002\377a\240"
+ "\002\377a\231\001\377c\245\001\377a\243\002\377R\214\001\377Y\223\002\377`\234\002\377"
+ "c\244\001\377b\243\003\377_\240\002\377Z\226\002\377`\230\001\377d\231\001\377n\253\003"
+ "\377m\255\004\377a\243\004\377V\222\007\377Z\203)\377\213\256]\377g\235\"\377O"
+ "\220\000\377X\224\001\377\\\233\001\377Z\231\001\377Y\226\001\377Z\226\001\377^\234\002"
+ "\377a\243\001\377j\253\014\377h\247\007\377`\227\001\377m\243\001\377p\243\001\377Y"
+ "\217\002\377h\236\001\377h\247\002\377]\235\002\377o\257\032\377x\266\040\377j\253"
+ "\017\377Z\237\004\377X\236\004\377W\231\002\377\\\234\002\377j\250\007\377c\240\001\377"
+ "g\246\002\377j\252\004\377n\256\007\377l\254\007\377`\237\002\377c\241\001\377i\240\001"
+ "\377r\252\001\377w\253\001\377t\243\002\377l\234\001\377e\227\002\377a\225\001\377h\246"
+ "\001\377k\250\001\377l\241\002\377q\243\002\377t\251\002\377o\242\002\377h\234\001\377"
+ "c\232\002\377^\226\001\377f\245\001\377e\236\001\377s\260\006\377h\243\003\377g\235\002"
+ "\377o\247\001\377r\254\001\377j\236\002\377a\226\002\377g\236\001\377n\251\001\377l\246"
+ "\002\377j\247\001\377o\260\003\377i\251\001\377m\254\005\377z\267\020\377g\246\001\377"
+ "g\243\001\377j\246\001\377n\244\001\377t\247\002\377{\262\001\377u\245\001\377r\245\002"
+ "\377r\251\001\377m\243\001\377i\240\001\377n\250\001\377r\253\001\377|\264\002\377u\256"
+ "\002\377m\241\001\377g\235\002\377i\245\001\377X\227\001\377Y\221\002\377`\237\001\377"
+ "b\240\002\377\\\222\001\377^\230\000\377`\235\001\377^\225\001\377Y\217\002\377_\226"
+ "\002\377_\230\002\377`\234\003\377a\230\001\377d\233\002\377g\237\004\377`\233\004\377"
+ "g\245\020\377b\243\011\377[\232\002\377[\221\001\377_\232\001\377j\250\004\377k\253"
+ "\004\377b\240\001\377b\241\001\377c\241\002\377d\234\002\377m\256\003\377e\244\002\377"
+ "W\215\001\377[\222\001\377b\235\002\377c\241\001\377f\251\004\377f\246\005\377`\233\001"
+ "\377f\235\002\377m\243\001\377w\263\001\377n\251\002\377Z\223\001\377a\220\032\377\335"
+ "\317\305\377\377\362\365\377\373\370\361\377\225\273W\377S\220\000\377V\222"
+ "\001\377W\225\002\377Y\225\002\377X\217\002\377Z\232\002\377\\\235\007\377{\272(\377"
+ "d\240\010\377`\226\002\377l\245\002\377p\251\001\377j\236\002\377n\246\001\377j\251"
+ "\001\377f\245\007\377i\251\022\377h\250\014\377[\233\001\377^\240\001\377`\242\002\377"
+ "_\236\002\377i\251\010\377m\254\015\377Z\232\001\377]\235\002\377^\236\001\377_\240"
+ "\001\377i\254\004\377`\241\001\377a\234\002\377g\234\002\377r\250\002\377o\240\002\377"
+ "o\240\002\377k\234\001\377g\235\002\377h\246\002\377i\253\003\377h\243\001\377n\245\001"
+ "\377p\246\002\377q\253\001\377j\235\002\377f\236\002\377c\227\002\377b\231\001\377i\245"
+ "\001\377g\241\001\377n\256\005\377d\244\004\377f\240\002\377n\243\001\377s\246\001\377"
+ "m\242\001\377f\230\002\377h\233\002\377m\246\001\377m\245\001\377p\256\001\377m\251\002"
+ "\377m\247\001\377l\250\003\377v\267\014\377e\247\002\377a\243\001\377`\241\002\377c"
+ "\233\002\377l\244\001\377s\253\001\377r\252\001\377v\254\002\377o\244\001\377j\234\001"
+ "\377h\241\002\377o\256\001\377t\264\003\377t\261\002\377q\253\002\377l\246\001\377f\235"
+ "\002\377q\254\010\377[\230\001\377X\220\001\377[\227\001\377^\230\001\377_\225\001\377"
+ "a\231\001\377c\242\001\377_\232\002\377]\224\001\377\\\225\000\377e\243\010\377g\250"
+ "\010\377^\224\001\377e\236\002\377a\232\001\377e\237\004\377l\247\012\377c\236\002\377"
+ "e\235\001\377f\235\002\377i\242\002\377j\246\002\377k\253\003\377f\246\001\377k\252\002"
+ "\377j\244\001\377m\243\001\377r\255\002\377d\233\002\377Z\217\003\377W\214\001\377n\242"
+ "\001\377o\251\001\377g\245\001\377d\240\001\377g\234\002\377o\252\002\377t\255\002\377"
+ "v\256\001\377n\243\001\377Z\224\000\377\243\264}\377\344\326\333\377\366\352\356"
+ "\377\373\363\366\377\373\362\363\377\257\311\177\377N\210\000\377Y\225\002\377"
+ "[\227\001\377Y\226\001\377Z\235\001\377f\250\014\377x\264\034\377r\257\017\377d\237"
+ "\002\377q\254\002\377s\255\002\377k\236\002\377f\233\002\377d\240\001\377f\250\005\377"
+ "\\\235\002\377`\241\006\377Y\226\001\377_\237\001\377c\240\002\377d\236\001\377h\250"
+ "\003\377a\241\002\377]\237\003\377\\\236\002\377W\225\001\377_\233\002\377g\247\002\377"
+ "d\243\001\377[\222\001\377b\227\002\377i\236\002\377c\227\001\377e\232\000\377f\237\000"
+ "\377p\253\010\377g\250\003\377g\244\001\377l\243\001\377l\243\002\377o\254\001\377k"
+ "\251\001\377e\235\002\377d\241\001\377b\240\002\377a\234\002\377j\246\001\377i\237\001"
+ "\377m\250\001\377h\243\001\377j\243\002\377n\242\001\377p\244\001\377s\251\001\377l\237"
+ "\001\377m\241\001\377p\245\002\377r\247\001\377w\263\001\377s\250\001\377q\247\002\377"
+ "o\246\001\377v\267\006\377f\247\003\377]\240\001\377[\241\002\377\\\233\001\377l\246"
+ "\001\377s\253\002\377s\255\002\377q\254\003\377j\246\003\377c\235\002\377d\242\001\377"
+ "g\250\002\377k\251\003\377k\245\003\377t\255\011\377s\253\014\377l\247\013\377u\260"
+ "\021\377b\234\001\377`\234\001\377^\227\002\377a\231\002\377f\241\001\377f\237\001\377"
+ "i\243\001\377a\227\001\377X\217\000\377e\243\021\377~\271/\377a\233\001\377^\222\002"
+ "\377a\231\001\377g\235\003\377q\244\007\377m\241\002\377k\236\002\377m\232\001\377n\236"
+ "\001\377i\233\002\377_\222\001\377_\232\002\377d\246\002\377o\255\004\377r\252\001\377"
+ "}\261\001\377y\254\002\377^\223\002\377X\216\002\377T\212\002\377u\246\002\377w\255\002"
+ "\377e\237\001\377e\240\002\377i\237\002\377p\252\001\377h\234\002\377o\244\002\377l\242"
+ "\001\377V\222\000\377\331\320\317\377\324\303\313\377\341\317\331\377\363\345"
+ "\354\377\353\332\332\377\364\355\351\377y\251\061\377V\231\000\377W\221\001\377"
+ "_\236\004\377n\257\023\377p\257\023\377l\254\014\377p\260\013\377j\251\002\377p\252"
+ "\002\377s\245\001\377l\237\001\377b\226\001\377f\243\001\377j\254\003\377\\\236\001\377"
+ "Z\234\002\377Y\232\001\377]\234\001\377f\242\001\377e\234\001\377d\244\002\377`\243\002"
+ "\377_\243\005\377V\234\001\377T\220\002\377f\243\001\377k\250\001\377g\247\001\377]\224"
+ "\001\377_\227\000\377t\246\027\377\223\272G\377\242\277b\377u\215\071\377^\234"
+ "\011\377^\237\001\377f\240\002\377m\250\001\377m\252\001\377h\247\002\377d\245\001\377"
+ "c\243\001\377b\244\001\377]\234\001\377b\244\001\377e\244\002\377g\235\002\377p\251\001"
+ "\377m\244\001\377l\246\001\377j\237\002\377o\244\001\377t\255\001\377q\250\001\377q\252"
+ "\001\377p\244\002\377t\253\002\377y\263\002\377y\263\001\377u\253\001\377r\245\002\377"
+ "r\255\001\377h\240\001\377c\242\001\377e\247\004\377a\234\002\377q\252\002\377v\245\002"
+ "\377z\260\001\377n\254\004\377m\257\011\377d\243\001\377g\247\001\377g\245\001\377i"
+ "\245\001\377j\242\004\377~\263\032\377\203\263\040\377\202\264\037\377s\254\013\377"
+ "g\232\002\377n\245\007\377`\226\002\377`\224\002\377f\242\001\377f\240\001\377g\243\002"
+ "\377f\236\001\377f\240\003\377\205\274\071\377\200\270\066\377d\233\002\377b\230"
+ "\002\377`\226\002\377d\233\001\377z\260\015\377m\241\003\377g\226\001\377k\231\002\377"
+ "n\234\001\377j\234\001\377e\231\001\377`\225\001\377c\240\002\377e\243\002\377h\237\002"
+ "\377\210\267\001\377y\251\001\377_\225\002\377^\225\001\377X\214\001\377v\247\002\377"
+ "y\256\001\377e\232\002\377f\233\002\377m\240\002\377l\237\001\377]\221\002\377t\251\001"
+ "\377t\257\000\377k\233\034\377\326\301\315\377\313\267\301\377\347\331\343\377"
+ "\367\356\364\377\362\345\352\377\354\332\332\377\357\354\326\377W\221\011"
+ "\377Q\221\000\377c\244\011\377q\260\030\377e\246\006\377_\240\002\377[\225\002\377"
+ "d\244\001\377n\247\002\377u\251\001\377u\247\002\377k\236\002\377n\252\002\377l\251\002"
+ "\377Z\231\002\377T\225\002\377[\234\004\377a\236\003\377f\244\001\377f\240\001\377e\247"
+ "\002\377^\237\002\377Y\230\001\377U\221\001\377Y\225\002\377d\243\002\377d\241\002\377"
+ "b\240\002\377X\225\000\377\253\306s\377\363\357\336\377\353\335\332\377\345\326"
+ "\322\377\311\273\261\377e\212\"\377^\237\000\377d\240\001\377m\250\001\377l\246"
+ "\001\377b\232\002\377^\226\001\377^\236\001\377k\255\010\377o\257\007\377d\245\000\377"
+ "c\240\002\377g\234\002\377r\254\002\377k\243\002\377i\243\001\377e\234\001\377l\244\001"
+ "\377t\260\001\377v\257\001\377v\253\002\377o\240\002\377u\247\002\377z\262\001\377|\262"
+ "\001\377z\255\002\377r\243\003\377t\250\001\377n\243\002\377j\243\002\377p\254\003\377"
+ "l\245\001\377v\257\004\377q\245\001\377u\255\002\377t\263\007\377i\252\002\377e\245\002"
+ "\377o\254\001\377q\252\001\377o\247\002\377l\241\002\377{\257\014\377\204\263\027\377"
+ "\201\261\022\377r\252\004\377m\245\001\377f\236\002\377b\236\002\377d\236\002\377j\246"
+ "\002\377i\242\001\377i\242\001\377e\237\002\377t\255\030\377\220\304E\377u\254\032"
+ "\377g\233\001\377f\226\001\377f\225\001\377f\226\001\377p\252\001\377m\247\002\377c\230"
+ "\002\377d\232\001\377j\241\002\377g\233\002\377e\236\002\377d\236\001\377e\241\001\377"
+ "f\241\001\377d\227\002\377\201\261\002\377y\252\002\377g\233\001\377b\232\002\377c\230"
+ "\001\377u\250\002\377|\260\001\377j\236\002\377g\233\002\377i\235\002\377k\236\001\377"
+ "e\231\002\377{\256\001\377\203\273\014\377\230\262`\377\317\266\304\377\271\236"
+ "\252\377\350\332\344\377\360\342\353\377\341\316\325\377\335\307\307\377"
+ "\334\304\303\377\326\340\261\377`\236\020\377n\255\035\377x\267$\377e\244\004"
+ "\377a\233\001\377[\220\002\377e\235\001\377n\244\001\377q\245\002\377r\243\001\377t\254"
+ "\002\377s\253\001\377s\247\001\377d\234\001\377P\221\002\377m\251\003\377l\244\002\377"
+ "d\234\001\377e\244\003\377f\247\003\377`\240\002\377\\\222\002\377\\\225\002\377^\234"
+ "\002\377_\241\003\377X\227\000\377s\242\026\377\336\343\246\377\352\326\322\377"
+ "\335\306\276\377\330\303\273\377\314\271\260\377\330\311\306\377\236\245"
+ "r\377[\234\000\377g\250\002\377e\243\001\377d\234\001\377b\231\001\377_\230\001\377^"
+ "\224\001\377b\232\001\377l\251\004\377n\255\003\377h\242\001\377n\243\001\377w\261\001"
+ "\377m\241\002\377k\242\002\377e\233\001\377m\251\002\377u\260\002\377v\254\002\377u\250"
+ "\001\377q\243\002\377w\250\002\377}\264\002\377~\262\001\377z\255\001\377n\240\001\377"
+ "o\247\002\377n\245\002\377j\242\002\377n\252\002\377s\257\007\377n\250\003\377l\244\002"
+ "\377p\253\001\377s\260\003\377n\256\001\377l\246\001\377n\251\002\377t\256\001\377p\251"
+ "\001\377o\246\002\377|\262\014\377w\255\010\377m\246\001\377k\245\001\377h\243\002\377"
+ "e\243\001\377c\235\001\377f\236\001\377x\263\006\377n\242\002\377l\240\001\377d\234\001"
+ "\377d\231\014\377\212\301B\377l\253\020\377h\244\004\377i\240\002\377l\241\002\377"
+ "g\230\001\377r\253\001\377l\246\001\377h\247\002\377e\241\001\377o\250\004\377e\234\002"
+ "\377o\251\011\377s\256\017\377k\251\003\377h\240\001\377k\234\001\377\202\262\002\377"
+ "s\242\002\377h\234\001\377g\245\002\377j\250\002\377p\252\001\377x\260\002\377r\246\001"
+ "\377]\225\002\377g\235\003\377f\232\003\377q\244\002\377q\246\001\377i\245\000\377\245"
+ "\263z\377\321\275\307\377\323\277\313\377\360\345\357\377\362\347\360\377"
+ "\357\345\352\377\342\314\320\377\341\314\314\377\346\315\303\377\231\272"
+ "T\377i\246\014\377g\245\005\377_\224\002\377`\227\001\377d\230\001\377i\234\002\377"
+ "p\243\002\377o\241\002\377o\243\002\377s\255\001\377r\251\001\377q\245\002\377j\236\002"
+ "\377T\223\002\377v\255\002\377j\242\001\377e\241\002\377i\246\004\377f\242\001\377f\236"
+ "\002\377d\227\001\377g\235\001\377d\241\002\377]\234\002\377{\254\060\377\365\362\337"
+ "\377\332\305\277\377\317\265\260\377\330\302\275\377\322\274\272\377\311"
+ "\262\255\377\301\257\251\377\276\264\242\377U\223\002\377]\236\002\377a\237\002"
+ "\377c\234\002\377a\234\002\377a\236\002\377`\225\002\377c\237\001\377c\236\001\377g\244"
+ "\001\377l\243\002\377s\251\001\377{\263\001\377n\240\002\377m\241\001\377j\241\001\377"
+ "k\242\002\377o\251\001\377o\247\001\377k\243\002\377j\240\001\377p\251\001\377y\262\001"
+ "\377x\262\001\377x\262\001\377k\237\002\377j\242\001\377j\240\001\377j\243\002\377j\243"
+ "\002\377m\247\001\377k\242\002\377o\242\001\377s\252\002\377t\244\002\377t\255\002\377"
+ "u\257\001\377k\242\001\377m\247\001\377i\242\001\377l\245\001\377s\255\005\377f\241\001"
+ "\377e\243\001\377i\247\001\377g\243\001\377e\243\002\377d\232\001\377o\247\005\377u\261"
+ "\011\377n\250\001\377n\244\001\377l\242\001\377a\226\002\377u\260\021\377d\245\005\377"
+ "_\241\003\377k\252\022\377n\252\021\377k\243\005\377o\246\001\377t\252\002\377p\251"
+ "\001\377k\243\001\377m\244\002\377k\233\002\377j\235\002\377i\235\002\377q\253\003\377"
+ "y\257\001\377\177\255\001\377\207\264\001\377o\235\002\377e\231\002\377_\222\001\377"
+ "b\234\001\377m\252\001\377u\257\002\377j\234\002\377_\223\001\377n\242\001\377j\237\001"
+ "\377k\242\001\377c\227\002\377_\234\000\377\262\272\213\377\303\254\266\377\324"
+ "\277\312\377\336\316\333\377\372\365\371\377\355\341\351\377\344\321\331"
+ "\377\335\304\310\377\327\277\277\377\347\324\276\377t\247\025\377[\220\001\377"
+ "W\216\000\377a\233\000\377e\234\000\377k\241\000\377p\246\000\377n\243\001\377n\250\001"
+ "\377l\246\002\377n\246\002\377h\235\002\377d\236\001\377_\233\002\377z\260\001\377h\241"
+ "\002\377k\251\006\377x\261\031\377i\245\006\377i\246\003\377b\231\001\377c\235\002\377"
+ "^\233\000\377\217\265?\377\356\344\327\377\323\273\265\377\313\257\246\377"
+ "\341\315\315\377\334\313\315\377\307\263\265\377\266\240\235\377\272\244"
+ "\236\377\313\273\261\377Y\226\011\377_\237\003\377a\232\002\377_\226\001\377]\225"
+ "\002\377b\241\002\377c\237\001\377e\243\001\377c\234\002\377i\240\001\377k\236\002\377"
+ "{\255\002\377\201\263\001\377q\243\002\377q\250\002\377m\245\001\377l\240\001\377n\245"
+ "\001\377p\250\001\377h\235\002\377i\240\002\377q\254\002\377|\264\002\377}\263\002\377"
+ "z\263\001\377n\246\001\377m\245\001\377l\250\000\377h\245\000\377o\247\011\377\203\266"
+ "\035\377|\260\023\377n\241\001\377v\254\001\377x\247\002\377}\256\001\377|\257\001\377"
+ "s\246\002\377t\256\001\377n\245\001\377m\243\001\377j\243\001\377e\234\002\377e\237\002"
+ "\377j\243\001\377q\251\002\377c\236\001\377c\237\001\377k\251\004\377d\242\002\377o\255"
+ "\005\377o\250\002\377p\245\001\377o\243\003\377x\263\012\377g\241\000\377e\246\006\377"
+ "_\240\023\377d\243\024\377g\241\007\377w\255\005\377{\256\001\377z\261\001\377v\257"
+ "\003\377s\254\006\377o\243\005\377k\237\002\377h\234\001\377t\253\003\377\200\265\002\377"
+ "\211\264\001\377\214\263\002\377w\245\001\377k\242\002\377c\227\001\377_\227\001\377"
+ "i\247\001\377p\254\001\377d\225\002\377f\230\002\377o\241\002\377p\247\001\377h\235\002"
+ "\377a\230\001\377U\216\000\377\275\301\232\377\305\247\252\377\303\242\243\377"
+ "\347\325\335\377\364\352\362\377\364\347\357\377\346\323\334\377\312\257"
+ "\264\377\340\313\315\377\316\265\261\377\316\316\230\377Z\214\022\377a\225"
+ "\035\377`\222\"\377`\217&\377m\235\060\377p\242%\377e\235\016\377f\240\012\377"
+ "h\243\010\377c\234\004\377a\223\001\377d\237\001\377e\237\003\377x\261\005\377f\234"
+ "\000\377y\261\040\377r\257\040\377o\257\025\377f\247\005\377e\242\001\377e\235\001\377"
+ "\226\273G\377\354\336\316\377\304\251\245\377\342\311\310\377\327\301\277"
+ "\377\333\310\312\377\327\310\316\377\313\275\302\377\277\256\257\377\271"
+ "\246\242\377\320\276\270\377c\232\013\377d\241\001\377c\227\001\377c\226\002\377"
+ "h\241\001\377e\236\001\377o\256\010\377c\240\001\377a\231\001\377g\242\002\377j\235"
+ "\002\377}\257\001\377\201\263\001\377w\252\002\377q\246\001\377n\246\002\377l\240\002\377"
+ "r\247\001\377r\252\001\377f\232\002\377g\241\002\377v\260\001\377~\261\002\377{\252\001"
+ "\377|\257\001\377u\252\001\377v\263\010\377t\256\014\377x\263\031\377\211\300\063"
+ "\377\205\273+\377~\266\032\377r\254\002\377w\261\001\377|\262\002\377{\255\002\377"
+ "v\250\002\377p\237\001\377y\253\002\377z\252\002\377n\236\001\377l\237\001\377j\241\001"
+ "\377l\243\001\377n\241\002\377p\250\002\377g\235\002\377j\244\004\377m\250\006\377`\232"
+ "\001\377l\251\006\377r\251\001\377{\256\001\377p\241\001\377t\253\004\377o\241\001\377"
+ "m\246\003\377g\245\030\377Y\230\013\377l\246\027\377\211\273%\377\204\267\015\377"
+ "}\262\002\377}\266\012\377z\264\024\377v\260\031\377t\255\026\377\205\274'\377"
+ "\205\275\035\377t\246\001\377\201\255\001\377\221\271\001\377o\237\002\377f\231\002"
+ "\377i\242\001\377d\240\002\377d\243\002\377n\254\002\377j\235\001\377j\231\002\377r\241"
+ "\002\377s\245\001\377i\235\001\377a\230\002\377S\214\000\377\321\316\265\377\316\260"
+ "\263\377\332\277\306\377\366\352\362\377\373\367\372\377\365\355\362\377"
+ "\354\337\345\377\337\311\315\377\317\266\267\377\302\252\244\377\324\271"
+ "\253\377\270\266\232\377emd\377aff\377^bg\377_ej\377gpo\377o\200l\377s\216"
+ "b\377n\217M\377w\240G\377f\226(\377`\225\030\377b\225\021\377v\254\017\377k"
+ "\240\012\377o\246\031\377k\247\030\377h\244\017\377a\233\001\377i\244\000\377\272"
+ "\321u\377\331\304\264\377\301\241\227\377\302\242\232\377\337\313\310\377"
+ "\336\314\316\377\333\313\321\377\341\324\335\377\312\275\310\377\273\254"
+ "\265\377\274\251\253\377\310\266\262\377^\227\014\377c\236\002\377b\226\001\377"
+ "l\242\002\377r\253\001\377l\246\001\377j\252\004\377c\246\002\377`\230\001\377i\243\002"
+ "\377m\237\001\377\200\262\001\377w\247\002\377r\246\002\377p\247\001\377o\244\001\377"
+ "o\241\002\377v\256\002\377x\261\001\377e\233\002\377g\236\001\377u\251\002\377\200\263"
+ "\002\377z\252\001\377\206\272\016\377\203\271\031\377\211\301-\377\200\274-\377"
+ "o\256\027\377k\250\012\377p\255\004\377o\246\003\377m\241\001\377p\245\001\377q\246"
+ "\002\377r\253\002\377p\253\002\377m\236\001\377~\260\001\377|\251\001\377p\234\001\377"
+ "u\250\001\377s\250\001\377q\245\001\377u\252\000\377f\232\001\377r\251\006\377o\247\004"
+ "\377j\241\002\377g\237\001\377i\242\003\377q\250\002\377\205\265\001\377|\256\001\377"
+ "o\246\002\377i\237\001\377i\243\002\377m\252\035\377d\242\040\377o\254*\377l\250"
+ "\027\377\203\265\017\377\204\265\005\377z\255\002\377s\253\006\377v\261\027\377|\266"
+ "!\377~\267\040\377|\267\025\377s\250\000\377x\246\001\377\206\262\002\377z\252\002"
+ "\377i\234\001\377q\253\001\377l\246\001\377k\245\002\377o\252\001\377r\253\001\377o\240"
+ "\001\377u\250\001\377n\240\001\377j\234\002\377e\235\002\377Y\212\000\377\321\311\261"
+ "\377\321\266\271\377\327\277\307\377\347\325\337\377\345\323\336\377\336"
+ "\314\326\377\341\317\327\377\314\271\274\377\271\241\240\377\301\251\250"
+ "\377\212gf\377\306\250\226\377xei\377~ow\377XI\\\377XKa\377[Ne\377XLd\377"
+ "i`r\377tn}\377}{\206\377\201\206\210\377z\205x\377x\212d\377p\222C\377n\226"
+ "?\377f\225,\377l\236.\377d\227\034\377d\226\016\377\271\314q\377\301\254\237"
+ "\377\251\215\213\377\313\261\254\377\330\304\300\377\341\320\320\377\362"
+ "\350\353\377\324\306\316\377\346\332\343\377\311\274\306\377\275\251\262"
+ "\377\271\243\243\377\330\302\274\377i\237\022\377i\240\001\377o\241\002\377y\257"
+ "\001\377n\241\002\377a\227\001\377c\244\001\377g\251\003\377e\235\002\377p\246\001\377"
+ "t\245\002\377\202\263\001\377c\227\002\377f\235\001\377j\245\001\377m\245\002\377o\244"
+ "\001\377z\265\006\377x\262\003\377p\247\002\377p\243\001\377w\252\001\377|\264\000\377"
+ "\202\273\015\377\202\271\027\377v\261\016\377w\261\015\377]\225\000\377c\240\001"
+ "\377i\240\001\377q\244\001\377r\242\002\377x\251\002\377q\240\002\377p\241\001\377l\242"
+ "\002\377n\244\001\377y\253\001\377\201\262\001\377r\240\001\377s\241\002\377v\247\001\377"
+ "q\244\002\377q\246\002\377\201\271\012\377_\222\002\377l\246\004\377l\245\001\377m\241"
+ "\001\377q\251\001\377h\232\001\377s\250\002\377\177\260\001\377\201\263\004\377z\256"
+ "\020\377n\244\014\377g\237\003\377l\246\022\377p\254$\377i\247\034\377c\242\005\377"
+ "n\247\002\377z\253\002\377\200\260\002\377z\255\002\377u\257\006\377y\262\021\377\202"
+ "\273\036\377t\257\013\377u\254\002\377z\252\001\377z\247\002\377\202\261\001\377y\251"
+ "\002\377v\247\001\377t\250\001\377v\243\002\377\177\257\001\377v\251\001\377u\257\001\377"
+ "l\245\001\377h\235\002\377c\226\002\377d\231\001\377[\216\000\377\332\325\272\377\342"
+ "\307\311\377\335\302\307\377\361\345\354\377\375\375\374\377\367\354\363"
+ "\377\357\336\347\377\333\306\312\377\312\260\261\377\262\225\223\377\312"
+ "\260\252\377\317\264\254\377\307\256\254\377\332\306\306\377\321\277\304"
+ "\377\324\312\321\377\260\237\257\377wf\177\377\200m\211\377\233\215\242\377"
+ "\212|\222\377\207v\215\377\201r\206\377\226\207\220\377zoz\377e`h\377ggh"
+ "\377t|r\377\216\227\200\377\313\320\253\377\330\300\271\377\254\214\210\377"
+ "\312\260\254\377\330\303\277\377\323\272\272\377\357\337\343\377\332\311"
+ "\321\377\360\344\355\377\343\330\345\377\311\274\311\377\302\257\267\377"
+ "\305\260\257\377\320\277\264\377^\232\002\377m\243\001\377x\253\002\377z\252\002"
+ "\377m\235\002\377h\240\001\377f\246\001\377d\241\002\377j\250\001\377s\253\001\377x\252"
+ "\001\377~\255\002\377`\223\002\377a\225\001\377d\244\001\377l\252\001\377p\252\001\377"
+ "t\257\002\377q\247\001\377v\256\002\377v\250\001\377\200\267\002\377\201\270\002\377"
+ "\201\271\006\377s\251\002\377q\251\002\377\200\271\013\377e\232\001\377f\233\001\377"
+ "l\243\001\377i\231\002\377o\240\002\377|\255\002\377y\246\002\377r\237\002\377n\236\001"
+ "\377u\250\001\377{\260\002\377z\250\001\377w\241\002\377{\251\001\377w\250\001\377s\247"
+ "\001\377y\260\001\377\202\271\005\377_\223\002\377i\243\002\377p\251\003\377n\237\001\377"
+ "p\247\001\377l\236\001\377r\244\002\377x\252\001\377\177\261\003\377\210\267\027\377"
+ "\221\276\060\377m\243\006\377j\243\003\377w\260\030\377d\243\015\377l\253\017\377"
+ "s\255\006\377r\243\002\377v\253\001\377}\266\014\377k\247\005\377s\255\023\377\204"
+ "\274(\377l\240\012\377q\240\002\377~\255\001\377{\250\002\377x\245\001\377\177\261"
+ "\001\377y\250\002\377x\245\002\377|\247\002\377\204\260\001\377t\243\002\377p\247\002\377"
+ "l\247\001\377d\236\002\377Y\215\001\377]\216\001\377X\217\000\377\326\320\262\377\343"
+ "\303\302\377\354\321\325\377\341\321\333\377\363\353\360\377\353\335\344"
+ "\377\360\335\337\377\340\312\307\377\337\310\304\377\347\317\312\377\353"
+ "\326\323\377\345\323\321\377\360\341\346\377\361\347\354\377\365\360\363"
+ "\377\366\356\363\377\344\327\341\377\340\322\334\377\346\332\343\377\370"
+ "\361\365\377\360\351\355\377\336\322\333\377\303\256\267\377\322\276\275"
+ "\377\312\262\255\377\271\233\220\377\260\223\214\377\232\202\177\377\263"
+ "\235\226\377\301\241\220\377\215oh\377\272\233\226\377\307\256\252\377\333"
+ "\310\310\377\347\327\333\377\364\352\360\377\327\307\321\377\337\320\332"
+ "\377\325\310\326\377\303\263\300\377\277\251\260\377\305\253\252\377\310"
+ "\274\253\377_\240\000\377h\241\001\377k\232\002\377z\251\002\377t\245\001\377n\244"
+ "\001\377g\241\001\377f\236\001\377m\246\001\377u\254\002\377|\254\002\377w\247\001\377"
+ "[\216\002\377^\223\001\377k\250\003\377u\264\004\377r\250\001\377t\252\001\377t\251\001"
+ "\377u\256\001\377u\252\001\377{\260\001\377~\257\001\377\204\264\001\377\203\263\002"
+ "\377\200\263\002\377|\264\003\377a\223\002\377j\242\002\377k\245\002\377m\244\001\377"
+ "w\255\001\377t\245\002\377u\242\002\377w\246\002\377w\247\001\377v\254\001\377o\242\001"
+ "\377r\244\002\377\216\271\016\377\210\264\011\377{\255\002\377\177\267\002\377\201"
+ "\270\002\377~\261\002\377b\237\001\377c\233\002\377h\243\002\377o\252\004\377p\250\001"
+ "\377o\246\002\377q\251\003\377t\245\001\377~\256\001\377\207\265\020\377\226\277."
+ "\377l\240\003\377o\246\003\377t\255\007\377f\244\005\377r\257\022\377m\243\003\377|"
+ "\257\002\377w\255\001\377m\247\003\377\213\270\064\377p\251\033\377\200\271)\377"
+ "d\231\003\377k\235\002\377r\251\002\377r\251\002\377o\243\001\377u\253\000\377x\257\001"
+ "\377v\255\001\377w\256\001\377u\254\002\377m\241\001\377n\237\001\377r\255\002\377`\226"
+ "\002\377Y\214\002\377_\220\002\377[\220\000\377\305\307\223\377\344\277\273\377\352"
+ "\313\312\377\337\312\322\377\356\341\351\377\354\336\340\377\362\337\334"
+ "\377\362\343\337\377\367\356\355\377\342\316\317\377\277\245\247\377\344"
+ "\320\324\377\365\356\360\377\271\244\260\377\364\355\360\377\324\300\314"
+ "\377\342\322\334\377\360\346\354\377\357\345\352\377\305\263\272\377\352"
+ "\340\344\377\353\336\341\377\314\262\262\377\334\305\301\377\347\323\315"
+ "\377\342\313\302\377\334\300\263\377\343\303\257\377\333\274\243\377\303"
+ "\242\212\377\312\254\232\377\306\251\237\377\277\244\236\377\354\331\332"
+ "\377\332\305\314\377\356\342\352\377\332\311\323\377\320\276\311\377\306"
+ "\266\302\377\276\254\265\377\302\252\256\377\321\270\263\377\267\270\214"
+ "\377b\244\000\377i\243\001\377j\232\001\377|\255\002\377w\253\002\377l\235\001\377h\231"
+ "\002\377i\235\001\377l\237\001\377u\251\002\377{\256\001\377k\233\002\377Z\216\001\377"
+ "m\250\010\377x\266\014\377p\252\002\377r\246\002\377s\247\002\377v\260\002\377}\270"
+ "\013\377u\253\002\377{\256\001\377|\255\002\377z\246\002\377\203\261\002\377\216\275"
+ "\002\377u\260\002\377c\225\002\377l\245\001\377q\255\002\377o\247\001\377x\264\002\377"
+ "j\240\001\377k\235\002\377m\236\002\377t\251\001\377s\254\002\377n\245\001\377o\243\001"
+ "\377\221\302\036\377\203\266\011\377\202\267\003\377\202\272\004\377|\260\001\377"
+ "|\254\002\377g\243\002\377h\241\002\377e\236\001\377\200\270\016\377w\257\004\377o\247"
+ "\002\377q\250\002\377r\246\001\377|\253\002\377\211\267\016\377\177\255\013\377p\242"
+ "\003\377k\242\001\377i\243\002\377k\251\005\377j\250\005\377k\243\003\377u\254\001\377"
+ "r\246\001\377\204\256\022\377\260\277]\377q\250\"\377\202\271/\377n\246\006\377"
+ "o\245\001\377o\245\001\377u\254\012\377z\261\025\377r\254\015\377l\251\006\377k\247"
+ "\002\377u\262\011\377o\255\006\377i\244\001\377l\245\001\377l\245\002\377g\240\001\377"
+ "c\227\001\377^\217\002\377V\215\000\377\255\271x\377\340\270\262\377\337\275\266"
+ "\377\360\334\334\377\360\340\342\377\361\342\341\377\340\313\315\377\355"
+ "\340\341\377\370\360\360\377\272\230\234\377\311\255\261\377\367\355\356"
+ "\377\334\310\312\377\344\323\331\377\345\330\336\377\320\276\311\377\352"
+ "\334\345\377\330\307\315\377\261\233\243\377\317\276\276\377\375\373\373"
+ "\377\336\314\316\377\221wx\377\317\272\264\377\347\333\327\377\353\333\327"
+ "\377\353\326\314\377\336\303\261\377\344\304\254\377\351\314\262\377\357"
+ "\327\302\377\325\273\254\377\332\304\274\377\346\324\325\377\326\302\312"
+ "\377\353\335\350\377\350\334\345\377\275\254\270\377\276\255\273\377\274"
+ "\250\263\377\317\267\271\377\340\304\303\377\235\261_\377a\237\000\377f\233"
+ "\002\377u\251\002\377\204\265\002\377o\237\001\377l\236\001\377i\232\001\377k\241\002\377"
+ "o\244\001\377p\246\001\377p\246\001\377i\231\001\377l\242\006\377y\264\022\377p\254"
+ "\003\377q\255\001\377o\245\001\377q\253\001\377u\262\004\377m\246\002\377n\245\001\377"
+ "z\257\001\377w\246\002\377i\223\002\377|\255\001\377\206\272\003\377\200\272\023\377"
+ "h\234\000\377k\242\002\377w\262\002\377\201\271\001\377o\252\002\377q\260\014\377i\241"
+ "\002\377o\243\001\377s\247\001\377t\254\001\377p\243\001\377v\246\001\377\212\275\004\377"
+ "\206\272\003\377\177\264\001\377|\257\001\377w\245\002\377u\247\001\377b\235\002\377"
+ "e\237\002\377d\231\002\377\200\267\022\377z\260\011\377i\237\001\377k\244\002\377s"
+ "\253\003\377u\251\001\377~\261\005\377q\247\001\377g\235\001\377h\235\002\377e\231\001"
+ "\377j\246\004\377g\245\005\377f\245\010\377g\244\005\377c\231\001\377\241\263,\377"
+ "z\244\036\377e\241\016\377u\260\027\377w\254\010\377w\244\001\377\204\264\021\377"
+ "\213\272%\377\203\265\032\377i\242\005\377Z\224\001\377b\233\001\377r\253\001\377"
+ "s\247\001\377l\240\001\377h\243\001\377d\234\002\377f\241\001\377f\236\005\377\\\216"
+ "\006\377W\205\023\377\224\243p\377\352\310\312\377\312\245\250\377\356\330\330"
+ "\377\355\334\332\377\332\312\307\377\307\263\261\377\370\362\362\377\320"
+ "\272\266\377\247zr\377\365\341\335\377\344\315\313\377\335\311\311\377\343"
+ "\326\334\377\345\327\340\377\351\333\343\377\360\346\354\377\355\343\350"
+ "\377\336\317\320\377\374\361\357\377\374\367\365\377\334\307\277\377\207"
+ "g[\377\303\246\233\377\367\360\355\377\333\312\305\377\311\262\254\377\331"
+ "\301\267\377\342\310\267\377\316\261\236\377\341\305\261\377\363\346\327"
+ "\377\356\340\327\377\356\341\336\377\345\325\330\377\342\323\334\377\325"
+ "\306\324\377\267\245\265\377\274\251\271\377\277\255\272\377\337\306\304"
+ "\377\347\315\306\377p\236\026\377e\234\000\377j\241\001\377{\262\001\377\200\264"
+ "\001\377t\245\002\377o\242\002\377k\243\001\377q\256\002\377p\256\001\377m\247\001\377"
+ "p\251\001\377q\246\002\377\202\264\011\377m\241\004\377m\246\001\377m\252\002\377g\242"
+ "\002\377k\247\002\377k\250\002\377d\234\002\377t\253\003\377\177\264\002\377w\247\001\377"
+ "p\240\001\377z\257\002\377y\256\001\377\177\270\010\377r\244\002\377|\256\001\377\206"
+ "\273\002\377\203\263\000\377q\246\002\377u\261\011\377k\247\001\377p\251\001\377t\247"
+ "\001\377u\254\001\377z\253\001\377\205\271\001\377\205\272\002\377~\263\001\377|\260"
+ "\001\377}\260\002\377r\243\001\377s\247\002\377_\236\004\377c\232\001\377l\243\001\377"
+ "u\254\006\377~\265\024\377b\232\002\377e\237\001\377m\253\007\377r\255\005\377y\263"
+ "\011\377i\242\002\377e\235\003\377d\232\002\377i\235\001\377q\252\006\377k\246\004\377"
+ "b\236\002\377k\245\013\377h\234\002\377\213\247\015\377e\227\000\377c\232\002\377h"
+ "\241\003\377v\255\007\377u\252\002\377x\256\011\377k\240\002\377~\261\001\377t\247\001"
+ "\377]\226\001\377b\232\001\377m\247\001\377u\251\001\377v\253\001\377n\245\001\377c\235"
+ "\002\377g\244\024\377i\234*\377b\220\063\377r\212b\377\200\203~\377\340\303\304"
+ "\377\347\325\324\377\371\363\363\377\366\356\357\377\352\331\336\377\365"
+ "\353\354\377\376\373\372\377\344\323\313\377\252\200i\377\354\322\310\377"
+ "\340\310\305\377\341\315\317\377\353\336\345\377\341\322\334\377\350\333"
+ "\343\377\346\330\340\377\332\311\322\377\323\277\301\377\332\302\277\377"
+ "\361\335\321\377\341\307\265\377\204V;\377\330\275\252\377\375\375\375\377"
+ "\354\340\334\377\270\234\233\377\302\246\243\377\317\270\261\377\351\323"
+ "\304\377\340\305\257\377\347\314\272\377\365\352\341\377\353\340\332\377"
+ "\373\364\363\377\360\350\353\377\303\255\274\377\263\235\255\377\267\242"
+ "\261\377\315\262\270\377\336\275\257\377\316\277\230\377h\237\005\377i\237"
+ "\001\377u\261\006\377s\252\002\377|\263\001\377x\253\002\377v\262\002\377q\254\002\377"
+ "u\256\004\377|\261\003\377v\252\001\377r\252\001\377r\253\002\377n\242\001\377i\232\002"
+ "\377n\245\002\377p\252\001\377l\247\002\377k\250\001\377l\251\001\377l\245\002\377u\254"
+ "\003\377\200\265\004\377s\242\001\377r\241\001\377v\256\001\377u\255\004\377\216\304"
+ "&\377x\255\016\377\224\303\034\377\204\265\000\377\177\260\001\377{\255\001\377y"
+ "\257\002\377n\247\002\377s\253\002\377x\254\002\377\177\263\001\377\207\273\001\377\207"
+ "\274\002\377\203\271\001\377}\260\001\377\203\272\003\377{\256\001\377o\242\001\377t"
+ "\253\001\377r\254!\377f\232\000\377q\246\001\377q\247\001\377\202\271\031\377m\252"
+ "\007\377c\241\003\377`\233\002\377i\247\003\377v\262\014\377n\246\002\377e\235\002\377"
+ "l\244\010\377o\247\007\377r\252\005\377i\241\002\377\\\225\001\377p\247\027\377p\241"
+ "\014\377u\243\011\377j\230\001\377k\241\002\377r\252\012\377o\251\007\377j\236\001\377"
+ "n\240\002\377x\250\001\377\200\255\002\377\203\262\001\377Y\224\001\377Y\225\001\377"
+ "d\241\001\377j\237\001\377o\241\001\377q\246\001\377i\242\002\377h\242\030\377r\222"
+ "g\377{\214\200\377\177\201\210\377\254\235\246\377\346\321\315\377\374\367"
+ "\365\377\370\361\361\377\277\250\250\377v[\\\377}db\377\272\241\225\377\363"
+ "\325\307\377\345\301\253\377\364\332\313\377\343\306\275\377\344\313\311"
+ "\377\336\311\316\377\334\313\323\377\344\322\332\377\316\271\301\377\326"
+ "\302\305\377\315\266\264\377\323\273\260\377\353\320\301\377\316\255\226"
+ "\377\216dD\377\372\357\346\377\365\354\347\377\344\330\326\377\331\307\307"
+ "\377\352\332\327\377\320\267\261\377\340\311\274\377\331\277\250\377\335"
+ "\301\255\377\361\341\323\377\346\322\311\377\361\341\337\377\346\324\327"
+ "\377\317\273\306\377\263\233\250\377\274\240\246\377\340\276\263\377\352"
+ "\306\275\377\231\261I\377m\247\002\377i\237\001\377n\250\001\377q\243\001\377\177"
+ "\265\001\377z\256\002\377r\253\001\377o\237\001\377t\243\002\377\201\257\004\377\205"
+ "\270\012\377y\261\010\377p\252\007\377c\234\002\377d\234\002\377s\255\001\377v\252"
+ "\002\377z\261\001\377s\253\001\377p\250\002\377r\251\002\377}\263\007\377~\263\002\377"
+ "|\255\003\377z\247\001\377\201\262\001\377z\257\002\377\200\271\037\377\210\276\063"
+ "\377\230\310>\377z\256\000\377{\254\001\377r\240\002\377r\246\001\377r\255\001\377"
+ "u\261\002\377v\256\003\377\205\271\001\377\213\276\001\377~\254\001\377\201\263\002\377"
+ "\202\265\002\377\207\275\006\377{\256\001\377s\252\001\377n\247\001\377|\265\061\377"
+ "m\250\013\377f\234\001\377o\250\006\377\204\272\040\377\177\266\033\377r\253\017"
+ "\377l\245\012\377q\251\014\377z\261\016\377r\255\010\377d\237\001\377j\245\010\377"
+ "{\260\024\377|\257\022\377s\246\020\377U\221\005\377h\235\020\377x\247\023\377r"
+ "\243\014\377f\234\002\377o\247\001\377p\251\001\377l\241\001\377q\245\001\377t\242\002"
+ "\377\200\262\003\377s\241\002\377x\252\003\377k\240\006\377c\230\001\377d\232\002\377"
+ "j\244\001\377j\241\002\377g\236\002\377j\244\010\377s\240\060\377|\204\205\377||"
+ "\207\377\212\177\220\377\326\307\313\377\370\353\351\377\372\361\354\377"
+ "\310\244\224\377O/$\377#\011\003\377#\014\005\377\024\000\000\377D%\035\377\330\261\233"
+ "\377\377\366\347\377\342\314\300\377\333\277\272\377\333\305\305\377\330"
+ "\276\302\377\276\247\255\377\276\250\251\377\275\243\240\377\337\307\274"
+ "\377\360\334\316\377\355\323\277\377\325\260\221\377\343\303\251\377\306"
+ "\257\237\377\251\221\210\377\266\241\235\377\274\250\251\377\343\326\327"
+ "\377\350\330\327\377\337\312\303\377\334\301\264\377\323\272\246\377\324"
+ "\271\247\377\372\362\354\377\357\337\340\377\315\266\303\377\266\233\254"
+ "\377\257\220\234\377\323\253\236\377\341\270\250\377\333\306\255\377f\235"
+ "\000\377m\247\002\377l\244\001\377q\254\001\377v\256\001\377x\262\002\377o\247\001\377"
+ "j\243\001\377o\242\001\377q\237\001\377u\243\001\377v\254\002\377\200\271\033\377~\267"
+ "-\377f\237\004\377e\233\001\377s\252\002\377|\257\001\377~\260\001\377|\256\001\377y"
+ "\254\001\377}\257\001\377\203\270\005\377}\260\001\377}\256\002\377\202\263\001\377\177"
+ "\256\002\377t\247\006\377\207\300/\377\205\276\066\377\210\302\062\377r\252\000\377"
+ "s\254\001\377s\255\003\377m\250\001\377p\255\004\377n\247\002\377\203\266\001\377\211"
+ "\275\002\377\205\267\001\377|\252\002\377\201\264\001\377\204\267\006\377|\257\001\377"
+ "{\260\002\377v\262\002\377q\251\001\377~\267!\377u\260\015\377`\225\001\377c\234\003"
+ "\377\201\266\031\377\214\276'\377\200\265\034\377\177\264\036\377\200\265\035"
+ "\377\200\266\030\377t\256\011\377c\235\002\377_\230\001\377d\241\002\377w\254\034"
+ "\377w\251)\377V\217\016\377p\241\030\377\205\255\034\377\217\265,\377o\245\020"
+ "\377t\256\012\377q\254\002\377m\244\002\377w\253\006\377~\257\004\377x\255\003\377m"
+ "\246\010\377m\245\015\377\202\263\"\377\203\262$\377d\226\002\377g\240\003\377"
+ "X\215\001\377f\235\024\377d\226'\377\177\217w\377\200|\207\377\210}\216\377"
+ "\241\225\237\377\362\342\333\377\350\321\313\377\355\323\306\377\236n[\377"
+ "\071\025\020\377bA+\377\320\307\317\377\244\241\267\377bLB\377M(\032\377\376"
+ "\354\330\377\355\317\271\377\373\352\337\377\326\254\225\377\347\315\277"
+ "\377\323\270\260\377\340\305\272\377\325\270\254\377\372\365\357\377\375"
+ "\372\364\377\365\336\307\377\300\241\207\377;&\035\377\034\006\014\377\"\012\017"
+ "\377\040\010\010\377<&#\377\234\204}\377\346\326\324\377\350\332\326\377\310"
+ "\256\241\377\352\322\302\377\334\303\256\377\363\344\327\377\371\363\360"
+ "\377\340\317\325\377\267\234\254\377\323\262\264\377\345\277\264\377\354"
+ "\317\304\377pdJ\377s\255\000\377q\246\001\377w\255\003\377z\266\005\377s\256\001\377"
+ "u\261\005\377i\243\002\377l\241\002\377x\253\001\377{\251\002\377~\253\002\377z\253\001"
+ "\377n\246\002\377n\252\034\377\207\275\071\377j\240\002\377{\257\001\377\207\267"
+ "\002\377\177\255\001\377z\255\002\377|\261\002\377~\260\001\377\212\276\010\377|\257"
+ "\002\377{\254\001\377\203\270\004\377y\257\007\377t\256\016\377\217\306?\377\207\300"
+ ";\377x\265\036\377r\261\001\377p\254\001\377r\260\007\377m\254\007\377i\243\001\377"
+ "~\260\001\377\230\303\002\377\177\256\001\377u\246\001\377t\252\004\377\212\301\036"
+ "\377\211\300\034\377y\260\003\377{\257\001\377z\261\001\377s\250\001\377x\257\013\377"
+ "|\262\005\377e\236\002\377c\235\003\377w\255\011\377\206\270\030\377}\262\017\377"
+ "s\253\011\377g\237\002\377z\260\022\377~\264\025\377e\240\006\377^\234\003\377b\237"
+ "\004\377h\240\011\377e\236\021\377R\217\006\377a\230\016\377\221\264\063\377\204"
+ "\252*\377{\253\"\377v\255\031\377c\240\006\377m\251\022\377\203\266\"\377\210"
+ "\267\026\377w\250\002\377m\242\002\377r\251\013\377\203\266)\377\206\265\063\377"
+ "Y\211\001\377h\236\025\377h\232\034\377w\243<\377x\222\\\377\201{\206\377\205"
+ "w\210\377\226\203\223\377\301\260\265\377\267\237\245\377\372\362\357\377"
+ "\371\361\355\377\241\200}\377nP:\377\273\253|\377\307\305\260\377\247\251"
+ "\276\377\322\322\324\377\204dN\377\374\342\313\377\366\327\271\377\366\323"
+ "\260\377\366\320\252\377\370\334\276\377\366\335\306\377\357\317\275\377"
+ "\367\342\321\377\375\377\375\377\372\352\330\377\225t\\\377\065\034\015\377"
+ "B/'\377\201u{\377ymy\377^H@\377/\023\014\377\067\033\025\377\251\210u\377\333"
+ "\311\300\377\350\327\314\377\315\260\242\377\332\301\263\377\354\336\321"
+ "\377\340\317\310\377\351\331\331\377\322\261\262\377\353\303\261\377\373"
+ "\343\326\377\254zc\377\201tC\377y\261\011\377w\250\001\377{\257\003\377z\263\004"
+ "\377v\260\002\377t\257\001\377q\253\001\377o\246\002\377w\253\001\377\177\260\000\377"
+ "\177\255\001\377w\247\001\377n\245\001\377b\233\001\377\202\271)\377w\256\007\377~"
+ "\261\001\377\204\265\001\377\177\260\001\377{\254\001\377\200\262\001\377\200\262\001"
+ "\377\211\300\010\377u\250\002\377t\245\001\377\202\271\001\377}\267\015\377\204\276"
+ "\071\377\244\325`\377\217\307C\377x\265\024\377t\262\003\377y\265\006\377|\266"
+ "\015\377p\247\002\377s\251\001\377\206\270\002\377\204\264\002\377x\253\000\377{\262"
+ "\023\377\222\306=\377~\272\025\377q\252\001\377u\246\001\377~\257\001\377}\263\001"
+ "\377v\253\001\377p\247\007\377\202\265\007\377g\242\012\377c\240\007\377r\253\007\377"
+ "y\260\012\377\202\265\022\377p\247\006\377d\235\003\377v\255\025\377\200\266\036"
+ "\377t\254\017\377q\251\016\377b\231\001\377c\231\002\377^\233\007\377J\214\003\377"
+ "X\225\017\377\204\257\061\377e\226\024\377l\237\035\377v\252(\377`\233\016\377"
+ "t\257'\377|\262\"\377}\260\025\377r\243\002\377m\237\002\377r\247\005\377\203\270"
+ "\040\377w\255\031\377Y\222\005\377k\240#\377l\235/\377v\225^\377\200\200\211"
+ "\377~v\203\377\213|\215\377\234\210\225\377\271\241\246\377\321\272\270\377"
+ "\344\316\314\377\363\354\354\377\336\322\321\377\231\210\201\377\334\330"
+ "\273\377\346\340\303\377\355\347\314\377\333\321\303\377\265\225\215\377"
+ "\362\320\274\377\366\331\276\377\364\321\262\377\363\310\250\377\362\313"
+ "\250\377\362\316\261\377\365\326\303\377\341\271\251\377\357\320\265\377"
+ "tTJ\377)\031\034\377kZ\070\377\275\265\237\377\315\316\341\377\265\266\322\377"
+ "\325\327\333\377\213mK\377\067\031\024\377tL?\377\313\252\231\377\307\251\224"
+ "\377\262\217{\377\320\263\242\377\343\315\301\377\346\330\322\377\332\302"
+ "\303\377\306\225\203\377\330\246\211\377\371\343\323\377\303\242\223\377"
+ "\225\224y\377x\246-\377u\246\012\377\177\263\013\377{\257\004\377z\255\002\377"
+ "z\263\002\377x\263\003\377p\251\001\377s\253\001\377z\254\001\377}\255\001\377x\247\001"
+ "\377q\242\001\377u\247\001\377{\260\003\377~\263\003\377\177\261\001\377\203\264\001"
+ "\377\202\263\001\377~\250\002\377\203\263\002\377\201\264\001\377\205\273\004\377u"
+ "\250\001\377z\253\002\377\202\265\002\377\202\270\007\377\214\304K\377\227\314W\377"
+ "{\272$\377r\261\006\377r\255\001\377u\260\003\377t\254\002\377\177\257\001\377\212"
+ "\275\002\377\177\262\001\377v\256\001\377w\262\012\377\224\310D\377\213\300\064\377"
+ "u\260\000\377u\254\001\377z\256\001\377~\255\001\377\201\266\001\377v\250\002\377v\244"
+ "\002\377\207\267\022\377o\250!\377W\225\003\377h\245\016\377l\247\014\377|\263\037"
+ "\377m\247\024\377l\247\033\377j\246\026\377\200\266%\377n\243\006\377\203\264"
+ "\037\377l\241\013\377b\233\007\377^\233\023\377P\220\004\377Z\231\005\377n\243\017"
+ "\377y\253\036\377n\237\025\377x\253,\377d\234\034\377\205\274;\377{\262\"\377"
+ "x\256\032\377`\226\003\377[\213\001\377V\210\001\377y\254\060\377\177\264!\377\177"
+ "\263(\377{\253=\377}\247V\377\177\213\177\377\203~\213\377\207{\214\377\214"
+ "|\215\377\305\257\260\377\256\221\221\377\301\243\231\377\275\235\220\377"
+ "\303\247\236\377\325\300\273\377\353\334\332\377\370\364\360\377\374\373"
+ "\365\377\364\346\330\377\326\254\235\377\310\241\242\377\332\262\261\377"
+ "\341\273\274\377\333\265\267\377\314\247\254\377\266\216\217\377\323\240"
+ "\177\377\341\301\262\377\277\232\225\377\220b_\377oCF\377\213cP\377\264\241"
+ "\202\377\333\324\262\377\330\327\312\377\341\342\331\377\343\345\333\377"
+ "\276\270\235\377\202hW\377\347\332\321\377\364\351\340\377\312\262\250\377"
+ "\245\215\203\377\317\265\247\377\324\274\261\377\344\322\313\377\347\324"
+ "\320\377\305\236\216\377\331\271\247\377\345\311\267\377\264\201l\377\223"
+ "\220\221\377\207\237|\377v\242\067\377t\251\017\377r\250\002\377p\246\001\377r"
+ "\257\002\377m\251\004\377q\256\002\377x\256\001\377y\245\002\377}\251\001\377|\252\001"
+ "\377{\247\002\377{\252\002\377{\253\001\377\177\266\003\377\207\301\015\377\207\273"
+ "\005\377\203\262\000\377\201\254\001\377\200\257\002\377~\261\001\377\177\270\003\377"
+ "t\247\001\377{\254\001\377\201\265\002\377\227\311/\377\203\273\063\377\210\301"
+ "E\377v\265\037\377q\255\003\377s\255\001\377u\261\002\377}\265\001\377\214\276\001\377"
+ "\203\264\001\377w\254\001\377y\267\016\377\233\320R\377\203\273)\377s\257\005\377"
+ "r\256\001\377w\261\001\377v\245\001\377~\256\001\377~\257\001\377{\252\002\377\221\263"
+ "\001\377\200\256\012\377\203\267D\377V\225\016\377Y\230\014\377_\236\016\377s\256"
+ "&\377y\256\032\377\206\270\040\377q\246\006\377}\263\033\377r\250\022\377~\262"
+ ".\377\210\272G\377\214\275U\377\204\270N\377Z\226\007\377Z\223\001\377a\231\001"
+ "\377t\247\030\377y\247\036\377y\252'\377m\242!\377\177\266.\377i\240\011\377"
+ "v\254#\377`\227\020\377U\206\001\377Q\177\004\377\210\264X\377r\245\023\377\205"
+ "\266$\377~\254\071\377{\226n\377{v\204\377\214\177\216\377\214{\213\377\270"
+ "\242\251\377\260\224\225\377\260\217\216\377\303\241\230\377\324\265\253"
+ "\377\323\265\260\377\326\272\266\377\340\310\304\377\354\326\320\377\360"
+ "\340\330\377\357\334\314\377\366\335\302\377\302|]\377\304\177a\377\362\253"
+ "\227\377\365\263\241\377\314\222\202\377\231f`\377\227fW\377\310\240\211"
+ "\377\261\220\206\377\265\224\215\377\246gY\377\376\354\315\377\373\367\346"
+ "\377\356\352\330\377\357\350\323\377\360\350\325\377\347\340\321\377\324"
+ "\316\307\377\366\361\360\377\351\335\335\377\343\321\317\377\353\332\327"
+ "\377\240\214\214\377t]_\377\326\301\274\377\343\323\315\377\330\305\277\377"
+ "\257\214\201\377\265\224\202\377\241xa\377\216jW\377\201y\201\377\235\240"
+ "\247\377\224\251\207\377{\253\063\377n\244\015\377r\253\010\377q\255\007\377f"
+ "\236\005\377l\242\001\377{\256\002\377y\245\001\377\201\255\001\377~\250\001\377|\251"
+ "\001\377z\250\001\377|\254\001\377\203\274\013\377\207\300\032\377\200\270\013\377"
+ "\203\272\013\377\200\262\002\377x\250\001\377x\255\001\377q\245\001\377p\240\001\377"
+ "\202\264\017\377\233\312\062\377z\257\005\377{\263\026\377g\245\034\377\177\272"
+ "\067\377s\260\016\377u\260\002\377y\263\002\377\200\266\002\377\206\270\002\377|\254"
+ "\002\377t\251\002\377w\263\013\377\211\277(\377\217\302)\377|\263\012\377x\262"
+ "\001\377u\254\002\377u\252\002\377z\257\002\377}\262\001\377\177\261\002\377\234\277"
+ "\002\377\177\261\027\377\210\274K\377a\234'\377m\244\061\377~\264\065\377\210"
+ "\272\013\377\222\276\003\377\210\263\001\377\177\256\017\377\203\264\033\377u\251"
+ "\011\377p\246\011\377x\257\022\377\202\266\034\377v\253\012\377h\236\001\377g\236"
+ "\002\377h\243\002\377r\251\013\377v\254\017\377s\252\021\377~\265)\377{\263'\377"
+ "^\227\004\377n\243\035\377\177\264\070\377[\213\003\377Nx\007\377t\246\070\377n\240"
+ ")\377\177\253\064\377\203\245R\377\215\224\221\377\202v\202\377\217\200\217"
+ "\377\251\227\237\377\317\273\274\377\246\221\226\377\302\252\251\377\340"
+ "\306\277\377\355\327\317\377\324\271\261\377\306\250\244\377\340\313\305"
+ "\377\354\331\316\377\361\341\324\377\375\374\366\377\372\365\357\377\215"
+ "fX\377X%\033\377\310eE\377\260aF\377\033\005\001\377@\033\013\377B\034\027\377\316"
+ "\237~\377\361\323\265\377\366\347\324\377\326\265\253\377\354\332\316\377"
+ "\366\351\343\377\361\344\336\377\356\337\330\377\341\320\311\377\326\301"
+ "\271\377\311\260\251\377\243\204\200\377\211lg\377\252\217\210\377\301\252"
+ "\236\377\301\255\242\377ubd\377\262\234\226\377\336\313\304\377\343\317\311"
+ "\377\242\206\204\377mUK\377Q\065$\377`J=\377\203v\203\377\237\230\246\377"
+ "\246\245\255\377\237\254\227\377\206\250R\377r\242\021\377~\260\021\377n\240"
+ "\003\377q\241\001\377z\257\001\377x\246\002\377~\257\001\377t\242\001\377s\246\001\377"
+ "|\261\002\377\204\267\004\377\205\270\004\377\216\300\027\377{\257\006\377\201\267"
+ "\017\377~\262\001\377}\257\001\377{\255\002\377s\243\000\377~\264\023\377\242\317a"
+ "\377\212\270\036\377|\256\000\377m\243\002\377\\\226\000\377w\264\040\377\200\273"
+ "%\377}\265\006\377\203\271\001\377\203\265\001\377|\255\001\377w\250\002\377u\253\001"
+ "\377s\255\001\377{\266\005\377~\264\005\377}\260\001\377\177\263\001\377v\247\002\377"
+ "s\247\002\377z\253\001\377\202\261\000\377}\254\002\377\231\276\001\377\200\267\062"
+ "\377q\251#\377\205\272/\377\225\305!\377\210\272\011\377x\255\002\377r\246\001"
+ "\377}\257\013\377\207\270%\377\204\265\030\377\201\263\013\377\215\274\032\377"
+ "\233\307\065\377\227\304/\377\217\300\"\377\202\264\014\377r\251\000\377q\255"
+ "\014\377{\265(\377k\245\025\377e\235\021\377\206\272<\377\213\276G\377i\241"
+ "\035\377l\240\033\377\225\303V\377o\240\037\377i\223%\377z\243K\377\201\247"
+ "Y\377\201\244a\377\212\230\210\377\212\204\217\377\237\222\236\377\212y\204"
+ "\377\266\243\245\377\313\267\264\377\253\216\221\377\272\240\233\377\266"
+ "\234\224\377\265\235\225\377\271\241\235\377\306\255\250\377\364\346\333"
+ "\377\336\276\261\377\361\330\305\377\371\365\361\377\375\375\376\377\377"
+ "\377\377\377\240ru\377\230J\067\377\232VD\377uZc\377\320\300\276\377\375\365"
+ "\353\377\377\377\370\377\372\363\340\377\370\347\322\377\360\334\313\377"
+ "\351\323\312\377\351\324\317\377\300\244\245\377\271\235\235\377\317\265"
+ "\261\377\320\265\257\377\301\245\240\377\306\253\242\377\260\222\206\377"
+ "\236\202u\377\233\201u\377\245\214\177\377\226~y\377yab\377\307\262\256\377"
+ "\310\262\257\377\315\270\263\377\231\203}\377_HB\377eOE\377\224\203\210\377"
+ "\214\177\215\377\232\223\242\377\237\237\250\377\223\236\225\377\206\247"
+ "T\377\205\265%\377z\253\002\377{\251\002\377\177\261\001\377~\261\001\377{\261\002"
+ "\377q\245\001\377s\253\003\377|\264\003\377\204\266\003\377\204\262\002\377\205\265"
+ "\005\377\177\262\005\377|\262\012\377~\270\017\377{\256\002\377z\252\002\377w\256\000"
+ "\377\177\267!\377\220\302<\377z\246\000\377|\256\001\377e\226\001\377j\237\001\377"
+ "|\267\012\377\201\271\024\377\204\274\013\377\204\266\001\377}\261\001\377t\252"
+ "\001\377q\246\001\377v\257\001\377x\261\001\377x\255\001\377|\254\001\377\204\270\001\377"
+ "\201\262\001\377y\250\001\377r\242\001\377\216\275\030\377\217\275\015\377t\246\001"
+ "\377\221\274\001\377t\255\035\377\214\300\060\377\202\266\032\377o\250)\377\\"
+ "\227\033\377Y\225\024\377k\243\022\377r\251\011\377y\253\002\377\202\263\002\377"
+ "\216\275\021\377\210\272&\377\207\266\067\377\204\263\066\377\210\267:\377~"
+ "\257\037\377|\256\000\377~\261$\377t\246)\377w\246\063\377u\243/\377\202\256"
+ "\062\377\230\301T\377\210\264>\377\205\266=\377\213\274H\377s\250\064\377h"
+ "\232,\377w\231\\\377\203\232z\377\213\226\213\377\217\212\225\377\227\212"
+ "\232\377\232\214\230\377ucq\377\276\254\251\377\271\243\244\377\264\236\240"
+ "\377\321\271\254\377\257\227\222\377\256\225\222\377\244\214\211\377\370"
+ "\360\355\377\374\367\356\377\367\344\321\377\342\303\261\377\371\364\363"
+ "\377\375\375\375\377\376\376\376\377\304\266\300\377T/<\377\202cr\377\363"
+ "\360\363\377\376\376\376\377\375\375\375\377\376\375\373\377\336\303\257"
+ "\377\323\250\217\377\301\235\222\377\331\275\264\377\371\356\350\377\337"
+ "\313\311\377\267\240\242\377\302\247\245\377\274\242\237\377\322\274\272"
+ "\377\310\262\260\377\264\232\224\377\241\204}\377\273\247\227\377\212qi\377"
+ "\220uq\377nXX\377\262\236\226\377\260\233\226\377\325\300\275\377\331\305"
+ "\303\377\241\211\212\377\202jg\377\217{z\377\217\200\213\377\220\205\226"
+ "\377\220\212\232\377\222\222\234\377\221\235\225\377\207\256T\377z\252\017"
+ "\377v\244\001\377\177\260\003\377{\253\001\377y\256\001\377t\245\001\377w\254\001\377"
+ "|\254\002\377\203\263\001\377\201\260\001\377~\255\001\377\210\271\012\377\222\303"
+ "-\377}\264\032\377z\261\016\377~\256\001\377{\257\001\377\202\273\017\377}\257\011"
+ "\377|\253\001\377z\251\002\377Z\222\001\377q\251\001\377\200\267\002\377\200\265\001"
+ "\377~\261\001\377y\254\002\377v\257\001\377r\251\001\377q\243\002\377|\254\002\377\201"
+ "\262\001\377~\253\002\377\202\263\001\377\202\264\001\377\177\264\001\377z\260\001\377"
+ "t\251\001\377\200\271\024\377z\262\007\377t\247\002\377\215\273\007\377|\267)\377"
+ "b\236\022\377j\242,\377u\253@\377a\231*\377q\246\071\377\205\266+\377v\250"
+ "\017\377f\227\001\377\201\257\001\377\214\275\003\377{\260\015\377_\230\014\377m\244"
+ "!\377k\241\032\377Y\217\004\377\211\267\000\377\210\270\070\377\203\262?\377\234"
+ "\310\\\377\221\275@\377\201\260,\377\213\270?\377\204\263B\377q\244\064\377"
+ "p\244\060\377l\237*\377p\235?\377p\206m\377\205\214\216\377\222\217\235\377"
+ "\221\206\227\377\233\217\236\377\207{\207\377\224\206\215\377\312\270\263"
+ "\377\264\243\240\377\314\263\250\377\320\261\235\377zYN\377yc^\377\352\342"
+ "\341\377\344\316\303\377\337\300\261\377\345\310\274\377\367\351\344\377"
+ "\375\375\374\377\373\367\370\377\374\371\373\377\344\334\347\377\200g|\377"
+ "\314\276\312\377\360\353\355\377\374\371\372\377\373\371\372\377\363\346"
+ "\342\377\324\261\233\377\354\314\261\377\312\245\221\377\325\271\247\377"
+ "\321\261\237\377\353\326\316\377\325\306\307\377\232\205\204\377\264\237"
+ "\234\377\251\224\222\377\250\221\213\377\265\234\224\377\266\233\216\377"
+ "\246\213~\377\234\202y\377\225~y\377kWV\377\231\207\200\377\256\233\227\377"
+ "\321\277\274\377\316\274\272\377\262\237\240\377\243\216\220\377\247\224"
+ "\226\377\241\217\230\377\212}\215\377\201x\211\377\210\203\223\377\213\213"
+ "\230\377\225\244\233\377x\243J\377n\245\036\377\204\271/\377t\251\002\377x\247"
+ "\002\377w\246\002\377\177\262\001\377\201\260\001\377\201\263\001\377{\257\002\377u\253"
+ "\002\377\213\276\037\377\222\301*\377n\245\001\377t\260\010\377\200\266\001\377\201"
+ "\256\001\377\205\265\002\377\177\253\001\377\200\253\001\377x\246\000\377\202\256\026"
+ "\377\200\260\006\377\204\271\001\377\201\265\001\377}\261\003\377v\255\006\377p\252"
+ "\001\377w\254\001\377\207\270\002\377~\254\002\377\201\261\001\377~\254\002\377\201\262"
+ "\001\377\201\265\002\377y\252\001\377{\261\002\377w\260\002\377u\261\000\377u\255\001\377"
+ "s\246\002\377\206\276\062\377p\256\"\377p\254)\377l\246'\377o\247-\377s\252"
+ ".\377c\233\016\377g\236\006\377Z\220\003\377]\222\001\377u\250\001\377\207\272\007\377"
+ "z\260\007\377n\244\023\377f\231\022\377]\221\004\377W\215\007\377\211\264\002\377q"
+ "\246\030\377\225\304_\377\214\275G\377y\252\027\377y\251\027\377|\253%\377\223"
+ "\277G\377]\222\032\377o\241+\377r\241+\377\203\243a\377\243\244\252\377\260"
+ "\253\270\377\251\237\257\377\241\230\250\377\220\207\226\377wiz\377\215y"
+ "\206\377\270\244\242\377\272\241\237\377\341\307\271\377\277\232\204\377"
+ "\257\214x\377\344\321\311\377\375\371\366\377\372\370\365\377\367\350\341"
+ "\377\352\315\307\377\364\334\333\377\367\356\360\377\374\366\370\377\371"
+ "\364\370\377\275\256\274\377\204v\204\377\265\243\261\377\321\273\302\377"
+ "\335\307\311\377\362\344\346\377\372\363\363\377\371\356\352\377\261\207"
+ "r\377\266\210k\377\326\262\225\377\376\366\354\377\373\370\365\377\373\364"
+ "\363\377\266\241\237\377\231\205\200\377\307\265\251\377\276\252\227\377"
+ "\275\250\225\377\314\265\250\377\264\234\217\377\276\252\240\377\247\223"
+ "\216\377}eh\377\212tq\377\247\217\213\377\266\241\235\377\307\265\260\377"
+ "\305\262\256\377\235\205\207\377\245\216\222\377\263\244\253\377\232\214"
+ "\232\377\200u\206\377\200x\213\377\212\205\226\377\212\213\227\377\206\226"
+ "\211\377~\251V\377{\257\062\377x\253\000\377\200\260\001\377v\245\002\377}\255\001"
+ "\377\200\263\001\377}\264\001\377w\257\002\377r\254\007\377\222\306F\377\200\264"
+ "\032\377q\247\001\377q\251\003\377w\262\003\377\200\260\001\377\203\256\001\377\177"
+ "\250\001\377~\251\002\377x\246\001\377\207\267\010\377\207\267\004\377\205\267\002\377"
+ "}\257\001\377\204\266\013\377\227\302&\377u\250\000\377|\255\001\377\215\300\001\377"
+ "\204\262\001\377\207\264\001\377\205\260\001\377\210\267\001\377\203\262\001\377x\246"
+ "\002\377\177\257\001\377w\246\002\377z\257\001\377~\263\001\377s\243\001\377`\241\021"
+ "\377N\214\000\377c\240\011\377y\262\037\377d\240\005\377b\237\006\377p\253\017\377"
+ "l\243\002\377g\225\003\377w\246\014\377q\241\000\377\177\263\004\377u\255\005\377~\263"
+ "\"\377\\\204\000\377e\216\007\377d\217\012\377}\253\003\377\216\303\064\377\177\262"
+ "@\377g\236\026\377[\216\005\377h\231\006\377~\254!\377\220\274A\377u\241)\377"
+ "\206\255S\377\232\260\204\377\243\250\243\377\234\230\244\377\210\200\225"
+ "\377\222\211\233\377\217\204\226\377\224\204\225\377\215\200\216\377\242"
+ "\224\231\377\240\217\223\377\320\274\271\377\336\311\302\377\262\226\217"
+ "\377\267\233\231\377\363\357\360\377\373\370\365\377\351\324\312\377\351"
+ "\317\311\377\366\346\346\377\365\353\355\377\360\352\356\377\361\347\356"
+ "\377\322\306\322\377}i|\377P\070H\377\216\200\215\377\313\275\306\377\340"
+ "\322\330\377\364\347\353\377\345\316\313\377\347\320\312\377\327\265\250"
+ "\377\336\304\265\377\320\262\242\377\311\252\233\377\332\306\275\377\352"
+ "\342\342\377\331\314\316\377\216\200|\377`TR\377ygb\377iXT\377\231\200t\377"
+ "\314\270\255\377\301\254\247\377\262\237\236\377\234\212\211\377\202on\377"
+ "\266\243\237\377\234\206\205\377\267\242\240\377\302\256\256\377\253\226"
+ "\233\377\237\211\221\377\315\300\306\377\322\306\313\377\241\225\242\377"
+ "\210~\220\377\214\205\227\377\214\207\226\377\211\211\224\377\210\233\204"
+ "\377x\250\066\377l\232\000\377\203\257\002\377\205\265\001\377\202\265\002\377\203"
+ "\267\002\377|\257\002\377x\255\001\377w\262\007\377w\261\022\377n\237\001\377q\245\001"
+ "\377r\251\001\377t\256\002\377\202\266\004\377\204\262\002\377\205\257\002\377~\251"
+ "\001\377{\247\002\377\204\265\001\377\206\265\002\377\204\266\001\377~\257\001\377\205"
+ "\261\002\377\222\274\002\377\206\264\001\377y\251\002\377\177\261\001\377\205\271\002"
+ "\377\201\256\001\377\205\261\001\377\212\272\002\377\206\265\001\377{\252\002\377}"
+ "\253\002\377y\250\001\377}\260\001\377{\255\001\377r\241\002\377d\236\002\377[\223\002"
+ "\377l\250\025\377|\264\031\377t\255\011\377^\225\001\377l\246\004\377w\252\003\377"
+ "b\215\001\377^\215\002\377q\242\001\377\205\266\005\377v\253\007\377\216\305+\377p"
+ "\236\003\377f\214\001\377Ry\001\377t\254\020\377z\264$\377Q\205\010\377~\260\040\377"
+ "T\206\003\377_\217\005\377\177\253\040\377\260\317t\377q\230B\377k\222E\377\213"
+ "\230\206\377\252\250\262\377\254\245\263\377\232\216\242\377rdx\377\201m"
+ "}\377\205q|\377\220|\201\377\221}|\377\202ge\377\334\300\254\377\340\274"
+ "\242\377\255~d\377\353\333\324\377\372\367\367\377\344\325\315\377\356\337"
+ "\325\377\351\324\312\377\275\245\242\377\307\265\267\377\342\331\337\377"
+ "\307\301\310\377zq~\377\070\036+\377N\067D\377UBN\377\232\217\233\377\325\312"
+ "\323\377\312\273\302\377\331\310\306\377\343\320\315\377\343\313\304\377"
+ "\277\236\220\377\310\237\203\377\370\355\345\377\357\341\331\377\332\312"
+ "\306\377\327\320\315\377\274\253\246\377\273\246\235\377\271\242\232\377"
+ "\225}w\377mOB\377\271\233\210\377\335\312\301\377\251\216\207\377\250\220"
+ "\212\377nVS\377\253\227\216\377\302\257\251\377\247\220\217\377\261\234\235"
+ "\377\254\232\237\377\240\213\227\377\260\237\252\377\314\277\305\377\323"
+ "\306\314\377\235\221\241\377\214\203\226\377\205~\220\377\202\177\215\377"
+ "\211\217\224\377v\233U\377i\234\010\377\200\261\001\377\203\262\002\377\202\262"
+ "\001\377\201\262\001\377}\253\001\377}\257\002\377~\262\001\377v\247\002\377x\246\001\377"
+ "x\247\002\377s\241\002\377x\260\003\377y\254\001\377\177\256\001\377\202\263\001\377"
+ "\202\256\002\377\200\254\002\377\206\264\001\377\207\264\002\377\211\271\002\377\204"
+ "\255\001\377\223\267\001\377\245\307\001\377\212\263\002\377{\256\001\377s\245\002\377"
+ "~\260\001\377}\254\002\377\203\262\002\377\207\267\001\377\211\271\001\377\177\256"
+ "\001\377~\256\002\377\177\263\002\377}\257\001\377u\244\001\377z\252\002\377g\236\001\377"
+ "f\236\001\377s\256\026\377\210\276.\377z\262\020\377t\256\011\377i\235\001\377s"
+ "\246\002\377p\240\001\377o\235\001\377w\242\000\377\223\301\071\377w\254\040\377\214"
+ "\301/\377y\256\013\377m\240\002\377a\222\000\377z\262\025\377k\242\012\377h\226"
+ "\020\377x\250\024\377Gy\000\377d\214\022\377\212\246\064\377\262\316\213\377\204"
+ "\245l\377\207\224\211\377\220\216\234\377\207\177\222\377\205{\220\377\204"
+ "w\212\377l_r\377\211w\203\377\234\206\217\377\266\243\250\377\254\233\235"
+ "\377\277\256\255\377\367\347\340\377\326\271\243\377\314\262\244\377\336"
+ "\324\322\377\354\342\336\377\367\356\347\377\324\300\262\377\236\214\207"
+ "\377\261\247\242\377\271\262\264\377\267\260\266\377l^g\377XIP\377ven\377"
+ "cNZ\377eS\\\377aNY\377\210z\210\377\277\271\301\377\316\301\306\377\252\220"
+ "\215\377\273\240\231\377\337\306\277\377\314\270\255\377\320\267\243\377"
+ "\336\314\276\377\363\353\346\377\327\313\312\377\335\317\322\377\355\341"
+ "\342\377\364\355\355\377\341\323\315\377\234\205z\377\243\213\201\377\316"
+ "\272\262\377\305\256\242\377\270\241\225\377\207sm\377zd`\377\261\237\225"
+ "\377\254\231\225\377\262\240\235\377\262\243\247\377\227\205\222\377\221"
+ "~\216\377\304\266\276\377\326\311\316\377\315\300\310\377\241\226\246\377"
+ "\213\205\227\377\205\201\221\377\216\215\233\377z\216x\377\223\273S\377\205"
+ "\265\016\377\210\266\005\377\213\271\002\377\205\261\001\377~\257\001\377y\257\001\377"
+ "s\245\001\377z\254\001\377\200\257\002\377}\254\002\377}\253\010\377}\261\013\377y"
+ "\254\004\377\177\257\002\377}\253\002\377~\253\001\377v\246\002\377u\245\002\377\200"
+ "\260\001\377\205\265\002\377\203\253\001\377\225\275\001\377\223\267\001\377\200\253"
+ "\003\377\200\262\001\377{\261\002\377t\246\002\377x\251\002\377\203\264\001\377\212\267"
+ "\001\377\221\301\001\377\206\262\001\377\200\257\001\377\201\263\001\377z\251\002\377"
+ "w\246\001\377\204\264\001\377\226\275\002\377q\247\001\377m\246\002\377u\256\011\377"
+ "o\247\001\377y\255\001\377~\260\002\377~\256\002\377z\247\001\377}\253\001\377\220\271"
+ "#\377\227\302a\377Y\227\003\377\205\272\060\377}\260\026\377o\242\002\377s\253"
+ "\004\377v\254\003\377y\252\003\377z\247\010\377\210\263I\377}\243F\377\201\242\066"
+ "\377\232\264g\377\242\276\202\377z\215u\377|}\205\377\203|\214\377\204x\211"
+ "\377\213~\220\377~p\201\377|n{\377\265\245\252\377\327\313\317\377\354\344"
+ "\351\377\326\320\326\377\343\326\327\377\342\315\277\377\310\265\251\377"
+ "\341\324\317\377\344\326\323\377\350\335\334\377\352\343\340\377\262\243"
+ "\217\377\234\207l\377wjX\377\204\201v\377smk\377iZ^\377\212x\177\377\235"
+ "\212\226\377\221~\213\377\204nx\377\214x\200\377eV\\\377kci\377\244\237\242"
+ "\377\267\252\252\377\240\217\215\377\212tf\377\301\255\235\377\333\311\275"
+ "\377\331\316\307\377\333\312\277\377\365\357\355\377\351\336\334\377\335"
+ "\317\310\377\303\250\224\377\301\250\226\377\326\310\301\377\223\203\177"
+ "\377\270\250\242\377\333\311\303\377\264\237\221\377\220zv\377`LN\377\221"
+ "~z\377\236\215\206\377\226\203\204\377\247\227\233\377\234\213\230\377\232"
+ "\214\234\377\255\235\252\377\311\273\303\377\323\310\317\377\314\303\312"
+ "\377\243\233\252\377\205\177\220\377\215\212\230\377\202\207\213\377v\233"
+ "?\377\214\272&\377\210\264\001\377\213\257\001\377\215\264\001\377\201\260\001\377"
+ "t\250\001\377q\243\001\377u\244\002\377z\245\002\377z\250\001\377z\255\010\377\200\265"
+ "!\377\202\271'\377x\253\001\377\206\263\003\377\200\260\002\377w\247\002\377u\245"
+ "\001\377\201\260\002\377\207\265\002\377\206\260\001\377\214\267\001\377\214\273\004"
+ "\377\201\255\003\377}\262\001\377p\255\002\377k\242\002\377h\234\001\377}\257\002\377"
+ "\202\256\002\377\217\274\002\377\221\276\001\377\200\257\002\377{\256\002\377w\247"
+ "\001\377~\261\001\377\202\265\001\377\215\265\001\377\202\264\003\377x\253\006\377i\227"
+ "\001\377y\256\001\377w\251\001\377d\224\001\377g\226\002\377\200\255\002\377\205\262"
+ "\000\377\204\266\"\377f\232\020\377Z\231\001\377p\250\034\377\203\264%\377}\261"
+ "\035\377v\255\013\377r\251\003\377{\254\001\377\201\257\001\377\211\260i\377\216"
+ "\265q\377\234\276i\377|\246C\377n\225J\377\201\211\205\377\203\177\213\377"
+ "\203y\213\377\204w\212\377\204w\211\377\242\231\244\377\253\242\252\377\307"
+ "\275\306\377\342\325\336\377\313\277\306\377\277\265\276\377\323\310\314"
+ "\377\312\261\247\377\306\247\217\377\327\301\255\377\317\274\265\377\325"
+ "\307\277\377\312\266\242\377\272\242\202\377\234\202a\377oaM\377ph\\\377"
+ "tol\377\247\234\237\377\275\261\271\377\252\233\247\377\226\204\220\377\245"
+ "\225\240\377\246\230\241\377\242\230\234\377pfl\377ife\377\213\211\201\377"
+ "|rh\377\242\232\222\377\204t_\377\257\237\214\377\321\304\264\377\344\336"
+ "\331\377\365\363\364\377\343\335\330\377\317\275\257\377\250\205e\377\260"
+ "\217r\377\247\205j\377\230xb\377\223vi\377\332\314\311\377\316\301\277\377"
+ "\277\254\245\377^FD\377}ib\377\225\200|\377\222\177~\377\230\206\213\377"
+ "\227\210\224\377\260\244\261\377\252\232\247\377\262\243\256\377\312\274"
+ "\306\377\313\277\307\377\307\273\305\377\233\221\242\377\211\200\222\377"
+ "\203~\215\377u\203h\377u\246\022\377~\257\007\377\177\247\002\377\225\264\001\377"
+ "\202\253\002\377j\231\002\377z\251\002\377\201\252\001\377\201\254\001\377r\234\001\377"
+ "~\257\002\377}\260\007\377w\255\010\377w\251\003\377\223\277\031\377\207\270\011\377"
+ "\200\261\013\377x\245\001\377\206\262\001\377\213\267\001\377\206\257\002\377\212"
+ "\262\001\377\220\276\016\377\214\276\026\377{\264\002\377m\250\001\377n\251\001\377"
+ "h\235\001\377|\262\001\377}\255\001\377\210\264\001\377\221\275\002\377\203\263\002\377"
+ "q\245\001\377u\252\001\377|\267\003\377~\270\001\377\207\260\001\377\206\256\001\377"
+ "\211\266\007\377r\236\002\377y\251\002\377j\234\001\377P\202\002\377\\\216\002\377x\245"
+ "\001\377\210\267\026\377\206\266\021\377|\250\002\377g\237\012\377c\232#\377\200"
+ "\264\060\377t\253\034\377l\247\017\377m\244\014\377\206\264\032\377\227\274\070"
+ "\377w\240\037\377z\246\064\377\216\267X\377}\252S\377q\217`\377\212\207\217"
+ "\377\215\205\222\377\230\214\234\377\230\215\235\377\241\223\242\377\210"
+ "z\210\377\302\263\275\377\335\321\331\377\353\340\347\377\325\314\324\377"
+ "\266\245\255\377\247\217\214\377\243\213\200\377\330\312\302\377\326\310"
+ "\300\377\303\255\241\377\302\245\210\377\301\246\210\377\263\227z\377\221"
+ "v\\\377`M@\377pgb\377\252\247\251\377\312\304\310\377\305\276\305\377\313"
+ "\306\314\377\260\250\262\377\275\264\275\377\274\263\274\377\254\245\254"
+ "\377\255\250\256\377xss\377ysl\377ri`\377uja\377\242\232\212\377\265\257"
+ "\231\377\302\275\252\377\317\310\271\377\331\325\320\377\340\332\332\377"
+ "\325\305\276\377\303\252\224\377\322\272\246\377\277\244\212\377\237}a\377"
+ "tS@\377\275\243\216\377\333\313\277\377\343\331\326\377\214{}\377xd`\377"
+ "ve\\\377\204rq\377\210w\200\377\224\204\221\377\251\232\247\377\274\256\270"
+ "\377\273\253\266\377\265\242\256\377\313\275\306\377\330\313\323\377\321"
+ "\305\314\377\217\201\225\377\211\200\221\377x~y\377o\234<\377w\253.\377p"
+ "\245\001\377\201\256\001\377\177\250\001\377r\236\002\377\177\254\002\377\206\261\002"
+ "\377\201\253\001\377{\245\001\377\177\250\001\377~\247\001\377\202\261\001\377r\242"
+ "\002\377|\253\001\377\202\262\002\377|\254\003\377|\252\001\377\211\267\001\377\206\262"
+ "\001\377\203\256\001\377\206\257\001\377\202\253\001\377\201\264\000\377\201\272\006"
+ "\377n\244\001\377q\252\001\377l\240\002\377~\261\004\377\206\266\012\377\215\266\002"
+ "\377\213\264\001\377\211\265\001\377p\251\001\377s\254\001\377{\257\001\377\202\265"
+ "\001\377e\221\001\377\203\255\002\377\216\270\001\377\207\261\001\377j\232\001\377_\217"
+ "\002\377X\210\002\377s\241\002\377z\254\001\377\214\274A\377g\230\020\377g\223\002\377"
+ "y\251\010\377\203\265'\377\215\277@\377y\256\063\377\233\303i\377\236\302a"
+ "\377\177\254\015\377{\254\003\377l\236\011\377n\236#\377o\235\071\377p\230L\377"
+ "}\205\202\377\217\210\226\377\242\234\247\377\221\210\230\377\214\177\220"
+ "\377\226\206\224\377\256\234\245\377\320\303\311\377\334\322\332\377\311"
+ "\271\302\377\277\257\270\377\252\226\241\377\245\226\227\377\177j_\377\320"
+ "\300\264\377\320\276\257\377\320\275\252\377\312\271\244\377\301\257\234"
+ "\377\274\254\232\377\274\256\241\377\236\224\216\377\250\244\243\377\302"
+ "\300\304\377\277\275\301\377\311\307\314\377\317\315\322\377\300\270\301"
+ "\377\303\300\306\377\311\307\314\377\266\263\270\377\315\314\320\377\271"
+ "\271\274\377\235\234\230\377~ys\377TFB\377YOS\377\215}e\377\277\264\237\377"
+ "\266\253\223\377\273\253\220\377\300\264\243\377\336\325\323\377\337\324"
+ "\322\377\330\311\301\377\321\275\255\377\273\240\206\377vVA\377\225sZ\377"
+ "\336\316\300\377\350\336\327\377\260\244\250\377\227\210\221\377\224\207"
+ "\205\377ucd\377\206x\202\377\223\205\222\377\243\225\242\377\262\242\256"
+ "\377\300\261\272\377\273\252\263\377\301\261\271\377\312\273\301\377\317"
+ "\300\306\377\321\306\312\377\233\222\240\377z{\203\377w\221o\377\211\264"
+ "c\377p\247\004\377t\250\002\377y\247\002\377}\253\001\377~\251\001\377\201\257\001\377"
+ "{\247\001\377z\244\002\377v\237\002\377\203\252\001\377\204\261\002\377w\245\002\377"
+ "s\243\001\377z\253\001\377}\261\001\377\201\262\002\377\203\255\002\377\207\263\002\377"
+ "\203\256\002\377\201\254\002\377\204\255\001\377\206\267\002\377z\257\002\377s\251"
+ "\001\377t\254\002\377j\233\001\377n\237\002\377\220\300\024\377\212\270\000\377\211"
+ "\264\001\377{\251\002\377{\260\002\377v\252\002\377\177\257\001\377\202\263\001\377b"
+ "\221\002\377g\225\001\377\213\267\001\377\224\276\012\377\205\261\005\377l\232\001\377"
+ "d\221\002\377w\246\002\377{\253\001\377r\247\000\377T\211\000\377P\207\002\377O\210\002"
+ "\377{\255#\377\227\303K\377\231\304Z\377|\256\067\377z\251\037\377\204\260"
+ "\002\377\210\261\007\377\202\253*\377q\237.\377o\233>\377q\217[\377\231\227\241"
+ "\377\226\216\236\377\200u\211\377\207}\221\377\200t\206\377\235\215\232\377"
+ "\303\267\273\377\306\267\276\377\251\221\233\377\266\240\253\377\315\276"
+ "\306\377\311\274\304\377\241\216\217\377\264\237\226\377\275\243\214\377"
+ "\272\241\206\377\264\235\177\377\242\210j\377\254\225}\377\304\264\253\377"
+ "\331\323\322\377\316\313\315\377\300\277\300\377\300\300\300\377\271\271"
+ "\272\377\311\311\315\377\312\311\316\377\302\301\306\377\304\303\311\377"
+ "\310\307\315\377\312\311\316\377\273\272\276\377\320\320\324\377\276\301"
+ "\277\377\266\266\263\377\233\232\223\377\210\177\204\377jY]\377\212pV\377"
+ "\305\273\247\377\276\263\235\377\301\262\232\377\301\265\241\377\327\317"
+ "\310\377\316\277\261\377\301\261\237\377\304\261\237\377\261\231~\377|\\"
+ "C\377\312\263\232\377\342\325\312\377\300\262\257\377l`g\377\200t~\377\243"
+ "\232\241\377\215\201\213\377\230\213\227\377\217\201\221\377\243\225\244"
+ "\377\271\252\264\377\310\271\277\377\261\240\251\377\274\255\264\377\276"
+ "\255\265\377\323\306\311\377\315\303\311\377\205\202\216\377m|q\377\234\272"
+ "\220\377z\261\034\377l\241\000\377r\247\003\377\177\256\015\377s\246\001\377|\262"
+ "\012\377{\256\006\377v\244\001\377x\246\001\377\177\256\001\377s\241\002\377p\236\001"
+ "\377z\251\002\377z\250\001\377w\251\001\377y\260\001\377|\256\002\377\201\262\001\377"
+ "\177\252\001\377{\245\002\377\206\261\001\377\207\271\002\377o\242\001\377r\255\006\377"
+ "u\256\005\377p\240\001\377j\233\002\377\204\270\025\377\231\304.\377\207\270\004\377"
+ "x\252\002\377k\240\001\377|\254\001\377~\255\001\377~\261\001\377k\235\001\377m\235\002"
+ "\377{\252\003\377\223\277\031\377}\253\002\377}\254\001\377~\256\002\377|\261\003\377"
+ "m\236\002\377p\245\001\377i\245\004\377u\257&\377_\232\037\377\214\275f\377\215"
+ "\277T\377z\255\013\377m\237\002\377p\230\002\377\211\262\001\377\213\262\004\377u"
+ "\237\003\377]\214\000\377h\224\062\377\213\225\214\377\222\213\227\377~t\204\377"
+ "xp\200\377}u\207\377\265\254\271\377\276\260\264\377\271\244\250\377\267"
+ "\240\244\377\270\243\253\377\303\264\276\377\277\256\266\377\273\254\264"
+ "\377\241\217\223\377\227{p\377\276\241\213\377\267\235\210\377\272\246\223"
+ "\377\275\253\227\377\271\246\222\377\314\276\267\377\340\333\334\377\333"
+ "\331\335\377\307\307\307\377\275\276\271\377\261\262\254\377\275\302\276"
+ "\377\276\301\300\377\271\272\272\377\272\273\274\377\303\304\307\377\301"
+ "\303\304\377\257\262\255\377\274\300\273\377\307\314\312\377\311\313\312"
+ "\377\302\302\303\377\274\273\276\377\264\257\260\377\256\241\234\377\326"
+ "\321\312\377\265\256\234\377\305\274\253\377\266\246\223\377\314\300\261"
+ "\377\301\270\261\377\320\306\272\377\306\272\254\377\304\253\226\377\216"
+ "pS\377\242\207l\377\312\271\243\377\256\231\216\377yjs\377tdj\377rek\377"
+ "\245\234\246\377\264\251\261\377\223\204\223\377\237\215\235\377\256\236"
+ "\250\377\301\262\271\377\277\256\267\377\265\242\254\377\271\250\260\377"
+ "\273\253\257\377\343\327\327\377\236\225\242\377sux\377\215\243\203\377\177"
+ "\260)\377p\243\000\377n\236\002\377r\244\003\377j\231\003\377|\262\016\377p\244\001"
+ "\377u\253\003\377\200\264\021\377t\247\002\377k\232\002\377t\242\002\377y\246\001\377"
+ "\204\262\002\377u\244\002\377t\250\001\377m\237\001\377x\257\002\377|\255\001\377~\251"
+ "\002\377\213\273\007\377\201\264\002\377q\246\003\377u\260\011\377n\240\001\377s\243"
+ "\001\377y\250\002\377\201\266\011\377\243\310B\377\201\261\006\377j\237\002\377a\227"
+ "\002\377\217\274\002\377\206\260\001\377\201\262\001\377h\227\002\377u\246\001\377l\234"
+ "\002\377p\243\017\377{\256\030\377e\234\006\377Y\220\003\377v\257\024\377l\242\004\377"
+ "p\246\002\377u\255\010\377\211\277:\377\177\263:\377r\250\065\377\200\264B\377"
+ "`\227\022\377[\216\001\377|\253\001\377\215\266\002\377\210\257\006\377\227\265\065"
+ "\377\201\246@\377w\230a\377\211\216\210\377\214\207\217\377\217\204\222\377"
+ "\226\217\236\377\253\241\256\377\233\207\222\377\264\240\244\377\303\261"
+ "\263\377\270\244\252\377\270\246\260\377\246\223\236\377\275\256\267\377"
+ "\315\300\311\377\244\217\225\377\206ig\377\250\216{\377\265\236\213\377\252"
+ "\223\203\377\261\232\206\377\261\235\214\377\317\306\301\377\327\322\322"
+ "\377\327\325\326\377\313\314\311\377\263\266\251\377\243\251\231\377\254"
+ "\261\244\377\261\266\253\377\263\270\256\377\265\272\262\377\273\301\272"
+ "\377\271\300\271\377\265\272\262\377\263\271\261\377\301\306\300\377\305"
+ "\312\310\377\316\320\322\377\317\317\323\377\316\315\321\377\326\326\330"
+ "\377\315\312\305\377\302\274\263\377\273\261\243\377\270\256\233\377\255"
+ "\237\211\377\277\265\244\377\315\305\273\377\307\275\257\377\301\263\241"
+ "\377\227~h\377gK\063\377\245\215u\377\211xk\377XLL\377h`c\377\204z\177\377"
+ "\204u\200\377\255\242\252\377\261\242\254\377\236\214\232\377\252\231\244"
+ "\377\273\253\264\377\277\260\266\377\271\250\256\377\267\246\255\377\272"
+ "\251\254\377\325\307\310\377\304\270\300\377\177y\203\377\214\232{\377\211"
+ "\265\067\377r\250\002\377k\233\001\377q\246\003\377s\247\004\377r\247\004\377j\237\002"
+ "\377^\217\001\377z\246\004\377~\253\007\377r\234\001\377\177\253\000\377\203\257\002"
+ "\377~\253\002\377z\251\002\377p\245\002\377k\235\001\377n\237\001\377|\257\004\377\201"
+ "\263\011\377{\256\003\377\202\267\014\377\201\270\023\377o\246\000\377o\241\001\377"
+ "o\240\002\377~\254\001\377y\251\000\377\212\267\016\377w\246\002\377h\235\002\377Y\221"
+ "\002\377|\260\001\377\217\272\002\377\212\265\000\377z\246\002\377v\245\001\377f\225"
+ "\002\377_\215\001\377v\251\014\377\205\266$\377e\233\003\377_\224\001\377w\254\032"
+ "\377\204\267+\377\207\273)\377~\262\020\377z\254\000\377{\255\014\377\205\263"
+ "\067\377\205\265\063\377U\216\003\377f\234\005\377\207\262\013\377\211\260\030\377"
+ "\301\301\247\377\212\217x\377{\204y\377\204\204\210\377\221\207\223\377\242"
+ "\227\247\377\233\222\240\377\220~\216\377\232\207\221\377\302\260\267\377"
+ "\311\272\301\377\271\250\260\377\254\227\242\377\265\243\255\377\276\257"
+ "\271\377\301\264\274\377\274\256\265\377\222\200}\377p_R\377\256\223~\377"
+ "\250\215r\377\253\216s\377\306\262\244\377\277\261\253\377\322\314\311\377"
+ "\324\324\323\377\305\307\301\377\266\271\252\377\247\255\224\377\237\251"
+ "\212\377\242\253\215\377\242\256\220\377\240\256\221\377\252\266\237\377"
+ "\255\272\245\377\255\271\243\377\255\270\245\377\266\277\262\377\303\310"
+ "\302\377\313\316\316\377\316\322\325\377\330\331\335\377\332\332\334\377"
+ "\317\314\307\377\301\271\255\377\275\261\240\377\273\257\241\377\217zc\377"
+ "~iP\377\214{c\377\233\213x\377\311\273\261\377\241\211w\377kVH\377q\\J\377"
+ "aNB\377UF?\377bUU\377xlt\377\212~\212\377\225\207\221\377\245\227\240\377"
+ "\232\213\230\377\260\242\255\377\257\236\252\377\312\272\302\377\300\261"
+ "\267\377\260\236\250\377\301\261\267\377\321\302\305\377\312\275\301\377"
+ "\200x\207\377\213\225l\377\217\262=\377i\241\003\377r\250\012\377t\247\004\377"
+ "o\234\001\377g\224\002\377[\213\001\377m\231\002\377\206\253\002\377\206\261\002\377"
+ "~\250\005\377\232\301\020\377\203\256\001\377|\250\002\377w\247\002\377s\250\001\377"
+ "k\233\002\377n\236\002\377s\246\000\377\216\275/\377{\260\005\377x\254\002\377{\263"
+ "\006\377v\254\004\377r\244\002\377v\245\002\377\202\256\002\377n\235\002\377l\235\001\377"
+ "s\244\001\377j\237\001\377c\234\001\377\202\273\031\377\210\270\001\377\207\262\002"
+ "\377\206\260\001\377i\226\002\377U\206\001\377_\215\002\377i\232\001\377e\227\006\377"
+ "y\257\026\377z\255\035\377\220\277\066\377\206\265\037\377m\237\002\377p\240\000"
+ "\377\177\256\000\377\221\270\000\377\214\267\061\377v\241G\377^\177\070\377awE"
+ "\377q{c\377c_h\377G>N\377TLY\377olt\377\227\223\235\377\241\231\247\377\224"
+ "\210\230\377\203t\206\377\222\200\216\377\256\236\245\377\310\273\300\377"
+ "\243\217\231\377\266\243\253\377\231\204\220\377\300\262\271\377\300\262"
+ "\273\377\246\225\234\377\261\240\242\377\265\246\243\377\211so\377rQF\377"
+ "nK>\377\227xe\377\252\212{\377\276\253\241\377\306\272\264\377\273\263\253"
+ "\377\265\262\244\377\251\251\222\377\245\251\207\377\233\244y\377\227\241"
+ "q\377\221\235i\377\214\231g\377\222\236p\377\222\240u\377\225\243|\377\244"
+ "\261\222\377\250\265\235\377\267\301\262\377\306\315\306\377\306\313\311"
+ "\377\323\327\327\377\327\330\332\377\323\322\322\377\311\304\277\377\304"
+ "\274\266\377\271\254\243\377\302\272\264\377\271\256\245\377\252\232\214"
+ "\377\252\223{\377\270\245\217\377\264\237\217\377\203ie\377t`\\\377[EC\377"
+ "wfd\377vkm\377znu\377\202t}\377\217\201\212\377\231\211\224\377\232\207\222"
+ "\377\222\200\216\377\255\236\252\377\274\255\264\377\304\265\273\377\252"
+ "\230\242\377\233\207\222\377\257\233\237\377\320\303\305\377\271\254\267"
+ "\377\240\236{\377\225\260H\377\202\261\064\377\200\260\036\377x\251\003\377u"
+ "\243\003\377l\226\001\377j\223\002\377{\242\001\377\205\256\007\377\206\264\016\377"
+ "\206\260\031\377\255\315;\377\201\263\002\377\177\250\002\377\177\247\002\377{\244"
+ "\002\377y\242\002\377w\237\000\377\215\273$\377\227\304\067\377z\252\003\377z\247"
+ "\001\377\200\257\002\377~\255\004\377o\236\002\377\203\256\002\377\204\255\003\377q\236"
+ "\002\377m\235\002\377y\252\001\377u\247\002\377k\237\003\377t\252\003\377y\247\002\377"
+ "\206\263\002\377z\246\002\377o\237\002\377Hw\002\377\\\213\001\377d\225\003\377c\226"
+ "\014\377\224\306<\377\214\276\065\377\210\264\026\377\201\247\003\377q\241\002\377"
+ "p\237\003\377c\204,\377Yo\064\377alI\377KDN\377=\064?\377G=J\377RET\377@\060="
+ "\377-\033(\377NAL\377\216\207\225\377\232\221\236\377\217\205\223\377\213"
+ "~\217\377\203u\205\377\221\200\216\377\312\273\301\377\272\251\254\377\272"
+ "\247\250\377\254\230\235\377\236\212\224\377\276\257\265\377\262\241\251"
+ "\377\252\227\240\377\257\235\236\377\242\224\222\377\266\250\237\377\213"
+ "uh\377qWM\377pTC\377\206gO\377\207jV\377\216q`\377\241\215|\377\234\215z"
+ "\377\230\222v\377\230\227t\377\211\211`\377}}N\377oo=\377tvE\377\203\211"
+ "W\377\205\216\\\377\210\220d\377\232\245~\377\250\261\224\377\251\262\233"
+ "\377\266\274\255\377\276\304\273\377\303\306\300\377\307\307\306\377\326"
+ "\326\326\377\316\312\311\377\310\301\275\377\273\256\246\377\257\235\217"
+ "\377\264\246\234\377\247\222{\377\275\250\235\377\242\205e\377\231}d\377"
+ "\215wo\377\202pk\377\203wt\377\201xu\377shj\377\211z\200\377\207w|\377\212"
+ "x~\377\235\213\222\377\256\240\250\377\217\200\212\377\252\232\244\377\261"
+ "\243\254\377\261\241\251\377\253\232\242\377\237\216\226\377\240\216\226"
+ "\377\263\242\250\377\324\310\314\377\257\245\216\377\236\257[\377r\243(\377"
+ "\226\303N\377s\246\010\377o\235\001\377n\233\002\377e\220\002\377\177\242\002\377"
+ "\221\270\034\377\207\266#\377\247\311J\377\233\277'\377|\252\000\377\211\263"
+ "\001\377\207\256\000\377\230\265\024\377\231\266\034\377|\244\000\377\177\253\011"
+ "\377}\254\002\377~\250\002\377z\245\001\377\204\264\003\377\201\261\003\377t\241\002"
+ "\377y\243\002\377z\245\002\377o\234\002\377w\250\001\377z\254\001\377}\260\003\377r\241"
+ "\001\377u\250\001\377n\236\002\377\204\261\001\377x\245\001\377k\232\002\377k\232\001\377"
+ "t\244\005\377\214\274\"\377\220\300&\377s\252\016\377b\235\005\377\215\272\017"
+ "\377x\252\005\377k\240\020\377\177\226V\377\200\201\203\377\237\234\242\377"
+ "\220\207\217\377ymt\377XHT\377=+\071\377;)\063\377cT]\377qfn\377gZe\377{p\200"
+ "\377\203w\207\377\207y\212\377\214~\217\377\213}\215\377\246\227\241\377"
+ "\305\265\264\377\254\230\232\377\241\215\217\377\220}\206\377\270\250\254"
+ "\377\274\254\261\377\254\233\242\377\266\243\251\377\262\242\242\377\236"
+ "\216\217\377\214\177~\377\245\227\221\377\227\203t\377jL\063\377iO\067\377"
+ "ubO\377\\H;\377dND\377^K=\377XF\064\377P@)\377aV\070\377bV\064\377uoI\377\207"
+ "\207\\\377\212\214b\377\221\224k\377\214\216i\377\224\227w\377\244\247\217"
+ "\377\235\237\212\377\245\247\224\377\237\234\214\377\265\262\251\377\271"
+ "\263\257\377\304\276\276\377\273\256\250\377\265\241\220\377\255\227\203"
+ "\377\240\203h\377\241\207v\377\222va\377\231|a\377\214wh\377nS<\377n[M\377"
+ "zfb\377\244\226\223\377}qs\377{po\377\212{|\377\223\204\207\377\221\203\206"
+ "\377\220~\201\377\220~\203\377\242\222\234\377\240\220\232\377\232\210\222"
+ "\377\267\253\260\377\266\251\257\377\226\205\217\377\241\220\227\377\255"
+ "\232\236\377\313\300\300\377\274\267\252\377\227\253i\377i\234\027\377t\246"
+ "\032\377y\253\034\377n\241\003\377o\241\002\377g\221\001\377y\240\001\377\226\274\064"
+ "\377t\243\012\377\262\320M\377\205\256\010\377\200\255\003\377}\254\001\377{\250"
+ "\002\377\201\251\002\377\212\255\004\377~\245\002\377i\230\001\377s\243\001\377\200\254"
+ "\002\377u\243\001\377y\250\002\377w\252\001\377r\242\002\377w\250\002\377w\246\002\377"
+ "u\244\001\377u\250\002\377{\257\012\377w\246\013\377{\253\007\377v\247\002\377w\251"
+ "\003\377v\243\001\377y\251\001\377_\214\001\377v\251\012\377\224\306%\377\206\267"
+ "\022\377{\253\001\377]\221\001\377W\215\001\377_\227\004\377d\200>\377LJR\377\063#"
+ "\065\377\067!\065\377_KZ\377\226\214\224\377\270\261\267\377\206|\203\377E\066"
+ ":\377/\033'\377P<K\377|kx\377l^m\377qgu\377\200v\206\377\203z\213\377\215"
+ "\200\221\377\226\210\227\377\270\251\256\377\310\267\267\377\255\232\232"
+ "\377\232\206\214\377\207q}\377\256\235\245\377\262\242\250\377\253\227\240"
+ "\377\256\233\236\377\243\214\213\377\232\204\202\377\211xw\377\217\203\201"
+ "\377\262\247\234\377\244\226\206\377\252\241\223\377\264\257\245\377\253"
+ "\245\232\377\242\231\212\377\217\207p\377wpQ\377ohD\377lg?\377\214\207^\377"
+ "\225\223n\377\227\230r\377\231\232w\377\230\232y\377\232\232}\377\216\212"
+ "n\377\214\207p\377\201zj\377xpd\377l_O\377\203q]\377\221|j\377\236\210~\377"
+ "{aV\377mO?\377x[J\377\206jY\377qP;\377\216vp\377\\A.\377_F\060\377iYN\377"
+ "UE\064\377~sh\377\212\202y\377nef\377{je\377zig\377\205tu\377\202nr\377\211"
+ "uv\377\225\201\200\377\240\217\223\377\234\215\226\377\227\210\223\377\235"
+ "\217\227\377\257\244\253\377\236\220\233\377\203q}\377\245\222\224\377\302"
+ "\267\266\377\266\264\257\377\205\240j\377u\241.\377n\237\016\377v\247\021\377"
+ "n\233\001\377t\243\003\377l\231\002\377c\221\001\377\202\254\030\377\215\256\030\377"
+ "\245\303+\377\200\254\004\377~\253\012\377t\250\004\377n\240\001\377}\246\002\377"
+ "\212\260\001\377\206\256\001\377q\235\002\377r\242\002\377|\252\001\377s\242\002\377"
+ "w\244\002\377v\247\001\377r\250\002\377n\243\001\377m\240\002\377o\245\001\377n\237\001"
+ "\377q\244\001\377s\246\003\377n\235\003\377}\255\016\377w\252\004\377y\251\003\377w"
+ "\250\002\377\215\276\036\377\205\273\033\377t\245\007\377}\253\001\377\177\256\001"
+ "\377b\230\002\377M\177\015\377V\177(\377@F=\377*$*\377\040\023\031\377&\031\032\377"
+ "\027\011\014\377!\030\033\377+&*\377\013\010\012\377\025\016\024\377\071.\071\377\060\037"
+ "-\377\230\211\233\377tjx\377pfr\377|r\200\377\204y\210\377\222\206\225\377"
+ "\230\214\231\377\306\267\273\377\313\274\275\377\245\222\223\377\213u~\377"
+ "\200jw\377\260\235\246\377\271\252\260\377\250\225\235\377\267\245\242\377"
+ "\221|}\377\232\205\206\377\241\217\220\377zmn\377}qk\377\251\243\232\377"
+ "\274\266\260\377\261\255\250\377\256\254\241\377\223\223{\377\225\226}\377"
+ "\234\235\201\377\207\204\\\377\216\216e\377\227\230p\377\226\227q\377\231"
+ "\232w\377\225\231w\377\233\237\202\377\240\242\207\377\232\230|\377\212\204"
+ "j\377bS;\377aQ:\377`M\065\377V=\"\377H-\024\377bH\071\377U<,\377=$\021\377A'"
+ "\024\377nZL\377^C\062\377mUI\377ue\\\377R>,\377j_O\377uog\377pjf\377aZZ\377"
+ "i^Z\377\217~y\377\204qj\377\211ys\377\220\200|\377\233\213\207\377\220}z"
+ "\377\264\245\242\377\231\214\225\377\206w\202\377\243\227\236\377\260\246"
+ "\252\377\232\213\224\377\226\204\216\377\246\221\225\377\310\273\274\377"
+ "\273\265\265\377~\232j\377t\234:\377o\236\021\377r\241\007\377v\245\003\377u\245"
+ "\001\377r\242\013\377~\260\071\377l\234\000\377\253\303\062\377\206\252\010\377s"
+ "\240\001\377s\241\002\377p\242\001\377q\236\001\377~\250\002\377\213\261\002\377\211"
+ "\255\001\377\202\251\002\377v\242\002\377z\244\002\377~\252\011\377y\247\004\377t\243"
+ "\001\377u\250\001\377q\243\001\377j\235\002\377o\250\002\377u\250\001\377s\242\001\377"
+ "g\230\002\377\\\220\001\377\200\257$\377r\244\013\377\206\265\021\377\222\302\035"
+ "\377\203\265\024\377[\213\000\377x\242\001\377\205\260\001\377t\241\002\377p\243\010"
+ "\377Ts\071\377?V\061\377$%\031\377\017\013\006\377\015\011\003\377\007\006\002\377\000\000\001\377"
+ "!\037!\377\000\000\000\377\000\000\000\377%!$\377\012\005\011\377$\040&\377'\024#\377i[h\377"
+ "zk{\377\203u\204\377\203w\204\377\223\206\225\377\246\232\242\377\317\302"
+ "\305\377\313\274\275\377\230\200\206\377yem\377\212v\200\377\264\244\253"
+ "\377\250\227\236\377\253\225\233\377\272\244\241\377\232\203\200\377\241"
+ "\212\205\377\226\203}\377uc_\377M\071\061\377o^V\377\250\242\232\377\265\260"
+ "\247\377\210~h\377{oO\377ta?\377[@\027\377U<\022\377dR-\377aN*\377bN*\377l"
+ "`\070\377\204\202Z\377\206\206_\377\217\217m\377\233\234\177\377\227\227z"
+ "\377\213\206h\377\202yY\377\221\204c\377\201pQ\377udA\377\212y\\\377~nN\377"
+ "^I-\377W>#\377u]M\377gJ\060\377v`G\377\245\234\224\377\231\221\201\377\204"
+ "zi\377mbS\377cXQ\377i`\\\377od^\377~lg\377|jg\377\204sr\377\225\205\203\377"
+ "\203qp\377\206qo\377\254\235\233\377\203u\201\377\221\206\220\377\231\213"
+ "\223\377\252\235\241\377\234\215\224\377zju\377\215|\204\377\270\253\256"
+ "\377\302\272\276\377\177\225n\377~\240A\377}\245\026\377o\234\001\377r\240\001"
+ "\377z\255\001\377u\244\010\377z\255\026\377{\250\007\377\201\250\004\377z\241\001\377"
+ "\214\261\033\377r\236\003\377w\247\002\377w\243\002\377\213\264\001\377\215\261\002"
+ "\377\212\255\002\377\207\256\002\377\202\252\001\377p\233\002\377x\242\014\377\212"
+ "\265,\377|\253\014\377y\251\001\377|\257\001\377s\240\001\377z\251\003\377x\245\001"
+ "\377q\236\001\377g\227\002\377i\233\006\377\211\265%\377\213\271\060\377~\261\026"
+ "\377h\233\005\377i\231\001\377p\234\001\377\201\253\002\377\220\271\003\377s\237\035"
+ "\377Zz+\377?S(\377\061@\036\377\012\012\003\377\000\000\000\377\000\000\000\377\000\000\000\377\015"
+ "\015\016\377\004\004\004\377\000\000\000\377\001\001\001\377\001\000\001\377\020\015\020\377\002\002\003\377"
+ "\001\000\000\377;-\071\377xgv\377zlz\377\217~\221\377\217}\216\377\243\222\235\377"
+ "\324\312\312\377\264\240\241\377\220{{\377lZb\377\212z\201\377\266\246\254"
+ "\377\261\240\243\377\303\263\261\377\301\255\250\377\266\235\221\377\231"
+ "~s\377\226|q\377}fa\377l[U\377g]T\377k`M\377{nU\377\177pT\377\215~b\377\210"
+ "y^\377q_?\377]G!\377\\D\032\377aK\037\377iV&\377m^,\377\200xI\377|tC\377wp"
+ "B\377\177xQ\377~xS\377\214\205`\377\206~X\377xkC\377\201uN\377\203zW\377"
+ "\205}^\377\233\226~\377\236\231\206\377\224\212w\377\235\223\200\377\232"
+ "\214u\377\237\224~\377\227\213x\377yl[\377bSA\377^UC\377PC/\377XJ;\377cV"
+ "L\377xmg\377\203tr\377wdd\377vef\377\204qs\377\224\200\201\377\256\240\240"
+ "\377\204x\201\377\204y\203\377\233\216\226\377\240\221\232\377\232\212\224"
+ "\377veq\377\223\201\207\377\263\247\247\377\310\304\305\377\221\241\201\377"
+ "m\227)\377n\231\010\377s\236\003\377t\232\003\377\213\267\032\377x\250\003\377{\251"
+ "\001\377k\237\002\377h\233\001\377w\247\000\377\260\277\061\377\216\246\024\377q\232"
+ "\001\377\177\252\002\377\203\261\002\377}\242\002\377\220\264\002\377\213\261\001\377"
+ "{\244\002\377u\240\003\377z\245\010\377x\246\012\377k\234\002\377z\257\002\377y\250"
+ "\002\377s\236\002\377\177\253\003\377z\246\001\377i\230\002\377j\231\002\377w\241\003\377"
+ "y\244\002\377u\246\004\377v\256\006\377e\220\002\377q\230\001\377\205\253\001\377\214"
+ "\261\000\377\211\265\017\377f\215\037\377Vi\063\377+>\015\377\040\062\012\377\000\000"
+ "\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000"
+ "\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377!\027\036\377h[g\377\200q\177\377"
+ "\237\223\241\377\204v\206\377\251\233\243\377\303\267\270\377\244\216\221"
+ "\377\204pv\377mYe\377\224\204\211\377\270\251\254\377\264\242\246\377\263"
+ "\233\232\377\271\242\231\377\267\237\224\377\237\203|\377\235\204\177\377"
+ "\200h`\377aH>\377ZA\064\377n_E\377sfG\377\204zX\377\242\237\204\377\243\241"
+ "\210\377\227\224w\377\200uT\377\203vS\377\210|U\377\203vL\377\213\204Z\377"
+ "\212\205Z\377\213\205]\377\213\204_\377\177vO\377xk?\377m]/\377iY.\377pb"
+ "\067\377skB\377}zZ\377\226\227\204\377\223\216|\377\237\235\213\377\250\246"
+ "\224\377\240\235\210\377\213\200k\377Q<'\377VD\066\377eVO\377O>'\377XH+\377"
+ "^O/\377]J,\377eT:\377\217\200x\377\210xx\377\177nl\377\202pn\377\214|x\377"
+ "\210sq\377\236\215\212\377~pz\377\215\201\212\377\246\231\241\377\221\201"
+ "\213\377\237\222\231\377rdn\377\215}\207\377\256\241\244\377\274\266\267"
+ "\377\226\243\205\377g\223\033\377e\224\003\377j\222\002\377p\225\004\377\224\272"
+ "\061\377\204\256\020\377~\251\002\377i\237\001\377b\230\000\377n\237\001\377\210\247"
+ "\021\377\276\311P\377|\241\004\377x\243\002\377{\253\002\377v\240\001\377\215\264"
+ "\002\377\202\250\002\377\200\246\002\377\204\254\002\377s\232\001\377y\245\001\377t\241"
+ "\001\377r\240\002\377o\234\002\377o\237\002\377y\250\002\377v\242\002\377s\237\002\377"
+ "l\232\002\377i\224\002\377u\242\001\377q\236\001\377r\244\002\377m\233\002\377\203\257"
+ "\003\377\211\262\003\377\222\272\021\377\213\263E\377\221\266V\377w\215d\377a"
+ "\202E\377\065M\"\377\034.\020\377\016\032\002\377\000\000\000\377\000\000\000\377\000\000\000\377"
+ "\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\""
+ "\035!\377b[c\377sds\377\230\212\235\377\204u\211\377\246\227\241\377\302\267"
+ "\266\377\232\210\210\377\213y\200\377s`m\377|jv\377\247\225\233\377\216z"
+ "\203\377\260\234\230\377\254\225\216\377\262\232\215\377\224zo\377\207le"
+ "\377oVO\377s\\S\377fRE\377\\N\066\377h^=\377ld@\377}wW\377\215\211k\377zu"
+ "Z\377}x\\\377\206|^\377|mF\377\215\202]\377\215\203\\\377|qI\377\212\200"
+ "\\\377\224\215n\377\203uP\377{kA\377m\\.\377hW/\377gW\061\377ujI\377\203|"
+ "b\377\203}c\377\202y]\377|rO\377xkH\377YF)\377maG\377K<\034\377RE'\377zqf"
+ "\377SC&\377P@\036\377VA!\377P:\031\377aO\063\377\204tc\377\226\213\213\377u"
+ "cb\377\213zw\377\220\177y\377\216xt\377\230\205\203\377wep\377\206u\201\377"
+ "\246\234\241\377\220\206\216\377\227\214\223\377k^h\377qcm\377\244\227\232"
+ "\377\274\270\272\377\212\227w\377e\222\035\377`\216\001\377p\233\002\377r\231"
+ "\003\377\225\273-\377|\243\001\377\201\257\003\377r\244\007\377r\247\017\377g\230"
+ "\001\377t\231\002\377\270\306S\377\214\256\033\377y\245\001\377o\234\002\377r\237"
+ "\001\377{\246\001\377\201\250\001\377\201\246\002\377\206\250\002\377}\240\003\377\211"
+ "\257\002\377\177\247\001\377w\241\001\377q\240\001\377w\252\002\377f\232\002\377w\244"
+ "\001\377~\244\001\377j\223\002\377q\227\002\377t\243\002\377v\246\002\377y\251\005\377"
+ "g\227\001\377s\243\002\377|\252\002\377u\241\002\377l\232\010\377c\215+\377=]$\377"
+ "Ms,\377Jb>\377WlL\377[mX\377XlW\377NcM\377N`H\377AR?\377-\066,\377\012\016\011"
+ "\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377'#'\377JAI\377ses\377\225\207"
+ "\230\377\205v\210\377\270\255\262\377\271\254\254\377\245\224\224\377}kt"
+ "\377k[g\377\201t}\377\253\232\236\377\240\215\220\377\251\222\216\377\255"
+ "\222\213\377\274\242\225\377\220ra\377\225xj\377\220ti\377x^R\377iRA\377"
+ "N\071\036\377=,\013\377dW\064\377{rO\377\221\213m\377\214\204j\377}qW\377|lP"
+ "\377\203sU\377\210wZ\377\201pO\377\212yX\377\204rW\377\234\224\200\377\231"
+ "\221{\377\211|b\377\221\207m\377\211\201h\377\207\201h\377\212\206m\377\203"
+ "ze\377\204{e\377\200xZ\377YO$\377_R(\377reF\377gZ\064\377[M%\377Q@\030\377"
+ "rdP\377@/\013\377VC\040\377ZD#\377\\E(\377yfP\377wdT\377~oj\377\210yy\377~"
+ "je\377\206pi\377\224\200y\377\227\203\201\377wfr\377\215~\207\377\252\236"
+ "\244\377\235\220\227\377\235\217\227\377l^j\377\203u}\377\230\213\215\377"
+ "\265\256\264\377u\211X\377_\212\022\377_\214\001\377x\244\022\377u\243\011\377"
+ "|\247\013\377y\244\001\377u\245\000\377\203\265)\377\201\265\063\377g\236\017\377"
+ "}\250\004\377\207\252\014\377\240\270\035\377\214\256\002\377\201\245\002\377|\243"
+ "\001\377k\231\002\377x\243\002\377}\243\002\377\217\261\002\377\215\255\002\377p\230"
+ "\002\377u\236\002\377~\252\001\377~\254\001\377u\245\002\377Y\216\002\377l\230\002\377"
+ "v\235\001\377q\230\002\377u\234\002\377z\252\003\377p\231\003\377x\240\001\377g\236\003"
+ "\377t\247\001\377z\246\002\377u\234\002\377x\240\002\377W\201\003\377;a\003\377#H\002\377"
+ "\036\064\004\377\013\013\006\377\004\004\003\377\001\001\001\377\001\000\001\377\000\001\001\377\003\011\003\377"
+ "(\067%\377b{^\377w\222y\377AQ?\377\015\023\011\377\035\037\023\377==\066\377<:<\377"
+ "kbn\377\215\177\220\377\216\177\217\377\264\251\255\377\270\254\253\377\240"
+ "\216\217\377\211w~\377m\\g\377\202v|\377\267\252\254\377\234\206\216\377"
+ "\244\215\214\377\226yq\377\256\225\211\377\237\201p\377\221qa\377~bO\377"
+ "rWB\377fN\066\377UB\"\377C\064\020\377?\061\017\377J\066\026\377kV\070\377n\\B\377"
+ "\213\205v\377\230\224\205\377\211\200m\377\215\200k\377\231\214w\377\241"
+ "\226\201\377\232\216w\377\215\201i\377\241\234\210\377\243\241\215\377\235"
+ "\234\207\377\223\220y\377\224\216t\377\205}[\377ykC\377kZ\061\377sd<\377]"
+ "H\033\377Q\071\014\377sb=\377l^\064\377VC\033\377G\063\020\377]L\070\377G.\024\377"
+ "K\063\025\377M\066\027\377q^D\377zfT\377r]Q\377\202oi\377zgb\377\230\207|\377"
+ "\223\200u\377\205qn\377\226\207\210\377udp\377\200q|\377\223\210\216\377"
+ "\232\220\224\377\220\205\214\377fYe\377o`k\377\240\224\231\377\261\254\260"
+ "\377s\211X\377a\212\037\377f\222\027\377i\230\010\377x\250\010\377v\244\003\377"
+ "v\241\001\377{\246\007\377\200\261\032\377t\250\013\377l\243\006\377e\234\002\377q"
+ "\237\002\377\200\247\011\377\230\267\013\377\231\267\002\377\225\265\002\377m\232"
+ "\002\377u\241\002\377\205\260\002\377\223\270\002\377\212\254\001\377i\225\002\377x\242"
+ "\002\377\206\256\001\377\202\254\002\377u\242\002\377l\232\002\377c\222\001\377y\245"
+ "\003\377u\237\001\377p\233\002\377t\237\002\377w\233\001\377}\241\003\377g\240\006\377"
+ "u\250\001\377y\245\002\377}\247\001\377z\242\002\377]\211\001\377Ak\004\377%@\002\377."
+ "\063#\377!%\026\377\016\016\013\377\000\000\000\377\000\000\000\377\000\000\000\377\000\000\000\377\000"
+ "\000\000\377\000\000\000\377\000\000\000\377\011\015\011\377:J#\377`l;\377@G*\377;<\064\377l"
+ "gn\377\224\210\224\377\207}\210\377\255\244\250\377\272\257\260\377\233\214"
+ "\216\377xjo\377^PZ\377{ms\377\260\244\245\377\246\225\230\377\243\220\213"
+ "\377\212ql\377\272\245\235\377\240\202q\377~XB\377yT?\377V\063&\377Z=,\377"
+ "s^E\377mW\070\377S<\033\377G/\013\377K\064\023\377xhR\377\202ub\377wiV\377\225"
+ "\217}\377\220\211v\377\230\221\200\377\235\226\204\377\250\241\216\377\243"
+ "\236\211\377\223\214q\377\221\212m\377\215\204d\377ykE\377xgB\377vb\064\377"
+ "lV%\377gP#\377\\D\031\377aK!\377ziB\377\177qF\377fP&\377B*\013\377\060\027\003"
+ "\377ZA\063\377W=,\377pYC\377\202nX\377\213xj\377fMC\377pYP\377nUN\377\206"
+ "oj\377\237\212\202\377\202ka\377\231\206}\377\235\220\214\377~v{\377\212"
+ "\201\210\377\235\221\230\377\241\226\234\377\205x\202\377`S`\377l_j\377\241"
+ "\232\240\377\244\243\246\377i~\071\377`\202\025\377x\244@\377`\216\002\377|\254"
+ "\005\377v\243\001\377y\247\002\377z\250\006\377w\246\004\377t\241\000\377}\256\005\377"
+ "i\235\001\377k\225\001\377|\242\001\377\210\251\002\377\214\255\001\377\214\257\001\377"
+ "y\241\001\377v\240\001\377\201\250\002\377\203\247\002\377\205\250\002\377s\233\001\377"
+ "~\247\002\377\210\264\002\377}\250\001\377x\242\002\377x\245\001\377m\232\001\377{\245"
+ "\004\377}\250\020\377x\245\002\377s\232\002\377l\217\002\377\207\246\002\377n\251\003"
+ "\377k\237\002\377k\232\002\377k\233\001\377g\231\003\377]\221\001\377Hx\003\377\031+\005"
+ "\377'\060\030\377MOE\377,**\377\012\007\010\377\000\000\000\377\000\000\000\377\000\000\000\377\000"
+ "\000\000\377\000\000\000\377\001\002\000\377\011\027\002\377,D\010\377\060I\010\377\062E\020\377="
+ "H)\377rtq\377\232\221\231\377\221\206\216\377\221\205\214\377\261\245\244"
+ "\377\211y\177\377hX`\377UHP\377\221\206\212\377\252\240\243\377\243\224\227"
+ "\377\235\212\204\377\215yl\377\253\227\212\377\257\224\206\377\203]I\377"
+ "\222o^\377\205h\\\377t]R\377nWA\377xaD\377u`;\377hR*\377aI#\377eN+\377Y:"
+ "\030\377wbK\377xiS\377\177pZ\377\215\177h\377\177pT\377\230\216t\377\226\212"
+ "n\377\204vR\377\205wU\377\222\210i\377\216\206f\377\214\203e\377\221\206"
+ "h\377\223\204f\377\202pW\377\224\203o\377\215}a\377xdB\377hM-\377;\040\006\377"
+ "@'\015\377A'\015\377{fR\377s\\@\377jR<\377oZK\377yf[\377aKG\377eOI\377oWQ\377"
+ "\241\213\203\377\210lg\377\203bZ\377\232\203\200\377\233\221\223\377\205"
+ "\200\205\377\230\224\230\377\252\242\245\377\252\237\244\377\216\200\211"
+ "\377VGR\377gXe\377\230\216\226\377\236\233\235\377{\210S\377g\201\060\377"
+ "{\251F\377f\234\006\377p\236\002\377\177\252\002\377z\245\003\377y\244\002\377s\241"
+ "\003\377t\237\002\377\200\250\001\377|\252\004\377j\226\002\377w\240\001\377}\241\003\377"
+ "\177\243\001\377\200\244\002\377\177\245\001\377\177\246\003\377\201\251\002\377s\232"
+ "\002\377\177\243\001\377\200\244\002\377\207\260\002\377|\251\002\377w\246\001\377r\234"
+ "\001\377v\244\000\377\212\256\016\377l\222\002\377|\252\027\377r\240\002\377w\236\002"
+ "\377|\237\002\377\177\241\002\377p\253\011\377U\200\000\377Z\204\002\377Y\206\002\377"
+ "[\220\006\377\\\232\006\377S\211\004\377\020\034\003\377\000\000\000\377\023\022\016\377\"\034"
+ "\025\377\013\012\006\377\000\000\000\377\000\000\000\377\000\000\000\377\001\001\001\377\007\014\001\377\027"
+ ")\001\377&E\003\377\066^\011\377;e\020\377Mr&\377.A\030\377_[Z\377\220\203\215\377"
+ "\214\200\211\377\231\216\224\377\276\263\262\377\220\200\203\377g[d\377O"
+ "@K\377QDH\377\236\223\222\377\247\227\226\377\243\217\213\377\200kd\377\231"
+ "\204y\377\262\235\221\377\237\201t\377\201aS\377mOA\377I*\036\377hO>\377r"
+ "X?\377|gI\377v`;\377lW-\377r\\/\377oV)\377~iA\377u_\071\377~jH\377\210yY\377"
+ "\231\217q\377\235\224x\377\241\231}\377\216\202b\377\215\200a\377\205z]\377"
+ "\211~d\377\200s\\\377\177r`\377\213\177p\377\222\206z\377~oZ\377|jJ\377Q"
+ "\071\024\377:!\005\377F.\020\377\\H#\377nX\066\377\231\210s\377{gK\377nYE\377v"
+ "cQ\377]L>\377aQB\377bL>\377zaT\377\220{l\377|bT\377\200fW\377\273\262\252"
+ "\377\222\205\210\377\200pz\377\210}\202\377\227\216\220\377\216\205\212\377"
+ "i^d\377L?K\377d[d\377\226\214\225\377\207\206|\377l|M\377k\225>\377t\251"
+ "M\377i\240\021\377i\227\001\377t\237\002\377x\241\002\377w\237\000\377\200\254\016"
+ "\377v\236\003\377\206\250\002\377\230\274\026\377|\250\010\377t\240\002\377~\250"
+ "\002\377y\237\001\377\220\256\002\377~\240\002\377\205\254\001\377\203\253\002\377\200"
+ "\247\001\377\202\247\002\377}\243\001\377\204\255\002\377m\233\002\377z\256\016\377"
+ "{\254\012\377m\226\002\377\207\251\011\377\210\254\015\377\177\254\017\377k\227"
+ "\002\377\205\252\006\377r\226\002\377{\245\004\377b\243\013\377`\230\015\377Z\206\004"
+ "\377_\215\001\377Y\212\002\377]\224\000\377[\231\012\377/O\006\377\022\035\002\377\001\002"
+ "\001\377\000\000\000\377\000\000\002\377\002\003\001\377\006\011\002\377\005\007\002\377\012\030\002\377\031"
+ ".\002\377;X\006\377:_\003\377\066_\003\377=j\016\377=_\032\377\071D*\377a[^\377\213\177"
+ "\211\377\225\213\224\377\214\200\211\377\253\237\242\377\231\211\214\377"
+ "pdk\377ZOW\377d^`\377\203{z\377\231\215\216\377\273\254\246\377\237\210\201"
+ "\377\177rh\377\261\242\226\377\263\242\224\377\215r^\377v\\H\377|bT\377i"
+ "O?\377s^O\377xdN\377\206sU\377\205pK\377\222\177W\377\200k?\377oU&\377\204"
+ "oK\377zfF\377\205rV\377\201nU\377\236\224~\377\205tX\377\216\200`\377\222"
+ "\204c\377\215|Y\377\230\210h\377\206wU\377\203pU\377t`G\377fS>\377\\K\066"
+ "\377=*\026\377\061\035\004\377N\070\021\377eR%\377ub\066\377\215{U\377\217\177h\377"
+ "T<\036\377zeN\377bJ\066\377bJ<\377}f\\\377xaW\377\247\223\216\377w]V\377`F"
+ ";\377\204rj\377\274\264\254\377\212}\200\377\217\204\211\377\237\226\232"
+ "\377\230\217\225\377\211\201\210\377`Xa\377F?J\377`Ya\377\243\236\240\377"
+ "sx`\377l\216>\377\\\217\027\377u\252>\377j\235\006\377o\233\002\377k\225\001\377"
+ "~\245\002\377z\241\002\377v\235\000\377w\237\002\377\217\264\021\377\212\255\006\377"
+ "\207\256\010\377t\240\001\377y\244\002\377w\237\002\377\214\254\002\377\211\251\001"
+ "\377\207\250\002\377\201\246\002\377y\240\002\377}\245\001\377w\236\002\377|\250\002"
+ "\377b\222\002\377x\252\011\377t\234\001\377~\240\002\377\206\252\007\377}\242\005\377"
+ "\200\252\014\377m\225\002\377x\236\001\377y\235\003\377\202\253\025\377U\223\001\377"
+ "c\237\020\377a\232\012\377_\222\001\377c\223\001\377d\227\002\377Y\206\002\377\\\220"
+ "\011\377R\177\014\377#\067\002\377\023$\002\377\013\031\002\377\034'\002\377?F\013\377;H"
+ "\013\377\012*\002\377!E\003\377\067^\002\377Ly\003\377Nz\012\377t\246H\377\067R\021\377"
+ "?O+\377]`Y\377\200z\177\377\201w}\377|px\377\247\233\234\377\233\215\216"
+ "\377rfk\377SEQ\377LCK\377\214\205\204\377\252\236\234\377\273\256\246\377"
+ "\250\215}\377pZJ\377\217|p\377\302\266\255\377\234\205r\377z[B\377rS<\377"
+ "~`I\377oQ:\377mO?\377|cO\377\213wY\377\230\205d\377\222\200^\377\210uR\377"
+ "\206qO\377\202jF\377|b<\377\212rQ\377\206oL\377\206oI\377\202jC\377za\070"
+ "\377tZ\060\377\207uX\377\213|_\377vfL\377\\N\064\377\065\"\012\377\065\040\010\377"
+ "\066\040\004\377Q:\026\377r_\070\377\214zW\377\223\202a\377\206rU\377\201kV\377"
+ "kT;\377\\A*\377fK\067\377sZK\377|d[\377\233\213\204\377\232\213\205\377}h"
+ "_\377hRI\377\240\221\207\377\263\253\250\377|ou\377\214\202\206\377\211\177"
+ "\205\377\243\233\240\377\203\177\205\377UNX\377JAL\377h`g\377z|o\377kzV\377"
+ "g\231\064\377c\225#\377\202\261A\377n\232\004\377n\232\002\377p\222\002\377\224"
+ "\251\002\377\215\251\001\377x\231\001\377}\252\006\377{\241\003\377\205\253\002\377\205"
+ "\255\002\377|\246\001\377y\242\002\377z\242\002\377\201\244\001\377~\236\001\377\207"
+ "\252\002\377\202\247\002\377\177\244\001\377\202\251\002\377\215\270\003\377x\244\002"
+ "\377`\217\002\377o\237\002\377r\231\002\377\207\254\002\377p\225\003\377n\223\002\377"
+ "y\245\010\377c\215\002\377s\234\002\377\204\256\007\377x\237\002\377d\230\010\377c"
+ "\227\006\377\\\214\001\377Q}\002\377]\211\001\377^\206\001\377`\206\002\377Z~\001\377Y"
+ "\210\005\377=a\003\377%G\002\377\060J\002\377/B\003\377/?\002\377GV\005\377-F\002\377*O\003"
+ "\377\065\\\002\377Q|\002\377`\220\015\377X\205\031\377;c\006\377Ih\"\377m{_\377\205"
+ "\206~\377\204~}\377\201vz\377\246\236\236\377\232\217\217\377pbf\377I:D\377"
+ "<-\067\377WJM\377\201rq\377\241\223\216\377\266\243\225\377\201fV\377dNG\377"
+ "\236\213~\377\250\221|\377\211lP\377pL/\377}]@\377\205hN\377\177dJ\377mL"
+ "\061\377qR\066\377yaF\377\221\202g\377\226\213p\377\236\225z\377\247\236\204"
+ "\377\232\215t\377\231\211n\377\215|_\377\222\201d\377\230\210l\377\210vV"
+ "\377~jK\377vbG\377iS\070\377aJ/\377S>\036\377V@\033\377mY\067\377hP.\377[@\040"
+ "\377\231\205e\377\243\223u\377zdM\377v^D\377\203nS\377w[B\377^@)\377\210"
+ "pZ\377\237\211y\377\214uh\377\242\222\211\377]LF\377G\065\062\377\204rm\377"
+ "\304\275\271\377\222\210\207\377\204y~\377\226\214\217\377\237\226\231\377"
+ "\235\227\235\377oms\377@:E\377@\071F\377pmo\377ip\\\377m\206Y\377d\222\067"
+ "\377a\224(\377m\244\036\377`\220\000\377~\252)\377y\232\006\377\232\260\004\377"
+ "\215\251\002\377\200\245\002\377z\244\004\377n\224\002\377\200\245\002\377\205\251"
+ "\002\377\215\263\002\377t\235\001\377t\235\002\377~\242\002\377\204\251\002\377z\237"
+ "\002\377\207\256\001\377\177\244\002\377\211\260\001\377\204\251\001\377~\246\002\377"
+ "q\236\002\377a\216\001\377s\234\001\377w\235\002\377f\214\002\377l\221\000\377v\237\003"
+ "\377l\223\002\377r\232\002\377\201\247\002\377{\241\000\377\204\260N\377}\246\060"
+ "\377a\212\002\377Do\002\377Y|\002\377X{\002\377Rx\001\377\\\203\001\377Mv\002\377Jw\003\377"
+ "Ky\004\377Cd\002\377\064O\003\377\035\067\001\377)=\001\377:M\002\377>V\002\377\062O\002\377"
+ "<a\002\377a\220\022\377[\210\004\377Iq\001\377Hj\030\377N\\@\377ytw\377{pv\377zo"
+ "v\377\233\221\223\377\227\215\213\377ymq\377WKT\377?\065>\377e[b\377\204z"
+ "y\377\210xw\377\307\267\256\377\221wj\377^H>\377\201i_\377\215uh\377\227"
+ "{g\377\242\206j\377\234}[\377\207gE\377sS\066\377\201bH\377a@\"\377jL-\377"
+ "\177jK\377\201pT\377\221\210u\377\243\235\212\377\234\226\202\377\245\236"
+ "\216\377\240\233\214\377\243\233\214\377\235\223\204\377\223\206v\377\213"
+ "|l\377\224\205w\377\206sa\377\200nV\377\206tX\377\207oR\377z_;\377\203hH"
+ "\377\231\204b\377\251\234y\377}gP\377eI\065\377\216yb\377~iP\377fI-\377}a"
+ "G\377\241\213q\377\250\227\204\377\226\205s\377\217\202u\377A,$\377\\J?\377"
+ "\244\230\217\377\303\276\271\377\203\177\202\377\202{\200\377mck\377\213"
+ "\203\207\377\203y\200\377NDN\377JDL\377MIP\377ppm\377ahR\377{\235j\377Y\207"
+ "-\377d\225+\377a\226\014\377a\220\003\377p\232\012\377n\221\002\377{\244\002\377"
+ "y\241\002\377z\243\003\377k\223\002\377o\230\002\377}\250\002\377\203\254\002\377\207"
+ "\263\002\377p\241\003\377j\226\002\377\177\246\001\377\210\256\001\377\205\253\001\377"
+ "\202\252\002\377~\246\002\377\206\255\001\377w\234\002\377\206\254\006\377u\233\002\377"
+ "x\241\003\377w\240\002\377l\221\001\377m\224\001\377|\252\017\377\204\265\030\377|"
+ "\256\016\377\211\272\035\377\224\300)\377\215\270\036\377^\222\005\377p\233\012"
+ "\377r\226\007\377n\215\007\377`}\001\377_\177\001\377]\177\001\377Z\203\002\377Kt\002\377"
+ "It\002\377J\177\003\377Cj\002\377\060O\001\377@X\004\377\032\070\002\377\037<\002\377,I\000\377"
+ "\063W\001\377Mv\004\377\\\206\037\377Jj\002\377Yx\005\377]x\036\377Xe?\377poi\377\205"
+ "{\201\377\205z\201\377\225\213\215\377\232\217\217\377~tz\377_S[\377A\071"
+ ">\377\071\063\064\377]YU\377\177xv\377\272\255\245\377\253\227\203\377lP@\377"
+ "T\066-\377\203m`\377\264\240\215\377\253\226y\377\252\224v\377\231\177c\377"
+ "\207mS\377tU;\377fE$\377nP/\377bH%\377\201oP\377\215\177d\377\204uZ\377\210"
+ "}f\377\224\217\201\377\222\216\200\377\212\201r\377\232\221\204\377\243\235"
+ "\215\377\226\216z\377\227\211t\377\215|f\377\203pS\377q[\067\377\206nJ\377"
+ "\240\214k\377\257\242\205\377\242\222t\377{dK\377^A.\377w^I\377zcK\377nR"
+ "\070\377\200eM\377\237\213x\377\261\245\223\377\236\217|\377\220\201q\377"
+ "S?\062\377P<\061\377\214zj\377\271\262\244\377\244\233\223\377\205|{\377\220"
+ "\207\207\377\220\207\213\377\206{\200\377obl\377OEP\377F?G\377VRU\377qrg"
+ "\377brQ\377r\241S\377\\\216-\377b\227%\377T\204\005\377f\222\010\377g\215\001"
+ "\377k\223\001\377v\244\003\377\177\255\013\377y\246\004\377g\222\002\377x\243\002\377"
+ "\177\254\002\377\201\255\002\377t\243\001\377m\243\002\377l\232\001\377|\244\001\377"
+ "\210\256\001\377\201\247\002\377}\245\002\377|\247\002\377\177\247\001\377{\237\002\377"
+ "\210\254\002\377{\237\002\377\206\262\005\377z\244\005\377\204\257\016\377\224\275"
+ "$\377\225\277#\377\206\263\017\377\205\264\013\377y\243\004\377\207\265\033\377"
+ "\214\270#\377V\213\003\377\\\215\002\377Z}\001\377x\222\021\377]v\003\377^x\001\377"
+ "Zv\001\377^}\003\377Wu\002\377A`\002\377\"K\002\377<^\002\377Rk\003\377<L\002\377AW\002\377"
+ "Xw\007\377\217\235,\377`y\023\377d\215*\377Fg\002\377Hc\002\377@Z\002\377Je\007\377"
+ "`s\067\377nq`\377\214\215\207\377odk\377vkq\377\217\205\206\377\217\206\207"
+ "\377f]^\377L@B\377J@A\377\201zv\377\224\212\201\377\201vi\377\263\251\232"
+ "\377\212wd\377Z@\060\377dM=\377\204ra\377\242\223|\377\230\203i\377\216tZ"
+ "\377\236\210k\377\226~_\377oM)\377jJ\037\377v^\065\377kU-\377oY\062\377ygB\377"
+ "udA\377\215\200f\377~qV\377yiP\377\212\177l\377xjT\377kZA\377vcG\377gQ\060"
+ "\377lS-\377\237\217j\377\250\232y\377\216\177b\377\177lV\377sWA\377tW@\377"
+ "rV;\377v]D\377jL\061\377\222{b\377\245\221~\377\261\241\220\377\242\222\202"
+ "\377\235\217\201\377uka\377L\066+\377nUA\377\261\250\224\377\254\244\226\377"
+ "\200vt\377|sp\377rjh\377sjk\377ohk\377e_e\377XU[\377KIO\377jhi\377~\204w"
+ "\377p\213`\377p\231Q\377j\225\066\377b\226\024\377V\202\002\377^\215\002\377c\215"
+ "\002\377\205\260\011\377y\246\003\377u\240\003\377{\247\002\377e\221\002\377z\245\001"
+ "\377\216\261\002\377\222\264\002\377p\232\001\377o\235\001\377x\246\003\377~\243\001"
+ "\377\212\256\001\377\202\244\002\377|\242\001\377\200\247\002\377\205\254\002\377\203"
+ "\246\002\377\215\253\002\377\207\252\001\377}\241\002\377\203\247\001\377\204\242\003"
+ "\377\212\242\002\377\220\254\002\377\200\240\002\377\205\257\005\377\204\252\005\377"
+ "\204\252\006\377\210\256\004\377h\231\024\377Z\210\002\377Ou\001\377p\224\011\377]"
+ "x\001\377_x\001\377`y\002\377_z\002\377Tn\001\377<W\002\377)I\002\377\065S\002\377Eg\001\377"
+ "Rx\003\377Rw\000\377f\227\004\377Gp\006\377Js\026\377Oy\027\377Bb\000\377Hf\002\377AY\001"
+ "\377B]\003\377Tl#\377Yb@\377{\200p\377wpo\377vlm\377\206{|\377\234\217\217"
+ "\377shl\377[PW\377aW_\377g__\377pkg\377}xs\377\226\216\202\377\251\235\212"
+ "\377q[F\377`E\071\377_J<\377\230\210y\377\222{i\377{^O\377\240\213y\377\274"
+ "\254\233\377\250\221v\377\216rM\377\206lE\377\224~[\377\204pE\377\200nD\377"
+ "}lE\377\211|Z\377\205wZ\377\214\201f\377\217\204g\377\203wX\377\215\203e"
+ "\377\214~\\\377\227\206b\377\210uN\377\236\217l\377\220\177_\377oV@\377j"
+ "Q=\377cH/\377\200eH\377iK.\377mO\062\377\217vZ\377\253\232\204\377\260\240"
+ "\216\377\253\235\214\377\235\212y\377\216\177q\377ZKC\377th[\377\240\223"
+ "\203\377\266\260\237\377\217\207~\377\200vu\377\201zv\377wqo\377khh\377X"
+ "WY\377HGL\377QOU\377[Z_\377vvu\377luc\377c\220K\377]\215\064\377V\212\023\377"
+ "^\225\020\377T\207\001\377l\234\010\377z\245\015\377\202\255\005\377u\235\002\377"
+ "p\226\002\377k\227\001\377t\242\003\377}\252\001\377\214\261\002\377\205\253\001\377"
+ "p\234\002\377s\244\005\377}\257\007\377\207\253\007\377\204\244\002\377y\232\001\377"
+ "\205\241\010\377\210\253\002\377\221\265\003\377\210\253\002\377\226\260\006\377\202"
+ "\244\001\377\200\244\002\377\201\241\002\377\204\235\004\377\215\243\016\377\224\263"
+ "\016\377\205\255\004\377x\236\003\377x\233\003\377\202\255\002\377\203\252\001\377_"
+ "\211\001\377S\201\002\377Z\205\002\377j\223\002\377c}\002\377f\201\001\377g\200\001\377"
+ "g\206\002\377Yx\001\377Lm\001\377Jp\003\377Ks\002\377R}\004\377:_\001\377c\221\033\377W"
+ "\203\027\377Pu\020\377q\232<\377?m\010\377\066\\\004\377Nq\017\377Lj\007\377So\015"
+ "\377k\202\065\377i|I\377x{l\377pnj\377xrq\377\207\177}\377\236\223\221\377"
+ "ukl\377^SZ\377ZQX\377kfj\377e^a\377\177xs\377\203yp\377\261\251\234\377\244"
+ "\227\201\377mXA\377}k^\377|jb\377\217~s\377nXJ\377\213yi\377\262\244\220"
+ "\377\257\237\204\377\235\206d\377\213qN\377\216sM\377\240\216j\377\227\205"
+ "a\377\224\204`\377\202sO\377\204tS\377\204vT\377\225\210h\377\211|\\\377"
+ "\223\211j\377\223\212n\377\233\215s\377\207vZ\377\206rQ\377\216zY\377v`?"
+ "\377hR\060\377cJ*\377u[;\377\210oQ\377\227\200e\377\251\230\202\377\256\240"
+ "\216\377\247\231\207\377\230\207v\377\222\203v\377S@\062\377I\064\"\377\202"
+ "q\\\377\247\235\213\377\215\203v\377phc\377voj\377nfd\377]VU\377ZUY\377h"
+ "fl\377c`g\377ROX\377a`e\377xwx\377XdI\377c\236H\377I|\015\377Q\211\007\377U"
+ "\217\011\377S\211\001\377n\237\003\377o\234\002\377t\235\001\377x\236\002\377r\231\002"
+ "\377g\222\002\377m\230\003\377\204\254\001\377\201\247\002\377|\245\001\377r\242\002"
+ "\377k\237\016\377p\253%\377\201\250\025\377\201\244\001\377p\224\002\377\201\231"
+ "\007\377\225\257\004\377\226\260\003\377\217\263\001\377\232\267\012\377w\230\001\377"
+ "z\235\002\377\203\246\002\377\203\241\003\377\230\263\027\377\225\261\015\377\212"
+ "\254\001\377y\232\002\377|\242\002\377\177\254\002\377}\250\002\377X\204\002\377Hy\001"
+ "\377T\202\003\377Jp\004\377`\177\002\377m\222\003\377e\215\002\377b\212\002\377X~\002\377"
+ "Sz\003\377Ry\001\377Fc\002\377\062J\002\377\064J\002\377>Z\003\377o\237I\377j\223>\377"
+ "_\210\030\377Hm\003\377Or\007\377Tv\006\377g\207!\377g\205!\377b\177!\377u\206U"
+ "\377_^O\377pmg\377vsn\377tqj\377\221\211\200\377\210\177x\377h^^\377g\\_"
+ "\377dYa\377ZRY\377GAD\377]XP\377\200zl\377\270\261\227\377\214\177a\377G"
+ "\060!\377V?.\377{fR\377\232\211{\377\212yh\377}jU\377\240\217y\377\227\204"
+ "i\377\205iH\377\201e?\377\210oI\377\206pJ\377\217\200]\377\177oK\377\211"
+ "{X\377\213\203^\377\200wU\377\215\206d\377\212\202a\377\222\215o\377\220"
+ "\207n\377\226\212p\377\200oK\377\177hC\377~e=\377\207tO\377\210uT\377\232"
+ "\211k\377\244\224z\377\257\242\214\377\267\253\232\377\252\235\213\377\231"
+ "\210v\377\203sf\377scZ\377K\066(\377fN\067\377\246\231\204\377\252\244\223"
+ "\377\203wk\377ynd\377ka[\377\177{v\377\213\211\207\377xtx\377d^g\377`Zc\377"
+ "igk\377ddc\377w|t\377bwS\377]\216\066\377My\002\377R\203\005\377Y\215\011\377f"
+ "\230\005\377|\244\004\377w\235\004\377u\234\002\377p\226\002\377r\231\002\377r\232\001"
+ "\377j\226\002\377\202\252\002\377\201\252\002\377|\246\001\377u\243\007\377t\246\031"
+ "\377\211\277U\377\201\255\021\377~\246\002\377n\230\002\377\177\251\004\377\207"
+ "\251\002\377\250\275\025\377\230\263\016\377\205\240\002\377\221\260\023\377\210"
+ "\257\010\377\204\251\020\377}\232\006\377\216\250\002\377\254\271\035\377\222\256"
+ "\003\377\201\242\001\377\206\257\001\377\200\251\001\377z\246\001\377T\203\002\377V\206"
+ "\006\377[\214\006\377@e\001\377[\207\005\377a\221\004\377Z\203\001\377`\207\006\377S~\002"
+ "\377Z\202\001\377Op\004\377Vs\002\377Gf\002\377\063S\002\377Dd\002\377Ec\007\377h\243\060"
+ "\377S\205\000\377Lq\003\377C`\001\377Tq\003\377Lg\001\377o\211'\377{\230F\377drC\377"
+ "VYE\377yvn\377yvo\377||s\377rph\377\225\221\211\377~vu\377WLS\377ZNW\377"
+ "nhm\377^[[\377_\\U\377\\XL\377\213\205r\377\250\241\207\377o_J\377M:\"\377"
+ ">)\023\377{pe\377\222\212z\377kXC\377uaL\377\231\211r\377\243\223y\377\226"
+ "\201b\377\202jB\377\207pI\377\210wN\377\212|T\377\221\206_\377~tN\377\207"
+ "\200^\377\203~Z\377}uT\377\215\205j\377\204uX\377\217\200_\377\204qJ\377"
+ "\210tL\377\204tK\377\242\224t\377\250\232~\377\264\252\226\377\234\215u\377"
+ "\264\250\225\377\237\222\200\377\221\202n\377\226\210w\377{na\377G\061+\377"
+ "T?\071\377\236\217}\377\265\253\235\377\233\220\207\377\177rl\377ped\377~"
+ "wu\377}xy\377c^e\377D;I\377H?L\377c`e\377||z\377lri\377s\201n\377f\213U\377"
+ "X\177!\377Z\213\010\377X\211\003\377`\216\003\377t\240\002\377\206\253\017\377r\232"
+ "\002\377x\244\002\377f\215\002\377\202\246\007\377\201\243\002\377|\236\003\377\205\257"
+ "\002\377\177\245\002\377\200\250\001\377p\237\007\377n\236\015\377\225\304n\377}\246"
+ "\024\377x\240\002\377y\245\002\377~\247\002\377\201\247\002\377\246\300\022\377\262"
+ "\265/\377~\230\004\377\236\277&\377}\253\006\377{\246\015\377\201\242\003\377\221"
+ "\252\001\377\242\250\025\377\226\257\011\377\206\251\002\377\204\257\001\377\203"
+ "\253\000\377\177\245\000\377a\222\001\377q\242\023\377V\207\002\377M~\002\377L|\003\377"
+ "Y\216\002\377W\214\002\377Y\217\016\377Y\213\026\377T~\023\377X|\006\377Kf\001\377b"
+ "\223\015\377En\001\377Z\201\012\377f\223*\377V\213\010\377W\215\003\377Hn\001\377"
+ "Pp\002\377Qp\004\377Oo\007\377t\223H\377[|\060\377Le%\377HT.\377Y[J\377kl_\377d"
+ "dZ\377{ws\377\207~|\377vlm\377ZMV\377f[c\377i^f\377\\RT\377kea\377}yn\377"
+ "xth\377\224\217z\377\251\244\210\377{mR\377cSF\377P>\065\377via\377\206ug"
+ "\377\202o_\377\207ue\377\245\226\202\377\250\234\201\377\224\204c\377\220"
+ "}Z\377\205sL\377\212|U\377\212\201[\377\211\201\\\377\212\177]\377\216\205"
+ "b\377\203vT\377\220\204f\377\206wW\377\223\205b\377\215}Z\377\235\216l\377"
+ "\237\220m\377\232\215k\377\245\230|\377\243\227\200\377\222\202j\377\221"
+ "\201j\377~l[\377\214~m\377uf]\377Q:\070\377bN@\377\227\211o\377\246\232\205"
+ "\377\237\226\205\377\200yn\377\200}v\377vtr\377xtu\377khi\377okn\377a^e\377"
+ "KIO\377\\]^\377pzo\377n}j\377bwZ\377e\234K\377Hz\004\377V\211\003\377b\226\005"
+ "\377g\231\002\377k\232\001\377t\244\005\377q\240\002\377t\245\004\377j\227\001\377|\251"
+ "\003\377|\234\000\377|\237\002\377v\236\002\377z\246\002\377n\232\002\377p\235\001\377"
+ "y\250\062\377\240\313\213\377z\250%\377\177\252\000\377m\232\002\377\200\246\002"
+ "\377\213\260\002\377\224\265\003\377\243\267!\377\227\265\036\377w\237\000\377u"
+ "\236\001\377z\247\002\377\201\252\002\377\204\247\002\377\216\255\016\377\224\266"
+ "\012\377\211\262\002\377|\244\002\377\235\273\026\377\212\246\001\377b\232\006\377"
+ "g\233\020\377]\215\002\377X\214\002\377Y\217\004\377^\222\004\377X\211\001\377N|\003\377"
+ "S\200\007\377a\216\020\377p\221\"\377Ru\002\377Py\002\377e\230\004\377k\226\024\377"
+ "m\236\035\377e\225\002\377\\\215\001\377V\212\001\377Hr\002\377Jq\003\377`\204,\377"
+ "Y\177)\377Qq!\377Og#\377EU\040\377bfJ\377ij[\377xvl\377}tp\377\210~|\377n"
+ "ad\377eW]\377pdl\377S@N\377WJO\377j`^\377rog\377||r\377ywk\377\224\216v\377"
+ "\236\225v\377{qY\377L<\060\377D\060-\377mZV\377\230\215z\377\216{k\377\215"
+ "{h\377\235\216z\377\241\224{\377\240\222u\377\224\206e\377\222\203d\377\205"
+ "vY\377\217\203g\377\217\204g\377\223\210k\377\207y\\\377\224\214q\377\213"
+ "\203e\377\234\222u\377\215\177]\377\243\225s\377\225\206b\377\212xR\377\204"
+ "pK\377\205qO\377\222\201i\377\235\220|\377\217\203w\377vi]\377O\071\061\377"
+ "M/(\377\235\216|\377\256\243\222\377\225\210y\377vk`\377xpk\377spn\377zz"
+ "z\377utw\377^Y\\\377B;C\377TNU\377baf\377pss\377qys\377m\201l\377_\203R\377"
+ "X\215\"\377T\205\001\377\\\217\004\377Y\211\003\377b\231\007\377c\227\006\377u\236"
+ "\020\377q\236\002\377t\242\003\377s\240\002\377p\233\001\377\207\260#\377v\237\002\377"
+ "i\224\001\377s\241\002\377c\223\002\377p\237\002\377e\226\002\377\222\302z\377\200"
+ "\264\065\377y\243\000\377\204\250\001\377\220\262\003\377\221\270\001\377\207\260"
+ "\002\377\207\253\006\377\256\302C\377\204\245\014\377w\233\001\377\204\254\002\377"
+ "\212\257\002\377\217\255\012\377\211\245\004\377\217\262\001\377|\241\002\377\177"
+ "\244\004\377\215\242\016\377\214\245\001\377_\227\004\377a\230\004\377]\223\002\377"
+ "R\206\001\377U\211\002\377]\221\003\377W\204\001\377Ot\002\377Y\200\002\377Z}\002\377U"
+ "w\001\377Nr\001\377Qw\002\377Ow\000\377a\224\007\377\\\216\002\377s\241\002\377e\224\002"
+ "\377`\222\002\377X\220\004\377l\233=\377Y\177'\377X}\032\377b\206*\377Zx&\377"
+ "Xo,\377aoC\377tzd\377vvl\377xso\377|sq\377znn\377|tt\377zps\377jad\377ul"
+ "g\377H>?\377\\XT\377lja\377oh^\377_TB\377\205}`\377~sR\377\177pV\377n\\L"
+ "\377YIE\377D\062*\377rdV\377ygV\377\177kX\377\235\220\177\377\236\224|\377"
+ "\235\220u\377\236\220p\377\206wW\377\207vY\377\207x\\\377\211y\\\377\177"
+ "lO\377\221\203e\377\223\207f\377\212|[\377\214|Z\377\210wR\377xe:\377wb\066"
+ "\377\217\177\\\377\230\210l\377\222\207q\377\231\220\200\377i^Y\377QCA\377"
+ "H\067\061\377\217\177b\377\261\246\221\377\235\221\202\377\215\203x\377\216"
+ "\205~\377jaa\377zyy\377wxx\377]^a\377C>D\377*\040*\377RQQ\377]_[\377rxv\377"
+ "{\206|\377s\216l\377b\230G\377Jz\000\377b\230\006\377^\223\003\377\\\221\001\377"
+ "e\234\016\377h\233\021\377u\241!\377n\233\002\377\177\253\004\377w\246\003\377[\204"
+ "\000\377v\247\034\377m\232\005\377l\227\004\377p\236\001\377v\250\020\377{\252\002\377"
+ "o\233\001\377n\241\014\377y\255\022\377u\236\001\377\211\251\002\377\231\263\010\377"
+ "\244\300\010\377\204\246\000\377\221\260\026\377\215\250\"\377\270\315n\377\201"
+ "\243\006\377\202\246\002\377\210\250\000\377\232\252\017\377\213\235\001\377\233\273"
+ "\001\377\211\254\001\377\204\252\002\377v\231\001\377\206\250\002\377e\234\014\377c"
+ "\231\012\377^\222\002\377Z\214\002\377a\221\003\377b\216\003\377e\212\003\377_\200\002"
+ "\377Su\002\377[y\002\377Vr\001\377[{\002\377`\210\002\377i\223#\377]\213\016\377Nu\005"
+ "\377v\241\005\377T\202\002\377\067d\000\377^\212'\377o\234\064\377S\200\000\377v\241"
+ "\020\377\223\265\022\377\237\301(\377\214\260Q\377g\202:\377`tB\377~\200v\377"
+ "\201\200|\377\205\202\177\377\210\205\200\377\204\204~\377\214\222\210\377"
+ "fa`\377?\060\066\377<\061\064\377PIK\377d[[\377phc\377uo`\377rjQ\377\201zZ\377"
+ "\247\237\204\377\227\211l\377fVC\377SB\065\377\067$\036\377QA;\377dSG\377uh"
+ "[\377\217\202o\377\214zf\377\240\220w\377\215|[\377\210y[\377\200sX\377}"
+ "oS\377\200pQ\377weB\377\203sO\377\212{W\377vbC\377\202oQ\377\207uZ\377\232"
+ "\212r\377\224\204p\377\225\207v\377ti`\377bVT\377L=?\377jZN\377\231\211n"
+ "\377\261\246\213\377\237\221w\377\215\201k\377\202{j\377ytk\377\204\205\200"
+ "\377{\177|\377rtt\377YZZ\377QTQ\377\\dU\377bp[\377\\gX\377mzk\377o\210m\377"
+ "Eu%\377P\207\036\377^\220\001\377[\221\002\377V\213\003\377c\227\002\377c\224\013\377"
+ "g\227\010\377Z\201\000\377h\220\002\377\202\252\001\377~\251\020\377\201\262/\377"
+ "\203\261\063\377\202\260\063\377\203\254\025\377\204\261\040\377v\244\021\377"
+ "y\247\002\377h\227\002\377o\237\003\377|\264;\377}\257\026\377\214\264\002\377\204"
+ "\246\002\377\225\261\001\377\246\267\002\377\212\245\013\377\233\267<\377\244\302"
+ "U\377\223\267*\377z\237\000\377\216\257\005\377\246\263$\377\247\274/\377\231"
+ "\266\000\377\216\254\002\377\203\246\003\377\203\251\003\377\217\263\002\377_\220\001"
+ "\377Y\212\000\377M~\000\377U\204\000\377V\205\000\377a\217\003\377c\214\002\377_\203"
+ "\000\377_\204\002\377b\212\003\377X\177\002\377Y\204\003\377d\223\023\377Oy\033\377C"
+ "o\000\377h\212\036\377~\246\024\377O\200\000\377Z\211)\377Kp&\377U\202\001\377f\225"
+ "\003\377x\241\003\377\211\254\002\377o\220\010\377\216\260R\377u\226;\377Yv,\377"
+ "\205\213\203\377\227\236\225\377\221\227\217\377\221\224\217\377\201{\200"
+ "\377\217\207\211\377cW`\377B\062<\377NAH\377i^e\377\202v~\377\223\214\217"
+ "\377\206\204z\377yq^\377rkP\377\233\224x\377\246\240\203\377\234\221s\377"
+ "\213yb\377cQC\377\070&\040\377=+(\377K=:\377RD>\377]J@\377vgX\377m^O\377qe"
+ "W\377wiX\377\177p[\377\210wa\377\225\206l\377\220\201i\377\227\212t\377\206"
+ "xf\377{l^\377\211~q\377\207|s\377i[Q\377S?:\377I\066\065\377]LG\377\205vi\377"
+ "\240\223~\377\255\242\216\377\245\231\204\377\203qX\377\202t_\377vnd\377"
+ "\203~|\377\221\221\221\377~~\202\377NOT\377MVL\377Q^N\377BP@\377\070D\064\377"
+ "VfO\377bzU\377Sz?\377H~\032\377P\204\012\377V\213\003\377P\202\003\377W\206\002\377"
+ "i\225\002\377g\222\012\377a\217\001\377p\232\003\377l\226\002\377p\235\002\377k\225"
+ "\002\377z\247\007\377p\236\006\377h\235\010\377\207\262\067\377r\244\020\377j\234"
+ "\003\377\202\261\013\377m\236\003\377s\243\006\377\204\266:\377s\255\061\377\202"
+ "\253\001\377\201\242\002\377\216\256\002\377\212\250\002\377\256\267\007\377\244\300"
+ "M\377\215\260\031\377\210\260\040\377~\247\007\377\206\253\013\377\242\273,\377"
+ "\230\271\037\377\222\264\002\377\211\251\002\377\216\262\004\377\205\250\001\377\207"
+ "\251\001\377u\235\065\377\236\277v\377\302\333\270\377t\244\066\377\220\266M"
+ "\377m\225\025\377_\216\006\377\\\217\024\377S\205\005\377\\\221\004\377_\225\003\377"
+ "Y\211\001\377e\227\031\377En\000\377Ks\001\377U~\002\377n\241\003\377Y\211\030\377O|"
+ "\017\377W\211\005\377g\231\015\377V\203\001\377]\210\000\377V\177\000\377]\207\033\377"
+ "y\244<\377h\224-\377c\211\066\377o\212U\377~\205x\377\231\231\227\377\235"
+ "\233\233\377\233\230\230\377\223\216\214\377qim\377\\QV\377h`b\377ztw\377"
+ "\211\203\210\377\233\226\224\377\210\202x\377\212\203s\377\200u_\377\207"
+ "}b\377\233\223t\377\246\240\203\377\242\231{\377\240\221u\377|iX\377eOH\377"
+ "`MJ\377A*(\377G\060.\377L;\070\377A/*\377WG>\377M\071,\377^L>\377{jZ\377\220"
+ "\201r\377\207zj\377\202wj\377pe[\377UIB\377WHC\377^LB\377wfW\377q`Q\377}"
+ "j]\377\243\232\205\377\260\251\226\377\260\250\224\377\235\222~\377\201s"
+ "]\377\201s`\377\202ym\377\177vo\377\204~{\377\250\247\246\377\221\225\222"
+ "\377q}n\377PUO\377AEE\377ENE\377:L/\377<W!\377Ck\035\377J~\034\377h\230\060"
+ "\377Iv\002\377X\215\006\377V\207\006\377c\222\001\377z\234\010\377i\226\013\377\225"
+ "\271\066\377x\236\000\377`\216\002\377o\240\001\377k\232\010\377o\237\002\377o\236"
+ "\003\377y\253-\377|\246\023\377\200\260\033\377j\231\001\377}\252\005\377p\241\001"
+ "\377u\242\010\377\221\273R\377g\235(\377\246\303`\377\215\246\002\377\221\256"
+ "\001\377u\231\002\377\213\251\005\377\264\315W\377\210\253\002\377y\234\000\377\221"
+ "\276@\377\205\256\013\377\222\272\016\377\226\274\022\377\230\276\025\377\220"
+ "\257\001\377\224\261\003\377\217\252\002\377\243\276\030\377\324\344\321\377x\244"
+ "\066\377d\226\021\377X\212\004\377Q\202\003\377\\\220\004\377e\222\014\377_\221\003"
+ "\377]\216\001\377J|\002\377O\200\002\377`\225\007\377R{\004\377Ej\001\377U|\003\377[\207"
+ "\005\377f\233\002\377P}\013\377V~\004\377\\\204\006\377Kl\001\377Y\204\002\377u\235\025"
+ "\377w\235\027\377X\207\013\377S\204\010\377^\215\027\377E`\033\377Rh\064\377my"
+ "_\377\224\224\215\377\237\237\232\377\225\225\220\377\203|x\377}vv\377wr"
+ "t\377gaf\377ojl\377\224\215\217\377\263\260\254\377\227\223\213\377\207\205"
+ "x\377\223\215{\377\177x]\377zoM\377\226\217m\377\225\215m\377\251\237\202"
+ "\377\250\237\204\377\262\252\224\377\230\213r\377\177oY\377p]O\377jWN\377"
+ "YC\067\377kXL\377T?\063\377eSG\377jXH\377{h[\377veW\377l\\M\377i\\M\377k\\"
+ "J\377zhT\377\235\214y\377\260\241\215\377\254\235\211\377\266\251\225\377"
+ "\257\244\220\377\260\250\224\377\214}d\377\214~c\377\221\204n\377xlY\377"
+ "\226\222\207\377\230\227\220\377\222\225\212\377\213\231\200\377\177\227"
+ "r\377etX\377>>?\377>A=\377UjH\377W\177:\377N\203&\377F\210\016\377T\223\025"
+ "\377t\231\023\377c\216\004\377Q\201\001\377`\214\002\377_\211\002\377c\210\001\377o"
+ "\233\026\377\201\253\064\377\205\245\012\377e\222\002\377n\235\002\377j\236\014\377"
+ "l\243\002\377c\225\010\377^\221\005\377r\244\005\377x\247\012\377q\235\001\377w\253"
+ "\003\377t\251\030\377x\237\013\377\226\270W\377u\235\040\377|\251E\377\217\255"
+ "\005\377\223\262\003\377\204\244\002\377\203\244\003\377\253\312J\377\222\266\023"
+ "\377~\244\000\377\211\266\034\377\213\271#\377\207\262\010\377\215\270\007\377"
+ "\231\274\017\377\233\266\003\377\247\275\011\377\223\253\001\377\233\270\002\377"
+ "o\257\061\377[\221\000\377d\230\001\377Q\203\002\377Y\223\017\377O\205\002\377Ix\001"
+ "\377[\214\002\377W\213\002\377V\212\003\377T\205\004\377\\\225\013\377\\\217\016\377"
+ "S}\003\377Tz\001\377^\216\007\377_\221\005\377U\200\005\377Z\201\020\377o\236\016\377"
+ "h\227\005\377\207\241\017\377e\206\005\377f\210\002\377p\227\002\377Z}\001\377Y|\012"
+ "\377\067R\000\377Fb\030\377izN\377t}f\377\231\232\224\377\227\227\217\377\220"
+ "\217\207\377\202{x\377h]d\377lfl\377lgm\377\231\220\225\377\262\253\247\377"
+ "\252\244\234\377\221\216\201\377\220\213y\377\211\202j\377|tS\377\216\202"
+ "`\377~qI\377\213{Y\377\253\243\211\377\263\255\230\377\252\243\211\377\256"
+ "\244\216\377\241\222}\377\233\212w\377\237\216{\377\250\232\207\377\231\213"
+ "x\377\225\207u\377\212{m\377\240\222\203\377\247\232\213\377\234\215}\377"
+ "\245\227\200\377\254\234\202\377\251\230~\377\255\236\206\377\273\255\233"
+ "\377\277\266\244\377\262\252\226\377\235\225\201\377\224\212u\377\211}e\377"
+ "\227\216x\377\220\210u\377\224\217\201\377\211\207}\377\217\216\207\377\247"
+ "\250\242\377\235\252\224\377gw`\377bkT\377ScN\377bv`\377Hc\065\377\030=\000\377"
+ "+Z\005\377E\203\013\377B}\007\377\\\222\003\377\227\240\011\377X\204\002\377c\215\002"
+ "\377_\207\002\377a\211\001\377e\224\014\377R\200\003\377\206\256(\377c\214\001\377"
+ "s\237\001\377k\233\002\377l\243\023\377g\231\010\377d\223\003\377q\242\003\377p\237"
+ "\002\377\177\260\005\377k\233\002\377k\235\000\377\201\250\006\377w\246\034\377\203"
+ "\253\066\377\251\273W\377\215\253\037\377\250\267\040\377\215\251\004\377\210"
+ "\252\002\377\212\263\010\377\214\263\016\377\177\242\001\377\246\273\005\377\217"
+ "\274B\377\213\271\040\377\214\271\013\377\205\251\001\377\243\276\006\377\230\260"
+ "\002\377\220\252\003\377\231\263\002\377Z\220\001\377g\233\002\377W\211\002\377Y\216"
+ "\005\377_\224\003\377b\223\002\377V\210\002\377_\222\003\377^\220\003\377b\235\002\377"
+ "d\235\003\377]\227\002\377^\230\003\377R\210\003\377[\221\003\377d\231\012\377b\227"
+ "\006\377g\226\023\377e\227\007\377l\232\011\377\215\253&\377_z\002\377Z}\004\377q\213"
+ "\003\377p\212\002\377Ts\003\377\065W\002\377Cg\004\377-Q\001\377X\202\004\377_tD\377t|n"
+ "\377y{r\377\212\211\201\377\222\220\213\377\217\214\210\377XQY\377b[c\377"
+ "~w\177\377\230\223\223\377\270\263\254\377\237\232\217\377\217\210w\377\224"
+ "\215x\377\220\212q\377\215\202b\377\215}Z\377\221\203_\377\217\202a\377\227"
+ "\214p\377\245\234\202\377\253\244\215\377\267\255\230\377\260\244\217\377"
+ "\264\250\225\377\264\252\230\377\262\247\226\377\253\240\217\377\254\241"
+ "\222\377\251\235\216\377\232\213z\377\262\245\223\377\262\244\215\377\255"
+ "\235\205\377\264\242\211\377\247\223z\377\267\250\225\377\272\255\233\377"
+ "\232\215v\377\221\207r\377\231\222~\377\215\206p\377\223\215y\377\231\223"
+ "\204\377\221\220\205\377\213\213\203\377\211\211\200\377\241\246\226\377"
+ "\201\217u\377|\211d\377\201\177U\377Q[I\377)E\035\377.T\040\377p\227Z\377J"
+ "\200\021\377=p\002\377P\210\003\377[\222\003\377o\212\016\377c\203\003\377b\210\002\377"
+ "h\224\002\377e\222\001\377R\202\001\377M\200\002\377\204\254/\377b\212\000\377q\237"
+ "\002\377i\236\013\377p\247\023\377j\235\005\377s\241\011\377u\243\001\377t\246\002\377"
+ "q\242\003\377h\232\002\377m\236\004\377|\247\003\377n\245\024\377\210\266G\377\260"
+ "\313P\377o\234\010\377\234\263\022\377\250\265!\377\222\256\017\377\212\261"
+ "\024\377\221\271'\377\203\245\001\377\236\243\003\377\221\271\060\377\216\272:"
+ "\377\223\300\017\377\222\272\004\377\220\256\002\377\213\247\002\377\221\255\002\377"
+ "\222\257\002\377_\223\002\377m\235\001\377g\230\010\377p\230\011\377n\221\012\377"
+ "z\234\033\377_\213\005\377W\206\003\377\\\220\002\377^\225\002\377c\234\011\377Z\210"
+ "\001\377j\226\026\377s\244'\377^\220\026\377V\204\014\377_\217\002\377]\206\001\377"
+ "o\227\002\377{\230\023\377\205\243\030\377Mp\001\377Ln\002\377f\202\002\377m\206\002"
+ "\377Uo\002\377\065J\001\377;T\002\377Ff\003\377?c\001\377If\040\377Sa@\377ei^\377\177"
+ "~v\377\220\221\204\377\201\201w\377gfc\377cac\377a]a\377\233\227\225\377"
+ "\252\245\235\377\223\214\201\377\224\220\203\377\215\213{\377\231\226\205"
+ "\377\212\205j\377\206\200]\377\216\205c\377\217\205g\377\222\206j\377\204"
+ "uU\377\217\201a\377\241\225x\377\260\244\211\377\250\235\202\377\235\220"
+ "w\377\252\240\207\377\237\224\177\377\260\247\224\377\227\211u\377\224\203"
+ "o\377\247\233\206\377\266\252\223\377\250\231\201\377\260\243\214\377\254"
+ "\237\210\377\247\232\204\377\250\233\205\377\230\213u\377\221\205r\377\212"
+ "\201o\377\235\227\207\377\234\233\216\377\232\232\221\377\202\202|\377\207"
+ "\207\177\377\177\202t\377\216\241w\377\177\217d\377r\177^\377eoc\377G\\>"
+ "\377&K\015\377)V\003\377Fy\021\377n\232H\377J\201\014\377d\235\002\377[\217\020\377"
+ "x\241=\377o\217\012\377o\220\005\377d\222\003\377_\217\001\377Z\215\003\377Y\212\002"
+ "\377t\241#\377p\235\017\377p\243\010\377k\234\015\377o\243\010\377f\223\005\377"
+ "p\236\005\377w\245\002\377}\254\002\377{\255\004\377n\237\002\377\\\217\000\377\205\256"
+ "\000\377f\241\017\377\210\270G\377\224\273(\377x\243\002\377u\245\013\377\202\244"
+ "\000\377\225\257#\377\224\263#\377\223\271\063\377\203\250\001\377\222\246\004\377"
+ "\200\246\006\377\206\256+\377\207\262\011\377\204\251\001\377\217\264\002\377\214"
+ "\256\002\377\214\264\007\377\215\261\006\377a\225\003\377e\230\002\377Y\220\004\377U"
+ "\213\002\377U\205\001\377`\215\001\377Sq\001\377]\211\002\377^\216\003\377]\222\003\377"
+ "_\220\030\377\212\264T\377k\234\025\377`\222\001\377U\203\001\377Fp\001\377b\217"
+ "\002\377S|\003\377[\210\005\377\223\257>\377f\217\006\377W\201\002\377Z~\005\377i\223"
+ "\002\377Yw\003\377Xi\001\377do\007\377Vg\004\377Rm\006\377Km\011\377:\\\000\377Qr\016\377"
+ "\067H\040\377]kK\377|\206l\377\214\216\200\377\227\230\217\377kih\377ead\377"
+ "\221\213\213\377\205{w\377\216\204{\377\214\203y\377\206\177t\377\217\214"
+ "|\377\217\214u\377\222\215o\377\200zX\377\203~]\377\226\215k\377\204vP\377"
+ "\216~Z\377\216\200]\377\230\213h\377\230\215j\377\241\230u\377\234\222t\377"
+ "\242\227}\377\245\233\207\377\222\205s\377\226\212t\377\250\236\211\377\256"
+ "\241\213\377\253\235\205\377\253\235\205\377\227\213u\377\240\224\202\377"
+ "\207\177m\377\214\200o\377\215\205t\377\245\241\220\377\227\226\211\377\216"
+ "\217\205\377\213\213\203\377\177~y\377}}t\377\220\236x\377y\221V\377^qK\377"
+ "Q^K\377L]D\377.N\024\377+Q\004\377@m\005\377M\203\011\377?s\001\377\202\260R\377"
+ "a\232\001\377Bm\025\377\203\255O\377k\217\035\377X\177\006\377O\177\001\377_\216"
+ "\001\377c\225\002\377V\202\002\377V\202\000\377\231\302J\377j\231\010\377i\230\002\377"
+ "t\246\002\377w\245\002\377t\243\003\377l\232\002\377\200\261\003\377l\236\003\377l\241"
+ "\001\377W\217\017\377\222\270&\377r\246\024\377\215\276Y\377\224\273,\377\201"
+ "\246\000\377}\247\002\377\200\255\002\377\177\245\002\377\200\246\005\377\242\302G"
+ "\377\177\251\006\377w\235\001\377\220\261#\377\220\256.\377\206\261.\377v\237"
+ "\000\377\212\265\001\377\205\253\002\377\224\271\005\377\243\305#\377O\204\001\377"
+ "Z\217\003\377Z\221\003\377P\210\002\377Z\224\004\377W\213\003\377\\\215\000\377e\226"
+ "\007\377d\226\005\377Vx\005\377t\222\024\377c\217\006\377\202\240>\377a\205\010\377"
+ "_\207\004\377U~\002\377f\227\006\377t\251\036\377\204\261#\377\202\252'\377q\235"
+ "\010\377^\214\001\377a\214\015\377\\\212\000\377T~\001\377]\205\003\377_\206\002\377"
+ "[|\002\377Xw\004\377Ss\004\377Db\001\377;Z\001\377\063P\003\377p\224D\377`fS\377tvh\377"
+ "~\177t\377d^]\377tps\377uoq\377\240\230\223\377\254\245\234\377\243\236\222"
+ "\377\230\222\205\377{yk\377\204\203r\377\215\213r\377\217\212k\377\211\202"
+ "`\377\207\200[\377\212\203]\377\227\217j\377\230\220l\377\242\232{\377\223"
+ "\211j\377\232\224u\377\247\240\204\377\223\215s\377\234\224\177\377\206y"
+ "f\377\220\203p\377\226\212t\377\244\230\177\377\254\240\207\377\247\234\206"
+ "\377\222\207u\377~ua\377\226\221\200\377\234\232\213\377\230\230\212\377"
+ "\230\231\216\377\206\206}\377\226\225\217\377\212\212\204\377\177~y\377\201"
+ "\201z\377\215\244h\377k\177Q\377ERA\377/B&\377\062M\031\377,N\007\377Af\007\377"
+ "Fr\002\377V\214\007\377F~\003\377_\237\002\377d\230,\377[\204\023\377s\235D\377Mv"
+ "\000\377p\216-\377Ft\000\377]\213\002\377Y\211\001\377W\207\003\377`\222\002\377\226"
+ "\300H\377c\215\007\377h\227\001\377i\232\003\377u\244\002\377g\230\002\377i\230\002\377"
+ "x\254\002\377m\235\015\377b\231\000\377{\257<\377\234\306h\377\213\266\063\377"
+ "\217\272\061\377\206\260\022\377\212\257\031\377\244\300=\377~\251\035\377\216"
+ "\261\006\377\201\244\000\377\255\310N\377\317\326\217\377n\222\000\377\220\244"
+ "'\377\246\276M\377r\240\006\377\211\256\023\377\223\264\002\377\206\246\002\377"
+ "\214\257\001\377\227\273\030\377h\236\013\377P\206\001\377W\215\003\377_\226\003\377"
+ "T\212\002\377^\226\000\377q\243\034\377q\245\037\377\\\216\001\377}\223\027\377\257"
+ "\257F\377Z\203\001\377\\\212\017\377Rz\002\377d\217\015\377c\215\007\377s\244\003\377"
+ "q\234\002\377\233\272\066\377h\206\001\377l\220\003\377V}\001\377o\233\004\377m\232"
+ "\016\377h\216\013\377b\203\001\377]|\002\377Zw\002\377Vr\002\377Ee\002\377?a\002\377Cb"
+ "\002\377[~\004\377Lk\004\377!\063\006\377?K,\377prd\377\214\213\204\377\212\213\204"
+ "\377\210\203\201\377\232\223\224\377\225\222\220\377\235\234\226\377\203"
+ "\201x\377|{r\377ccZ\377\214\214|\377\221\216y\377\220\214q\377\224\217q\377"
+ "\206~\\\377\214\204`\377\222\214j\377\251\245\214\377\223\220t\377\222\220"
+ "s\377\217\214p\377\222\213n\377\225\211n\377\210y`\377\203r[\377\216~h\377"
+ "\245\232\200\377\240\230\177\377\232\223\177\377\230\221\200\377\240\233"
+ "\212\377\243\243\227\377\224\224\211\377\214\215\203\377yyr\377lkh\377on"
+ "o\377xxw\377YYY\377x\177h\377p\213N\377DND\377ES?\377)C\030\377+M\012\377?"
+ "k\017\377/Z\002\377=l\002\377M\202\010\377G\201\002\377\\\226\004\377Bl\022\377{\253"
+ "F\377y\244H\377Cn\000\377\245\274m\377d\222\017\377b\225\003\377^\222\012\377^"
+ "\226\020\377\\\222\002\377n\232\026\377\201\255'\377_\221\001\377l\236\002\377d\227"
+ "\003\377]\220\002\377o\242\002\377o\242\006\377\214\257G\377\223\277]\377i\235\014"
+ "\377\\\216\003\377~\262\030\377p\230\004\377\204\263\035\377\212\273L\377\227\305"
+ "h\377\231\304r\377\265\327\215\377\240\307F\377\221\267\065\377\245\272\071"
+ "\377\223\251,\377\250\272I\377\271\313`\377\276\320`\377\233\271/\377\211"
+ "\245\001\377x\226\002\377\212\254\001\377\242\301)\377V\210\003\377V\211\003\377c\223"
+ "\004\377\\\225\004\377]\223\005\377Y\217\000\377`\222\004\377e\224\001\377d\216\004\377"
+ "n\223\003\377h\214\002\377n\232\002\377h\231\003\377u\247\040\377\216\274J\377\201"
+ "\256\015\377}\244\002\377\224\264\022\377\224\261A\377Z\201\000\377a\215\002\377"
+ "p\232\012\377u\227\004\377w\222\003\377l\201\002\377l\200\002\377_p\002\377`p\001\377"
+ "J_\002\377So\003\377+C\000\377Jp\013\377z\237\036\377<]\002\377\031\065\000\377Oi%\377"
+ "dv?\377np_\377kjb\377}wz\377xmu\377ndn\377qfn\377^SZ\377>\070<\377>\071=\377"
+ "efc\377]^V\377\207\210t\377\227\225z\377\206\202`\377\213\210d\377\216\211"
+ "g\377\230\227|\377\177\207]\377\236\235\177\377\226\224v\377\234\226y\377"
+ "\201uX\377\207z\\\377\222\207j\377\237\230}\377\230\222{\377\233\225\201"
+ "\377\235\232\206\377\231\230\205\377\231\231\212\377\226\227\213\377\231"
+ "\232\220\377wwr\377^]]\377>==\377B?A\377JFI\377B>B\377\231\245v\377]bQ\377"
+ "-<\"\377(A\025\377(I\011\377\062Y\017\377*S\001\377\063d\006\377\067k\005\377Cx\002\377"
+ "U\224\005\377Cl\002\377Nt\000\377o\233+\377y\245M\377Q\203\000\377Y\212\024\377\214"
+ "\266Q\377S\205\002\377R\202\002\377S\201\002\377b\222\002\377e\226\015\377{\252&\377"
+ "j\236\001\377k\235\001\377`\217\003\377i\227\000\377v\246\001\377s\250\026\377s\247"
+ "\062\377f\233\015\377p\237\003\377m\232\005\377y\255\040\377v\232\003\377t\245\012"
+ "\377o\236\000\377\225\273?\377\300\341\224\377\215\271<\377\204\260\027\377"
+ "\204\263)\377\212\261(\377\254\306]\377\247\264?\377\214\257\030\377\207\256"
+ "\023\377\232\303B\377\217\267(\377u\217\001\377\202\236\002\377\236\301/\377`"
+ "\221\003\377\\\221\003\377\\\227\004\377`\231\005\377n\237\012\377\200\245\035\377"
+ "g\227\001\377Y\215\002\377X\212\001\377q\231\004\377p\227\002\377f\224\002\377g\231\002"
+ "\377u\251\"\377f\224\005\377m\230\001\377u\236\001\377s\233\006\377b\221\004\377a\221"
+ "\004\377a\212\003\377m\217\006\377k\212\002\377l\210\001\377x\225\003\377j\212\002\377"
+ "a\203\002\377a\201\003\377`\201\007\377h\216\007\377\\\203\011\377o\244\026\377Lk\012"
+ "\377Hf\020\377Xy\034\377<T\006\377:M\013\377S\\\070\377UVF\377GC?\377VJQ\377xk"
+ "s\377ujp\377]RZ\377#\027\035\377\062*.\377;\065\067\377ONJ\377ute\377\217\213"
+ "q\377\214\210h\377\233\231x\377\207\210a\377\204\207[\377\200\205W\377\234"
+ "\232w\377\220\214i\377\227\220n\377\203zV\377\226\221q\377\231\224x\377\226"
+ "\221y\377\243\240\214\377\236\237\212\377\224\225\202\377\217\217\177\377"
+ "\223\224\206\377\230\231\217\377\221\220\213\377lfe\377JCE\377\060)+\377>"
+ "\071;\377\063.\060\377zx[\377\210\230h\377XdV\377\064K*\377\036@\010\377-V\016\377"
+ "\037L\002\377,\\\005\377:m\007\377F{\004\377X\204\012\377`\215\021\377Lu\010\377`\207"
+ "\013\377U\202\024\377~\261C\377U\210\000\377U\204\000\377\210\270G\377Z\213\004\377"
+ "Q\204\001\377c\226\003\377W\205\002\377`\215\012\377|\252\032\377l\242\002\377[\215"
+ "\002\377g\232\007\377\207\264\064\377|\254\012\377h\237\014\377`\227\020\377r\245"
+ "\004\377}\246\001\377z\252\037\377p\244(\377\202\235\001\377\204\264\060\377\242"
+ "\312^\377\260\323k\377\200\243\020\377v\244\004\377\214\275@\377\230\303T\377"
+ "\255\320g\377\204\261.\377\240\274\040\377\210\255\020\377\235\253\040\377\224"
+ "\273@\377\230\274G\377\225\264\021\377\217\260\002\377\227\302\070\377V\206\003"
+ "\377Y\223\011\377O\216\002\377W\222\002\377U\220\003\377Q\212\003\377U\214\002\377Z"
+ "\220\001\377\\\221\002\377^\222\001\377n\236\006\377t\247\024\377[\211\001\377i\233"
+ "\015\377g\224\002\377h\217\002\377b\206\000\377}\240\022\377\224\267\011\377r\237"
+ "\001\377j\226\002\377r\237\003\377i\221\002\377l\227\002\377q\225\002\377k\203\003\377"
+ "`l\002\377eo\002\377{\230\002\377u\235\002\377Sl\010\377l\217\034\377o\213,\377Ei\005"
+ "\377?`\001\377Np\022\377Pc\037\377!\060\006\377FN\071\377Z[S\377XUS\377skk\377\211"
+ "\203\200\377ka]\377H\071\061\377TF>\377L?\071\377_VO\377e^R\377uo\\\377\211"
+ "\210k\377\211\215g\377{\204S\377\210\212a\377~|V\377\222\222m\377\224\221"
+ "m\377\177|T\377\203\177W\377\233\232x\377\213\211k\377\220\220v\377\221\222"
+ "~\377\222\227\200\377\227\240\204\377\210\213x\377\226\226\211\377\233\234"
+ "\223\377\216\214\205\377zri\377tk_\377zqe\377~yn\377kh]\377\224\245r\377"
+ "ViB\377\067O\060\377>Y,\377\064T\024\377\032C\002\377\037Q\001\377;s\020\377A{\006\377"
+ "X\213\020\377p\231#\377Nz\031\377M\204\015\377I{\000\377b\226\031\377v\253\062\377"
+ "_\220\002\377W\201\001\377t\245\023\377^\220\004\377`\224\005\377K}\003\377U\203\002\377"
+ "m\235\011\377\203\262%\377c\224\000\377[\214\000\377i\233\006\377j\227\004\377t\247"
+ "\002\377i\240\012\377c\226\002\377\206\260\004\377~\246\012\377l\236\017\377i\242"
+ "/\377\226\276K\377\221\272I\377\201\256&\377\212\237\020\377\211\241\005\377"
+ "o\230\005\377\235\275O\377\221\257:\377\206\252!\377}\252\022\377\214\242\006"
+ "\377\203\236\004\377\213\254\011\377\325\336q\377\272\311>\377\224\260\005\377"
+ "\221\260\002\377\225\300=\377Bx\002\377T\217\004\377S\214\002\377U\215\002\377Y\221"
+ "\003\377]\223\002\377X\213\002\377p\236\027\377p\233\010\377f\225\003\377b\221\007\377"
+ "a\220\002\377\\\212\002\377W\205\001\377f\220\002\377X\202\002\377_\211\002\377\210\256"
+ "\005\377\221\263\002\377l\222\002\377r\232\003\377v\236\001\377z\245\002\377q\216\003\377"
+ "k\200\002\377hz\004\377jw\002\377x\206\005\377{\225\001\377g\210\011\377m\230\024\377"
+ "q\226\040\377Zl\016\377Tl\012\377Uy\012\377Oi\034\377\040.\000\377\061<\025\377js["
+ "\377\202\204u\377{zn\377qh_\377}tm\377\230\220\200\377\225\210p\377\230\210"
+ "m\377\230\211l\377\213|c\377\202u]\377|w\\\377tuO\377v\200N\377\206\214b"
+ "\377\216\220n\377~}W\377\203\201Z\377\213\212b\377\203\201R\377\212\210^"
+ "\377\224\223q\377\214\214l\377\213\213n\377\201\201j\377\223\226\200\377"
+ "\227\236\201\377\224\232\200\377\225\226\211\377\230\231\220\377\211\206"
+ "|\377\216\206y\377\226\216|\377\235\227\206\377\214\211|\377\201\205o\377"
+ "\212\262j\377BY\064\377&?\031\377+K\021\377$H\010\377\"J\002\377<m\022\377O\206"
+ "\031\377M\205\012\377N\203\003\377R\202\030\377c\222%\377P\177\000\377P\177\002\377"
+ "^\217\025\377c\224!\377f\226\003\377Ov\002\377h\234\003\377R\206\002\377e\231\016\377"
+ "R\200\004\377q\236\011\377\202\260'\377\226\277\070\377\212\270C\377l\234\036"
+ "\377n\236\025\377t\241\003\377q\242\013\377y\253\011\377\211\265\004\377m\237\022"
+ "\377\206\264D\377p\244\021\377\203\267E\377\225\276?\377\201\256#\377t\245"
+ "\007\377\246\257\062\377\232\260,\377\232\272\066\377\177\243\"\377}\235\017\377"
+ "\232\300H\377n\234\001\377|\237\005\377\207\243\000\377\266\306/\377\231\275-\377"
+ "\205\256\026\377x\233\004\377\206\253\006\377\215\271\063\377S\213\003\377O\213\003"
+ "\377G}\002\377Z\210\001\377U\204\002\377Z\215\003\377]\217\013\377b\217\004\377l\231"
+ "\007\377c\217\003\377\\\215\003\377c\224\017\377a\220\010\377i\230\014\377b\222\000"
+ "\377b\222\002\377j\231\001\377\230\274\011\377p\222\002\377p\223\002\377v\230\002\377"
+ "{\233\005\377e}\002\377fx\002\377\215\241\006\377~\222\006\377z\245\004\377n\225\002\377"
+ "s\214\031\377\206\257:\377_\205\002\377^}\004\377q\216\035\377s\215\032\377g\177"
+ "\014\377>J\001\377<I\001\377Wg!\377JW&\377nqQ\377\207\205s\377zsg\377\215\205"
+ "}\377\205}s\377\237\222\201\377\254\237\210\377\244\226y\377\224\204g\377"
+ "xhJ\377vqF\377pq?\377}{S\377}{Z\377\210\207f\377\211\212g\377\207\206`\377"
+ "\206\204Z\377\206\204X\377\226\224m\377\213\212d\377\204\202c\377\211\212"
+ "l\377\206\206m\377\221\223}\377\220\225~\377\230\242\213\377\227\231\217"
+ "\377\201~x\377\214\207~\377\214\205x\377~wl\377}yo\377mji\377\203\234f\377"
+ "y\242X\377\062L%\377\034<\015\377Fn!\377&F\003\377\071`\010\377[\217!\377K\205\007"
+ "\377Fz\002\377_\223\015\377f\235!\377L\200\000\377P\202\002\377W\207\002\377Z\211"
+ "\022\377f\225\025\377f\220\003\377R\177\002\377j\234\003\377^\215\002\377b\222\016\377"
+ "{\244\005\377\206\262=\377g\236\007\377\206\265\061\377a\225\016\377Z\212\002\377"
+ "g\223\003\377{\250\002\377y\246\017\377\222\271\007\377\200\253\006\377j\230\020\377"
+ "\206\263\066\377\257\321n\377e\230\014\377i\233\002\377q\236\003\377i\236\007\377"
+ "p\235\002\377\215\262\004\377x\234\003\377q\227\000\377\253\274H\377\215\263\062\377"
+ "u\246\024\377\201\245\005\377\246\270\030\377\237\257\003\377\240\273\026\377\214"
+ "\265\033\377\202\245\010\377\236\301\033\377\205\266(\377Y\227\002\377K\207\003"
+ "\377Y\223\003\377f\220\012\377\\\207\002\377^\214\002\377]\217\002\377`\221\004\377"
+ "[\215\002\377Y\213\002\377p\234\022\377l\225\024\377c\213\007\377g\221\005\377a\215"
+ "\002\377c\217\002\377g\222\002\377\210\256\003\377s\232\001\377s\227\002\377t\223\002\377"
+ "t\220\004\377\202\225\005\377j}\002\377\211\227\004\377\177\224\007\377j\203\005\377"
+ "q\215)\377y\242*\377i\236\003\377i\226\007\377d\213\006\377a\205\005\377Qq\001\377"
+ "Ni\001\377`v\006\377z\212\031\377dn\006\377mo\016\377]`\037\377ggB\377po_\377\177"
+ "|t\377voi\377\220\206z\377\222\204q\377\202rX\377\207yW\377|tA\377\203\177"
+ "D\377\200uG\377xmG\377rkH\377}y\\\377\213\212k\377\214\212h\377}|S\377\212"
+ "\210`\377\231\230r\377\212\210c\377\213\207g\377\220\217r\377\215\215u\377"
+ "\220\222}\377\223\226\202\377\232\242\214\377\221\221\211\377vqi\377ysh\377"
+ "\205~q\377wti\377TSN\377^eS\377c\217E\377r\235R\377\065U\033\377Nv\060\377&"
+ "K\001\377:e\006\377Gy\014\377>x\005\377;p\001\377e\230\027\377Z\217\003\377Q\204\001\377"
+ "Hz\002\377I{\001\377Z\212\002\377a\224\022\377l\226\021\377n\225\004\377`\212\002\377"
+ "l\227\003\377p\230\004\377i\231\007\377j\227\014\377\205\265H\377o\240\031\377\211"
+ "\265/\377c\227\014\377Z\211\002\377m\232\004\377l\231\002\377\220\257\003\377z\251"
+ "\002\377u\236\026\377q\240\035\377\212\271F\377s\242\032\377h\230\001\377q\240\001"
+ "\377\251\315\065\377n\237\016\377u\244\006\377k\230\003\377\204\251\001\377\230\262"
+ "\017\377u\242\016\377\225\270\066\377v\247+\377\230\271*\377\246\276#\377\245"
+ "\270\013\377\240\252\001\377\241\274\014\377\215\264\007\377\207\260\000\377\202"
+ "\257\003\377\\\233\003\377T\221\004\377O\206\003\377T\200\003\377Ao\001\377c\225\004\377"
+ "c\226\004\377d\221\005\377d\224\002\377X\205\002\377O|\001\377s\232\033\377g\221\012"
+ "\377a\211\001\377^\212\002\377`\212\001\377i\223\002\377}\247\004\377\205\244\004\377"
+ "z\224\003\377p\214\003\377h\205\001\377\221\234\023\377v\212\004\377z\231\002\377s\234"
+ "\005\377}\234B\377[x\011\377e\225\006\377Z\205\003\377[\210\007\377h\220\020\377_\203"
+ "\005\377Qo\002\377Sn\001\377^{\005\377H_\002\377:M\001\377FU\003\377\066F\006\377aj@\377z"
+ "{k\377\177\201t\377{zr\377gdW\377\201xe\377\223\214i\377\234\232e\377\237"
+ "\234_\377\236\217a\377\226\201[\377\203qL\377q`@\377wlO\377\202|_\377\205"
+ "\201b\377|yQ\377\201\200Y\377\220\220j\377\217\216i\377\221\220r\377\211"
+ "\211m\377\217\221|\377\221\222\204\377\224\226\211\377\222\236|\377ztn\377"
+ "qj_\377nf[\377WNI\377JFF\377B@B\377ivU\377^\205D\377}\253R\377Iv#\377\062"
+ "\\\016\377Kx\030\377\065f\005\377/e\004\377\066l\002\377N\201\006\377]\220\003\377P\203"
+ "\002\377Q\201\003\377[\216\002\377\\\220\002\377F{\001\377]\225\023\377_\221\012\377"
+ "_\217\004\377Fv\001\377t\235\003\377]\206\002\377^\221\015\377\216\274R\377n\235\004"
+ "\377T\200\002\377\212\271\067\377a\227\010\377m\227\010\377l\227\002\377\240\264"
+ "\014\377r\231\002\377p\243\012\377`\225\011\377t\247\040\377p\231\014\377\177\251"
+ "\002\377n\234\003\377e\226\001\377\230\300\040\377\221\271\064\377k\230\004\377k\230"
+ "\003\377\177\244\002\377\240\270!\377\200\247\016\377\226\272'\377a\224\004\377"
+ "\202\262\023\377\223\273\033\377\245\300\"\377\233\257\007\377\221\252\001\377"
+ "\213\260\013\377\210\265\022\377\272\320H\377L\210\001\377T\217\003\377L\205\002"
+ "\377R\213\005\377[\224\004\377b\223\006\377`\205\002\377o\222\004\377g\215\000\377X\203"
+ "\000\377]\207\010\377[\177\001\377e\215\005\377f\217\016\377i\223\012\377W\202\001\377"
+ "]\205\001\377x\241\013\377g\215\004\377j\212\003\377o\213\002\377n\215\002\377i\212"
+ "\004\377~\234\010\377\204\250\013\377|\241\"\377x\222\027\377]\205\003\377g\225"
+ "\002\377\\\201\001\377Ot\003\377^\213\023\377^\214\012\377^\204\010\377f\206\015\377"
+ "Xr\002\377Pi\003\377Ga\002\377G_\001\377?W\003\377F[\021\377fnH\377rsb\377ii]\377kk"
+ "`\377[[I\377s\200E\377\224\221e\377\241\224o\377\203pP\377nY\070\377ub<\377"
+ "ziC\377yjH\377{pS\377yqT\377{vV\377|yU\377\202\177]\377\214\214k\377\215"
+ "\216o\377\214\215t\377\225\226\204\377\213\213\200\377~}t\377\202\220f\377"
+ "pmZ\377icZ\377]ZT\377JGF\377KJJ\377RRO\377r\212U\377ZoE\377t\244O\377Gv\036"
+ "\377W\214&\377?u\024\377\067p\005\377M\212\004\377Q\210\004\377T\212\002\377W\212\002"
+ "\377Dw\002\377O|\002\377Y\212\003\377V\211\003\377J~\002\377X\224\020\377N\202\007\377"
+ "L}\003\377o\230\005\377o\233\004\377e\222\004\377s\242'\377m\230\016\377t\236\004\377"
+ "h\220\012\377\207\265\062\377Y\205\000\377o\222\005\377\226\255\007\377o\217\003\377"
+ "l\236\005\377s\247\063\377f\232\030\377d\230\007\377v\236\001\377z\240\003\377u\240"
+ "\005\377s\241\003\377\212\270\013\377\200\254\026\377\\\212\002\377q\234\001\377\177"
+ "\246\002\377\214\261\005\377\177\250\006\377l\234\005\377h\233\002\377}\257\015\377"
+ "\223\274\"\377\246\273$\377\273\311R\377\236\264\023\377\216\261\011\377\203"
+ "\257\027\377\216\261,\377H~\002\377M\205\004\377L~\003\377G\200\002\377j\246\015\377"
+ "`\231\015\377h\241\023\377|\254*\377\213\267A\377\205\265/\377\202\253\065\377"
+ "f\220\004\377j\224\004\377O|\002\377[\211\013\377X\207\001\377e\204\020\377\202\256"
+ "\004\377Y\200\002\377Y~\002\377_\204\003\377V{\002\377_\202\003\377\200\245\004\377t\234"
+ "\022\377~\222\032\377w\225\014\377e\216\003\377_\215\004\377\\\214\013\377S\202\003"
+ "\377Jo\001\377W\203\017\377o\240'\377^\202\002\377]|\003\377_\202\002\377Uz\003\377"
+ "X\177\005\377Oo\002\377Da\003\377DZ\016\377S[\060\377__H\377fiQ\377Yt\061\377ZXG\377"
+ "tlY\377iYD\377qcE\377{lG\377\221\201U\377\233\211^\377\202oG\377\177mL\377"
+ "m_B\377kbE\377\200z_\377{uX\377\202~a\377\222\220y\377\213\212v\377\207\207"
+ "y\377{yn\377eaX\377ekP\377x\205X\377\\UN\377eb[\377ec_\377`^W\377`bQ\377"
+ "q\215T\377w\233Y\377s\247C\377Ar\031\377\067i\020\377\066m\007\377D\201\005\377I"
+ "\205\002\377Bz\002\377C}\001\377Av\002\377\067l\004\377a\227\010\377L\202\003\377I}\001\377"
+ "K\201\001\377]\232\016\377>u\005\377k\230\005\377^\211\002\377T\205\003\377c\226\022"
+ "\377x\243\061\377r\232\006\377\207\250\003\377j\213\004\377\220\267\066\377b\215"
+ "\000\377\200\235\004\377\252\270\005\377f\224\002\377n\244\031\377\\\220\025\377v\253"
+ "\060\377u\241\001\377\201\245\005\377{\235\002\377z\242\003\377z\254\006\377\205\262"
+ "\002\377k\232\002\377`\222\003\377q\237\005\377\200\252\003\377\201\251\005\377}\252"
+ "\005\377i\235\006\377i\237\004\377w\242\004\377\255\311V\377\311\322a\377\256\304"
+ "@\377\234\271!\377\220\262\032\377\202\261$\377t\237\023\377v\244\030\377J~"
+ "\004\377Av\002\377;v\004\377\\\217\015\377v\252\"\377\232\307h\377\234\307k\377"
+ "\241\314v\377k\230.\377N|\000\377t\237\022\377f\226\007\377e\226\003\377b\230\003"
+ "\377]\222\002\377`\223\002\377\231\275\004\377r\222\004\377h\206\002\377l\211\002\377"
+ "s\221\003\377~\237\004\377o\231\017\377\205\247\037\377d\220\007\377g\224\014\377"
+ "h\225\004\377]\215\002\377[\211\016\377\\\211\013\377Rw\002\377Qy\005\377\201\253N"
+ "\377b\213\027\377f\210\024\377a\204\013\377Xv\001\377[y\004\377Ul\003\377GZ\001\377"
+ "HZ\007\377GV\022\377w\203H\377~\210Q\377qpX\377ZVI\377`YJ\377nfL\377\221\207"
+ "^\377\237\222e\377\222|P\377\222yN\377\217uM\377\217wS\377}jL\377aR<\377"
+ "rkX\377wr[\377\204~i\377\213\206u\377\205\200t\377yri\377[QJ\377KC\070\377"
+ "GD\066\377\205\227O\377wo_\377yrc\377yuh\377oma\377x\207^\377a\211=\377\204"
+ "\256[\377Ai\025\377\065\\\023\377.\\\003\377P\210\003\377Dv\002\377F{\010\377Av\005\377"
+ "N\202\002\377\061j\002\377L\201\003\377O\211\003\377O\210\002\377N\202\003\377K\201\002"
+ "\377Y\221\007\377t\240\006\377g\221\002\377X\204\001\377^\220\002\377q\251/\377e\232"
+ "\021\377x\236\004\377q\216\002\377l\207\014\377\221\272A\377c\215\000\377\253\267"
+ "\011\377~\232\002\377q\241\000\377x\252,\377y\252\031\377{\255\"\377\224\270\010"
+ "\377y\236\011\377\224\257\006\377\177\246\006\377\210\265\002\377\200\253\002\377"
+ "m\233\010\377_\222\002\377b\222\004\377\177\247\013\377\222\271'\377\206\256\036"
+ "\377q\236\003\377\243\270\027\377\232\260!\377\215\260.\377\200\244\022\377\233"
+ "\272&\377\216\256\025\377\212\253\024\377\243\304Y\377\203\257\"\377[\217\002"
+ "\377N\177\002\377I|\002\377Q\204\004\377L{\002\377o\235!\377x\250\061\377\234\304"
+ "i\377p\226-\377Z\206\002\377\\\205\005\377^\210\005\377m\211\004\377X{\003\377^\212"
+ "\005\377O\200\002\377X\221\014\377\242\305\002\377\202\240\026\377q\217\001\377z\231"
+ "\002\377u\230\003\377h\221\003\377\\\211\004\377s\246\033\377d\233\016\377`\226\011"
+ "\377v\244\035\377a\225\021\377e\222\036\377d\213!\377c\205\020\377]|\003\377k\217"
+ "\037\377s\227\065\377n\223/\377n\227&\377a\204\017\377^\200\014\377Yr\021\377"
+ "du\031\377@N\004\377Md\007\377r}\071\377\224\212h\377\205~b\377zx`\377xx^\377s"
+ "pW\377zsW\377qbF\377w_?\377\231\200^\377\242\211f\377\234\202a\377\216v["
+ "\377XH;\377G<\061\377geX\377spd\377zsi\377|si\377wka\377fYK\377dXG\377woT"
+ "\377\203\235+\377vzS\377qsT\377so_\377xtf\377\213\242m\377W\204%\377w\251"
+ "K\377Ds\030\377Ar\016\377Z\217\004\377M|\001\377\070g\011\377Y\213\033\377L\177\002"
+ "\377I\177\002\377M\201\003\377F}\001\377W\215\003\377P\210\002\377_\220\002\377Z\204"
+ "\002\377s\240\005\377b\213\003\377f\216\003\377a\215\003\377[\215\002\377\\\231\025\377"
+ "e\234\017\377\222\260\011\377j\222\014\377c\214\003\377|\255\060\377\224\252\007"
+ "\377~\245\004\377m\233\002\377f\225\000\377\203\264\061\377|\253\013\377|\251\005\377"
+ "\202\252\002\377\204\245\002\377\241\270\005\377v\247\003\377\201\255\003\377\203\256"
+ "\002\377x\234\005\377i\224\007\377|\247\015\377}\244\003\377\205\255\000\377\210\261"
+ "\000\377\216\257\013\377z\236\004\377v\245\040\377\203\252\012\377\203\247\007\377"
+ "\252\300\031\377\215\252\004\377\230\263&\377\271\320w\377r\237\000\377`\205\014"
+ "\377_\205\003\377\\\200\003\377Z|\004\377Rw\003\377V|\003\377t\221\005\377]\201\007\377"
+ "e\212\004\377m\223\002\377e\215\010\377[\207\002\377e\213\006\377j\214\005\377r\232"
+ "\003\377W\203\003\377Y\202\002\377\246\310\007\377\202\255(\377r\236\016\377k\227"
+ "\002\377f\227\000\377k\233\012\377`\224\003\377`\221\014\377`\216\005\377i\225\010\377"
+ "`\213\006\377u\231\015\377\\\205\014\377l\240\067\377j\245E\377b\230=\377^\223"
+ "-\377\\\215\027\377Q\177\020\377Y\214\016\377X\177\020\377=V\002\377@P\001\377We"
+ "\002\377e\210\010\377fx\030\377qp\070\377\202}U\377\225\220k\377\220\213i\377"
+ "\204~c\377xk[\377|n]\377\212yb\377\244\217n\377\253\224r\377\242\213h\377"
+ "\240\207h\377\222zc\377PH=\377\027\022\020\377<\067\070\377RLE\377maU\377\203"
+ "vc\377vdO\377mWD\377]I:\377TB\066\377}\214=\377qrP\377am\071\377o\177E\377"
+ "h}H\377d\221>\377Bf\023\377\204\263R\377P\207\026\377;g\002\377J~\005\377<k\004\377"
+ "@r\014\377>o\001\377K\177\001\377J\200\004\377H~\003\377F~\001\377M\203\003\377]\220\003"
+ "\377c\222\003\377}\251\002\377g\233\031\377R\201\006\377U\200\003\377i\221\003\377t"
+ "\247\001\377l\232'\377n\240\023\377\226\267\004\377f\237\022\377P\207\007\377s\242"
+ "\017\377\241\254\013\377u\240\004\377n\232\002\377i\225\005\377\177\262\016\377w\251"
+ "\011\377w\247\004\377l\226\003\377\224\264\003\377\201\250\003\377w\246\003\377u\244"
+ "\003\377|\251\004\377d\216\007\377i\223\007\377\207\255\002\377\225\275\002\377\200\260"
+ "\013\377v\252\017\377k\237\032\377k\236\003\377{\255;\377\203\243\000\377\202\254"
+ "\021\377\211\255\006\377\221\261\013\377\246\303N\377n\222\005\377\207\250\012\377"
+ "q\212&\377Hh\002\377Zz\003\377Hr\003\377Uy\002\377Xy\003\377Gc\002\377i\215\003\377a\207"
+ "\003\377_}\003\377U\200\002\377U\202\006\377i\220\003\377k\212\002\377\202\245\002\377"
+ "j\211\004\377j\223\010\377\230\276\011\377j\224\010\377p\241\001\377e\227\007\377"
+ "w\250\065\377s\236\067\377k\225\033\377d\220\012\377c\205\003\377i\212\002\377q\222"
+ "\006\377f\217\003\377U~\003\377[\212\010\377Z\215\021\377c\230!\377b\235$\377Y\226"
+ "\030\377W\222\030\377N\206\012\377Y\220\020\377d\224\016\377f\212\016\377h\214"
+ "\020\377cz\024\377Wj\013\377Zk\026\377\233\234m\377\236\227x\377\225\207s\377"
+ "\241\220\201\377\236\215~\377\236\216}\377\226\205o\377\215y_\377\231\202"
+ "e\377\251\224s\377\245\220r\377\224}g\377OJC\377\011\007\005\377'\035\032\377\\"
+ "K?\377nXG\377x_J\377u[G\377zeU\377wh\\\377WJ?\377}\210T\377PY/\377DR$\377"
+ "Zt<\377X\213\062\377S\212+\377Z\204\063\377n\240\062\377Ct\007\377Y\221\022\377"
+ "<l\004\377:j\010\377\063e\001\377O\205\002\377F~\002\377N\205\003\377J~\004\377L\202\003"
+ "\377Z\222\002\377Z\216\003\377l\233\006\377u\232\022\377O\177\000\377O\201\003\377U"
+ "\203\002\377\206\257\007\377j\231\010\377d\234\036\377r\243\023\377\216\265\004\377"
+ "X\205\001\377a\222\031\377\217\261\026\377\177\240\016\377}\243\001\377n\227\003\377"
+ "w\243\010\377\205\255\001\377x\242\002\377y\246\005\377o\237\003\377l\233\002\377v\242"
+ "\005\377k\232\004\377r\241\002\377|\251\004\377n\231\005\377\212\264\012\377\235\271"
+ "\016\377\200\243\012\377\177\247\016\377z\244\027\377\215\272/\377u\251\014\377"
+ "\211\277H\377\212\274?\377\211\273A\377}\260$\377\213\270-\377v\234\015\377"
+ "~\235\014\377\207\247\006\377Pz\002\377\\\201\010\377]\210\003\377L\177\004\377X\216"
+ "\006\377Q}\002\377^\206\007\377\207\231\025\377d\214\002\377X|\004\377S}\005\377Ao\001\377"
+ "R\202\004\377b\216\003\377y\235\002\377`\203\001\377b\212\003\377\210\264\011\377o\232"
+ "\013\377x\243\007\377d\225\023\377\244\314\207\377\245\316\177\377\256\324{\377"
+ "\250\313c\377\205\244'\377\232\256'\377w\234\040\377s\235\037\377h\221\016\377"
+ "w\243\017\377d\220\003\377x\247\027\377\213\265@\377\177\256\063\377w\255*\377"
+ "\\\231\015\377\\\225\011\377]\215\007\377Sv\007\377Vx\006\377i\212\022\377Y|\011\377"
+ "ct+\377\300\265\244\377\253\235\217\377\234\213\204\377\237\215\205\377\236"
+ "\214\203\377\220~s\377o]T\377fVD\377\200qW\377\242\221t\377\245\223y\377"
+ "\232\207q\377SLD\377\025\022\007\377N=\062\377kTH\377iO;\377oVC\377iO=\377L\064"
+ "(\377?\060'\377\063+!\377oyR\377M[\061\377L\\/\377Y}\060\377Jq\"\377Q\211\040"
+ "\377W\217*\377c\234*\377I\204\013\377@q\001\377Ao\011\377\063W\001\377M\203\003\377"
+ "N\210\002\377S\220\004\377Q\215\005\377Fz\005\377P\205\003\377S\210\002\377u\241\006\377"
+ "b\211\002\377d\212\007\377P\202\012\377R\205\004\377Y\212\003\377h\226\004\377g\223"
+ "\015\377G\201\006\377x\253\020\377~\255\003\377a\226\012\377u\250\013\377y\247\031"
+ "\377t\234\003\377v\234\001\377j\230\020\377\177\257\005\377\177\242\013\377\215\262"
+ "\004\377q\242\013\377p\247\015\377n\234\002\377\221\257\004\377\202\252\011\377\177"
+ "\250\001\377\232\274\003\377\211\251\003\377n\236\012\377\227\274\060\377\214\257"
+ "\061\377\210\251\003\377~\233\001\377s\224\003\377\202\254\033\377\204\264/\377\201"
+ "\251\002\377|\240\006\377\201\261\010\377t\243\003\377r\237\001\377\206\243\023\377"
+ "\217\247\011\377Mp\002\377\\{\003\377Y~\002\377Hl\001\377Vw\003\377Ow\002\377Y\205\003\377"
+ "k\221\002\377h\227\004\377T\200\003\377o\220\030\377Hs\002\377R\177\003\377c\224\003\377"
+ "m\236\010\377Y\207\003\377e\224\004\377\214\266\002\377\204\257\004\377p\241\024\377"
+ "t\237'\377\203\237\026\377\230\247\034\377\233\260(\377\202\255K\377\255\325"
+ "\204\377\241\315w\377t\242\066\377g\232!\377v\247\063\377d\233\027\377m\245"
+ "!\377m\235\"\377j\233\026\377a\222\016\377Z\214\004\377d\230\017\377`\232\007\377"
+ "X\216\002\377Ry\003\377f\203\014\377No\007\377Sn\013\377m\201(\377\261\247\233\377"
+ "\264\247\237\377\245\226\223\377\224\204\200\377\230\210\200\377\223\206"
+ "q\377\206\201]\377lgF\377kaH\377\224\203n\377\254\235\206\377\246\224\202"
+ "\377\\QL\377'\040\020\377dPE\377v]P\377|bP\377tT@\377iI\067\377cF\067\377WB\063"
+ "\377F\064$\377iqD\377F^\035\377Qs!\377Qz\022\377Hx\011\377=l\006\377c\222\061\377"
+ "c\234'\377J{\013\377Q\204\017\377M\204\011\377S\213\005\377W\221\002\377N\211\002"
+ "\377X\224\002\377S\213\001\377H}\002\377Y\223\003\377`\227\003\377m\237\011\377a\225"
+ "\031\377V\213\016\377y\253:\377x\253\031\377e\231\005\377v\246\015\377n\241\"\377"
+ "w\246'\377v\247\006\377{\254\005\377\\\214\003\377\211\257\004\377y\244\011\377\215"
+ "\261\003\377\202\251\006\377p\230\003\377{\251\004\377s\237\006\377\217\265\016\377"
+ "p\233\002\377a\230\014\377x\241\005\377\234\267\004\377\223\262\002\377}\247\004\377"
+ "\214\257\003\377\177\243\020\377g\222\001\377v\231\000\377\222\251\003\377\217\262"
+ "\023\377\226\271\064\377u\233\012\377p\233\012\377~\256$\377\242\310P\377\202"
+ "\242\002\377\203\246\005\377\211\246\032\377m\226\001\377z\243\001\377\215\253\004\377"
+ "Ul\003\377^|\003\377P{\003\377U~\004\377j\216\005\377c\212\006\377f\215\005\377h\227\006"
+ "\377o\246\004\377_\217\005\377`\213\006\377Js\001\377X\207\002\377b\224\003\377b\220"
+ "\003\377X\213\002\377j\233\004\377\214\265\004\377p\233\003\377h\220\006\377~\231\012"
+ "\377b\202\012\377j\220\007\377h\227\035\377n\245-\377f\235\025\377a\234\016\377"
+ "\213\302O\377\213\276R\377n\237&\377Z\204\011\377e\210%\377s\236\061\377p\231"
+ "\036\377p\243\031\377o\247\024\377`\235\011\377]\234\014\377K\205\003\377T\212\002"
+ "\377a\221\002\377b\202\005\377c\204\004\377Y~\023\377\234\242\202\377\235\224\216"
+ "\377\222\206\204\377\220\210{\377\220\230l\377\210\220a\377\230\235s\377"
+ "\231\233s\377\233\234s\377\247\246\200\377\252\251\203\377\237\243|\377r"
+ "\177Y\377Vj\067\377s\202G\377|\206G\377{\177=\377rs\061\377`]\030\377[W\034\377"
+ "`Z+\377cc\066\377h|\070\377a\213&\377K\177\006\377I~\005\377Dz\003\377H~\010\377\207"
+ "\263<\377T\203\021\377Q\207\023\377Z\232\023\377b\233\015\377[\220\002\377P\211"
+ "\004\377:p\002\377R\212\004\377V\214\005\377b\236\023\377Z\217\002\377p\243\004\377X\222"
+ "\011\377Z\222\013\377P\204\000\377\245\310^\377m\237\022\377m\233\011\377u\240"
+ "\005\377{\246\027\377y\252\004\377v\253\010\377{\250\005\377\200\250\004\377Uu\002\377"
+ "u\243\027\377~\250\003\377{\237\015\377y\247\002\377q\237\007\377\206\250\006\377\203"
+ "\255$\377x\250\023\377s\244\024\377\262\307\006\377\225\271\015\377\201\251#\377"
+ "u\236\000\377\177\245\004\377n\230\004\377i\226\004\377q\245\017\377\177\256\035\377"
+ "y\243\005\377~\255\006\377\204\256,\377\201\247$\377s\227\010\377\253\324u\377"
+ "\203\251\014\377\206\255#\377\214\255\030\377z\237\002\377\205\246\002\377\206"
+ "\244\002\377bs\005\377i\216\003\377Dt\004\377V|\004\377Yh\002\377V_\002\377hv\003\377Pf\002"
+ "\377m\241\003\377X\220\004\377e\227\005\377\210\263\007\377t\245\016\377q\245\002\377"
+ "g\235\002\377Y\220\004\377\177\255\004\377}\245\030\377s\237.\377g\221\007\377r\231"
+ "$\377^\216\013\377V\205\005\377u\232\014\377f\232\010\377W\214\001\377V\206\000\377"
+ "Z\217\000\377u\253\061\377z\257\071\377[\224\006\377_\224\011\377q\242\035\377q\243"
+ "\026\377\\\225\001\377\\\233\005\377X\224\006\377_\232\015\377\\\231\010\377S\214"
+ "\004\377\\\226\006\377b\231\011\377Z\216\006\377Y\217\005\377t\226.\377t\220-\377"
+ "t\220+\377\202\217]\377kwJ\377stX\377ieK\377iaJ\377\200r\\\377\231\205n\377"
+ "\242\216t\377\222za\377S?\066\377]H<\377\220tZ\377\211nQ\377|a>\377w`<\377"
+ "n]\061\377hc*\377n{\065\377^w!\377u\224)\377W\202\020\377Jz\004\377T\216\010\377"
+ "V\215\024\377Z\227\033\377i\243\062\377f\242+\377`\230\034\377V\215\010\377W\214"
+ "\001\377M\204\005\377H\200\006\377O\203\003\377L\177\002\377Y\210\006\377U|\003\377u\243"
+ "\036\377S\213\003\377Q\204\002\377Q~\006\377y\242.\377\211\265D\377[\221\006\377n"
+ "\224\005\377\204\251\013\377\202\256)\377g\230\002\377q\245\005\377\201\250\004\377"
+ "\210\253\002\377`\217\002\377p\245\012\377\202\255\002\377z\246\001\377o\236\003\377"
+ "`\221\002\377\254\270$\377\201\240(\377\241\274\017\377\231\262\004\377\205\250"
+ "\003\377r\233\004\377f\215\001\377i\221\003\377{\242\006\377s\232\005\377t\233\002\377"
+ "}\245\013\377{\242\022\377p\233\014\377|\250\002\377o\230\000\377x\236!\377|\233"
+ "\010\377\213\254\023\377\224\276D\377\200\246\000\377\231\301Z\377\200\256\061"
+ "\377\227\270\025\377\203\237\004\377Pk\002\377V|\003\377=c\001\377Sp\002\377Zk\002\377"
+ "Nc\002\377]z\002\377j\202\003\377z\243\003\377o\224\005\377Z\220\012\377O\212\005\377"
+ "{\253\003\377t\246\002\377_\217\004\377]\213\002\377\232\277\002\377u\240\025\377[\211"
+ "\023\377e\227\013\377e\225\034\377t\243\037\377e\235\017\377m\237\"\377\206\260"
+ "N\377~\254C\377c\226\021\377m\230\025\377e\230\002\377_\220\003\377a\224\004\377"
+ "n\237\010\377m\231\022\377\221\262\067\377\260\303\064\377\254\275=\377c\231"
+ "\021\377Z\225\024\377a\236\026\377Z\223\007\377_\230\012\377W\220\001\377V\216\002"
+ "\377U\211\002\377b\217\011\377q\230\026\377g\221\015\377_\212\017\377b\205\034\377"
+ "i\202)\377|\214J\377\212\220c\377\223\225o\377\213\213c\377\213\201a\377"
+ "\215\177c\377W@\070\377zdR\377\250\225q\377}nC\377\207yL\377\205zG\377zx\071"
+ "\377gn\037\377j\203+\377Qt\015\377[~\026\377Hl\013\377Is\003\377m\245,\377k\243"
+ ".\377}\260J\377Q\210\040\377u\253A\377V\212\004\377Z\215\003\377M\177\002\377I~"
+ "\004\377<m\002\377J~\004\377U\211\002\377u\236.\377Rp\005\377e\234\025\377\214\272d"
+ "\377N\177\000\377\227\261\061\377\274\317\215\377a\222\016\377q\237\005\377h\223"
+ "\002\377\216\271\034\377b\222\015\377V\214\014\377m\241\007\377\200\244\003\377\204"
+ "\251\003\377o\235\003\377v\242\004\377p\231\003\377v\241\002\377c\221\003\377\207\254"
+ "\006\377\231\254\006\377\277\306\017\377~\242\006\377Uw\002\377{\245\004\377d\221\004"
+ "\377k\223\003\377o\225\002\377k\224\004\377i\224\004\377{\237\002\377\203\244\001\377"
+ "\204\246\003\377q\230\004\377w\242\002\377p\223\003\377\177\236\003\377\222\252\002\377"
+ "\205\240\001\377\201\255\022\377\212\263\030\377\201\251\035\377\204\256(\377"
+ "p\222\002\377z\224\001\377S{\003\377S\206\002\377U\205\004\377Y\211\006\377[\213\005\377"
+ "`\220\003\377\\}\003\377`\200\003\377p\235\003\377}\242\015\377R\204\010\377T\216\004"
+ "\377]\222\004\377o\237\002\377n\221\015\377\201\251\012\377\224\273\006\377c\220"
+ "\012\377]\213\002\377q\235\014\377^\217\004\377b\223\004\377]\221\003\377U\210\002\377"
+ "`\220\010\377U{\000\377f\201\005\377}\226\024\377n\231\004\377e\224\007\377Y\215\016"
+ "\377b\225\023\377z\246\032\377Z\210\005\377\\\215\013\377f\220\022\377i\225\034"
+ "\377^\215\020\377^\220\016\377\\\215\006\377]\221\005\377X\214\003\377L|\002\377S\204"
+ "\002\377V\206\006\377g\221#\377Lx\015\377[\210\037\377s\232\071\377w\220@\377o\215"
+ "\065\377X\177\032\377]\213\040\377_\216!\377b\215\"\377h\216)\377j\206\062\377"
+ "\232\251s\377\224\233k\377\204rB\377\223uJ\377\224sG\377\253\217@\377z~\035"
+ "\377^|\021\377Ej\000\377i\214\061\377R{\023\377[\215\004\377\213\271N\377Y\216\026"
+ "\377f\237*\377`\234)\377J\202\003\377T\211\016\377a\225\006\377i\227\004\377f\223"
+ "\003\377Op\001\377U\214\002\377g\230\032\377\211\251<\377k\234\006\377P\203\006\377"
+ "b\216\040\377n\236.\377\216\266\070\377\231\271@\377\177\256\004\377P{\020\377"
+ "^\223\010\377\212\265\033\377_\221\001\377T\215\016\377y\245\014\377\261\302\004"
+ "\377x\243\005\377u\240\003\377~\252\005\377h\222\004\377c\222\003\377\200\241\003\377"
+ "\256\275\006\377\202\240\004\377\216\245\007\377i\220\002\377f\215\002\377v\240\004\377"
+ "f\214\004\377k\221\003\377m\230\003\377f\220\001\377m\226\005\377\177\243\004\377\206"
+ "\246\006\377\177\243\002\377v\235\004\377n\225\002\377y\240\004\377\223\254\002\377\207"
+ "\235\004\377i\217\001\377~\243\024\377\233\273D\377\201\247\026\377{\244\005\377"
+ "\200\252\025\377\206\226\017\377Fp\002\377Dq\002\377K|\003\377N|\002\377b\204\005\377"
+ "Y{\012\377Sv\007\377W|\005\377s\240\026\377{\237\004\377a\201\005\377H}\004\377P\207"
+ "\002\377b\227\003\377o\243\004\377]\220\003\377p\235\004\377M~\002\377X\211\004\377S\203"
+ "\003\377h\226\004\377\\\217\003\377J\200\003\377X\214\003\377R\204\002\377d\220\003\377"
+ "b\211\002\377l\221\002\377l\231\005\377K\177\002\377Z\213\002\377\210\252\013\377i\220"
+ "\020\377`\220\021\377d\227$\377_\230\034\377d\235\017\377W\213\004\377V\205\003\377"
+ "U\206\005\377Lx\003\377i\224\007\377p\227\004\377\216\247#\377\245\262<\377\231\256"
+ ",\377\214\247\033\377\203\247\023\377\201\251\030\377\204\255\035\377\223\265"
+ "\064\377\217\256\071\377\205\241\066\377v\223(\377|\233,\377j\217\017\377`\213"
+ "\011\377g\215!\377d\207\"\377i\210#\377h\207!\377g\211!\377q\220\015\377y\233"
+ "\007\377Iq\011\377\\|\037\377}\253\066\377j\232\025\377l\233\010\377\177\255C\377"
+ "]\227\020\377\\\224\016\377Fu\001\377Cv\004\377g\232\016\377U\203\003\377S\202\003\377"
+ "^\214\004\377t\245\007\377_\233\010\377k\240\024\377g\235\021\377^\222\004\377Z\205"
+ "\004\377W\202\003\377\201\261?\377t\236\025\377\203\254\023\377o\236\040\377`\224"
+ "\007\377U\211\011\377\217\273\013\377a\223\001\377b\240\034\377t\234\005\377\224\256"
+ "\004\377p\234\002\377\207\253\006\377\202\251\004\377m\231\003\377\220\257\005\377\246"
+ "\274\005\377b\214\002\377d\221\003\377\210\243\011\377}\233\002\377\240\277\"\377"
+ "e\216\001\377\210\253\006\377o\224\002\377f\223\002\377~\251\017\377n\223\011\377{"
+ "\240\001\377\230\262\027\377\177\242\004\377v\227\004\377}\237\005\377\212\252\006\377"
+ "r\221\003\377s\226\002\377r\235\002\377\236\270<\377\216\236:\377\257\313j\377"
+ "t\235\000\377|\245\017\377\222\276\037\377T\205\003\377R\204\002\377K\177\002\377D"
+ "r\001\377[v\021\377d}\017\377\210\202\031\377x\233\060\377m\234\001\377M\202\002\377"
+ "W\214\004\377W\215\022\377J\201\003\377g\236\003\377c\230\003\377z\252\003\377^\221"
+ "\003\377V\214\003\377M\202\002\377Qw\002\377^\207\003\377c\217\003\377`\220\003\377X\214"
+ "\003\377_\224\000\377b\217\005\377c\213\002\377f\226\002\377P\204\003\377]\217\002\377"
+ "p\235\003\377\223\255\004\377~\236\006\377f\235\010\377m\241\035\377d\226\007\377["
+ "\210\002\377T{\006\377U\177\006\377Z\207\004\377]\216\002\377^\216\003\377R~\003\377X\202"
+ "\010\377\200\235.\377\250\260e\377\230\245a\377\216\246a\377\220\250a\377"
+ "\240\250r\377\231\224b\377\206wC\377\230\210R\377\222\217L\377\227\214X\377"
+ "\206\201L\377^m\061\377as\071\377\211\226M\377\226\240P\377l\204&\377T~\027"
+ "\377[\214\016\377r\235\002\377x\234\021\377\220\256@\377\202\254M\377\\\221\023"
+ "\377s\243\020\377f\232(\377_\226\022\377Dn\003\377[\204\000\377u\244'\377S|\001\377"
+ "Kq\002\377?e\002\377J\204\004\377J\210\006\377T\214\011\377\177\260\031\377u\245\003"
+ "\377Qz\004\377Hs\002\377V\203\006\377k\232\023\377z\247\024\377f\231\016\377Y\213"
+ "\010\377W\207\004\377P\202\004\377~\256\006\377[\220\006\377^\227\026\377\230\265\003"
+ "\377j\222\004\377u\242\002\377\200\240\014\377\212\260\004\377\221\265\004\377s\231"
+ "\004\377\201\245\004\377Y\206\002\377q\227\005\377\207\251\003\377}\232\004\377\224\261"
+ "\003\377\213\254\005\377y\236\002\377g\221\002\377s\241\005\377\201\250\004\377d\215"
+ "\002\377q\233\004\377\221\260\016\377x\226\003\377z\225\006\377~\241\006\377x\243\003"
+ "\377h\227\002\377{\250\025\377\200\251\021\377\203\257\027\377~\240\032\377{\231"
+ "\035\377\206\253&\377z\241\001\377x\250\017\377U\210\004\377Y\207\003\377Z\204\002"
+ "\377bg\004\377\202t\005\377{\200\004\377h\210&\377S\210\005\377T\216\003\377T\212\005"
+ "\377V\207\003\377X\205\004\377S\204\005\377g\241\002\377]\226\003\377e\232\003\377i\231"
+ "\002\377K\177\003\377V\215\013\377Z\201\012\377^\213\006\377`\220\007\377\\\217\003\377"
+ "[\223\003\377~\250?\377b\222\010\377h\230\005\377R\210\003\377]\224\003\377d\234\002"
+ "\377r\251\004\377k\237\001\377d\233\004\377c\232\015\377_\224\005\377T\206\002\377["
+ "\204\004\377Zz\014\377_\201\020\377h\223\026\377Lz\004\377@b\003\377\070Y\003\377(I\002"
+ "\377lw!\377}\203\060\377\223\226L\377\273\265|\377y\206%\377Sm\026\377Wq.\377"
+ "d|>\377j\206;\377l\207\061\377y\214;\377w\211\071\377Rf!\377?S\016\377`t\025"
+ "\377j\203\020\377o\213\011\377m\212\004\377~\225\004\377q\232\003\377\200\220\003\377"
+ "{\230\061\377\201\252L\377j\227\004\377l\235\023\377\203\250\061\377]\222\031\377"
+ "]\215\003\377m\232\030\377[{\034\377Fj\002\377@g\003\377By\005\377F}\012\377]\230'\377"
+ "l\252\060\377r\250\014\377]\214\003\377l\234\011\377a\215\007\377b\226\006\377~\252"
+ "\023\377n\234\014\377O~\002\377d\226\013\377W\207\025\377j\227\014\377\211\262\003"
+ "\377\\\214\011\377b\235\025\377\226\260\003\377k\225\007\377z\247\002\377\234\261"
+ "\025\377q\240\003\377f\221\005\377|\241\004\377x\236\002\377\\\206\002\377w\233\004\377"
+ "\206\245\002\377\210\244\004\377\223\255\010\377y\232\003\377|\242\013\377s\235\004"
+ "\377x\242\003\377\215\254\005\377e\217\002\377m\237\014\377u\233\000\377\242\264."
+ "\377\204\223\016\377\221\261\003\377\201\255\002\377t\252\026\377t\247\023\377\207"
+ "\270\060\377\205\260\037\377\211\267\021\377s\235\004\377\211\261\"\377\205\256"
+ "\024\377q\231\002\377ct\004\377u\230\005\377p\241\004\377j\225\005\377Z\210\004\377l\235"
+ ")\377v\237'\377_\202\005\377g\231\004\377L\201\001\377l\230\016\377Q\177\003\377N"
+ "\202\002\377b\233\002\377O\212\002\377_\226\002\377p\250\003\377O\202\001\377X\211\005"
+ "\377l\235\030\377p\236\063\377T\202\020\377T\203\007\377m\233*\377Z\224\007\377"
+ "L\203\002\377b\227\003\377T\207\002\377`\231\002\377d\235\014\377S\213\003\377P\204"
+ "\004\377J~\003\377V\213\003\377[\214\004\377`\212\002\377b\212\004\377w\236\012\377{\250"
+ "\016\377a\217\024\377Nu\003\377Nf\011\377IW\007\377\\o\010\377z\211#\377\220\241"
+ "I\377\207\252=\377\243\274X\377\201\222-\377x\213\036\377Qe\010\377`x\031\377"
+ "n\220\064\377d\204\032\377]\205\012\377\\\213\012\377U\204\002\377Gp\001\377Pu\000"
+ "\377R}\010\377q\232\023\377\223\265\061\377Rt\012\377`\214\000\377r\243-\377w\241"
+ "\071\377h\237\017\377X\211\014\377\177\233%\377f\215&\377M\177\002\377:j\000\377"
+ "Z\207!\377N|\012\377Cm\001\377H{\004\377<m\000\377\177\254R\377x\252S\377c\217\020"
+ "\377a\223\005\377Et\002\377f\210\021\377p\231\007\377r\246\003\377\203\256\014\377"
+ "X\205\003\377U\205\002\377c\226\016\377Co\004\377h\216\004\377\205\256\004\377_\217"
+ "\004\377\202\264\032\377~\244\005\377a\217\006\377\203\251\007\377\224\252\015\377"
+ "u\245\002\377^\215\003\377\204\253\003\377o\231\012\377\\\210\002\377\202\245\005\377"
+ "}\241\005\377\222\263\004\377\210\243\003\377n\220\002\377|\240\006\377x\224\004\377"
+ "u\231\004\377\217\255\010\377q\226\002\377{\242\010\377}\240\000\377\217\256\001\377"
+ "\202\234\010\377\215\267\005\377\207\262\004\377r\231\010\377p\230\002\377o\232\007"
+ "\377z\252\024\377\202\255\035\377\202\256\005\377\206\263\021\377\203\254\005\377"
+ "\177\243\002\377l|\005\377Q\200\003\377X\177\005\377_\205\004\377g\234\006\377^\230\006"
+ "\377S\212\001\377i\234\004\377d\226\003\377_u\006\377i\220\017\377O\201\004\377[\222"
+ "\003\377^\224\003\377B{\002\377h\236\003\377Lz\001\377d\226\011\377Y\203\003\377[\215"
+ "\000\377P\201\001\377{\245\061\377{\237\071\377Sy\010\377Gw\002\377a\230\025\377c\231"
+ "\002\377X\215\003\377\\\223\005\377^\226\015\377T\213\001\377b\230\020\377\\\220\005"
+ "\377V\212\010\377e\234\011\377b\231\015\377n\236\031\377c\220\032\377Y\214\017"
+ "\377a\227\012\377]\216\002\377v\246\017\377i\225\020\377e\212\025\377d\202\031\377"
+ "\236\271c\377\207\261I\377r\231%\377a\177\024\377v\215!\377dy\000\377m\214\022"
+ "\377X\202\007\377V\206\004\377\\\220\011\377M~\004\377Gv\004\377Jv\007\377U\206\023\377"
+ "y\251&\377\205\252\063\377Oe\013\377Ni\016\377n\224\003\377t\236\"\377x\243D\377"
+ "c\230\001\377L\200\013\377y\244\040\377G{\007\377Bp\003\377Q~\034\377b\223\061\377"
+ "\063W\002\377Ap\017\377J\203\016\377x\252H\377h\237;\377L}\014\377u\230\011\377"
+ "Uu\002\377\\{\005\377g\220\010\377t\240\001\377\233\271;\377\223\261\"\377a\230"
+ "\005\377g\226\025\377R|\004\377S}\002\377l\224\004\377\205\257\003\377h\227\023\377\224"
+ "\267\012\377z\244\010\377t\237\006\377\236\265\005\377o\233\002\377v\244\011\377i"
+ "\230\010\377|\243\002\377h\223\004\377f\221\003\377v\236\003\377s\233\002\377\213\260"
+ "\003\377p\225\004\377u\234\003\377}\244\002\377w\233\003\377d\215\003\377n\230\001\377"
+ "o\230\003\377v\240\020\377w\241\007\377\203\257\026\377\200\254\031\377\177\250"
+ "\006\377\221\266\003\377z\217\004\377v\224\002\377s\226\001\377w\241\017\377\200\253"
+ "\026\377u\244\004\377s\244\004\377x\244\003\377u\232\002\377X\210\003\377`\212\007\377"
+ "}\210\023\377d{\003\377\\\206\003\377Gv\002\377C}\002\377V\214\003\377m\235\006\377v\222"
+ "\011\377Z\210\003\377O\206\004\377k\242\006\377Z\221\002\377T\206\004\377`\223\003\377"
+ "Jy\002\377Pz\002\377_\213\003\377a\222\003\377Z\212\004\377{\233\030\377T|\010\377t\241"
+ "\067\377L\200\001\377W\220\014\377g\237\007\377\\\221\002\377a\213\011\377V\211\002"
+ "\377a\226\013\377\204\260/\377q\240\020\377s\243\022\377v\244)\377{\254@\377"
+ "d\232#\377K\200\032\377Ev\037\377a\213\060\377j\227*\377\\\214\026\377Q\201\010"
+ "\377M}\004\377p\246/\377\224\277[\377u\245)\377g\230\016\377e\225\011\377\177"
+ "\250*\377j\231\013\377^\216\003\377`\223\003\377W\207\004\377Do\004\377Q\200\005\377"
+ "Ku\002\377h\230\027\377\225\275F\377\246\311_\377\203\237B\377j\212!\377d\201"
+ "\021\377w\241\017\377l\237\022\377\226\267N\377[\213\000\377U\204\014\377m\240"
+ "\021\377@j\005\377Ov\011\377a\211\034\377Y\200\040\377>a\001\377n\235@\377\223\304"
+ "o\377s\252K\377Dk\013\377Is\004\377m\232\010\377`\212\002\377c\216\004\377m\223\004"
+ "\377\224\265(\377\202\243\033\377\204\247\015\377d\237\026\377P\203\004\377V\206"
+ "\011\377X\206\012\377u\236\010\377\206\256\002\377\210\262\031\377\214\264\007\377"
+ "\214\240\015\377\211\252\005\377\237\267\034\377~\253\024\377\207\257\023\377m"
+ "\224\004\377z\237\004\377r\227\011\377i\223\011\377u\242\004\377\212\257\003\377\203"
+ "\247\003\377u\234\004\377z\242\002\377q\235\003\377u\236\002\377u\226\015\377u\235\006"
+ "\377f\225\003\377o\236\003\377{\245\006\377\220\264\010\377\214\252\004\377\206\252"
+ "\003\377\215\261\004\377\204\246\003\377[z\001\377\212\241\020\377\206\232\004\377\224"
+ "\246\005\377\226\263\024\377x\247\034\377\200\255\036\377s\236\000\377i\233\006\377"
+ "g\230\007\377_\227\005\377\\\214\004\377Fn\000\377V\206\003\377Aw\004\377R\207\003\377"
+ "f\232\005\377Y\204\002\377\\\215\003\377V\220\002\377f\234\003\377^\223\004\377_\216"
+ "\004\377p\237\004\377P{\003\377W\177\013\377b\221\004\377v\252\002\377P\204\003\377V\204"
+ "\004\377a\213\010\377P\201\000\377k\236\037\377b\217\027\377o\242+\377U\213\000\377"
+ "_\221\006\377Z\216\007\377X\223\007\377m\242\024\377o\241\013\377k\240\016\377z\254"
+ ";\377y\254?\377a\230\027\377]\220\007\377f\222\031\377Wx\025\377Nk\002\377q\225"
+ "\067\377o\241\065\377q\245\"\377z\254'\377Z\212\006\377]~\007\377]\210\022\377c"
+ "\221\025\377c\226\017\377Y\177\022\377_\220\006\377_\223\003\377O}\007\377c\221\030"
+ "\377v\243/\377\206\271/\377~\255'\377\223\266K\377\220\261K\377\227\276]"
+ "\377\237\311o\377\230\306k\377m\236\020\377h\230\016\377\210\257-\377\\\226"
+ "\012\377Y\216\023\377d\226\006\377Hs\000\377n\222/\377_\177\035\377Rl\004\377\202"
+ "\255G\377|\256P\377}\256=\377Kt\015\377a\217$\377t\244\011\377X\212\006\377S"
+ "\203\010\377a\222\012\377y\243\002\377\240\275\070\377Q\207\012\377j\237\013\377"
+ "h\227\021\377Kx\003\377m\243\021\377Y\211\006\377w\241\003\377\203\262\011\377\203"
+ "\260\005\377\177\246\014\377y\231\005\377\216\256\002\377o\222\003\377v\240\005\377"
+ "g\221\002\377\200\251\004\377k\227\006\377m\240\013\377h\231\004\377y\244\005\377\231"
+ "\300\010\377s\240\011\377n\230\004\377w\237\002\377e\221\002\377}\234\003\377\250\254"
+ "\024\377l\224\003\377k\232\003\377e\226\002\377\202\247\030\377\204\246\002\377\212"
+ "\253\003\377\217\262\004\377\227\270\003\377\221\262\003\377d\211\002\377k\223\003\377"
+ "~\240\004\377\227\245\006\377\220\237\006\377\222\255\015\377\214\257\015\377y\250"
+ "\007\377c\222\005\377[\213\004\377r\245\021\377q\253\030\377k\246\030\377Bv\001\377"
+ "@s\002\377J}\002\377S\203\003\377U|\011\377U\211\003\377c\232\004\377f\225\002\377W\210"
+ "\003\377h\230\002\377m\233\002\377Z\210\005\377c\222\023\377L\214\006\377p\244\003\377"
+ "l\236\003\377R\201\004\377M\177\002\377_\217\002\377^\215\002\377a\216\024\377o\243"
+ "=\377a\240\011\377h\241\034\377\205\270N\377b\236\026\377T\216\010\377i\233\016"
+ "\377_\222\003\377x\254/\377\200\265;\377d\234\014\377g\240\005\377e\230\001\377"
+ "X\207\013\377h\224\065\377f\222\026\377~\250\060\377~\255=\377}\255/\377q\234"
+ "\021\377t\240\023\377e\231\005\377\\\216\003\377a\225\004\377p\243\016\377o\243\016"
+ "\377}\265\061\377j\236\066\377\226\302v\377\220\276J\377q\243\035\377c\214\023"
+ "\377Vt\014\377u\235\061\377\210\264\\\377V\204\037\377Z\221\031\377\201\266;"
+ "\377z\257,\377w\250\025\377^\213\004\377V}\016\377l\223\012\377i\221#\377e\212"
+ "%\377]\200\007\377\177\252O\377_\222-\377v\244(\377Rx\022\377m\237\061\377W\204"
+ "\027\377m\232\003\377h\227\005\377W\203\006\377q\233\003\377\225\267\062\377s\227\020"
+ "\377n\233\034\377h\234\014\377i\233\011\377f\233\015\377g\225\026\377j\231\013"
+ "\377\205\266\003\377m\252\025\377s\245\010\377a\217\004\377o\237\004\377~\254\002\377"
+ "m\234\004\377\211\256\007\377z\240\010\377i\224\004\377y\242\007\377r\236\020\377n"
+ "\235\003\377\203\257\004\377t\244\007\377`\214\005\377s\236\003\377n\231\003\377l\226"
+ "\005\377\225\247\002\377{\236\024\377k\223\002\377t\233\007\377g\217\002\377~\253\005"
+ "\377p\233\004\377s\232\003\377\211\261\002\377\216\263\002\377\200\247\002\377\212"
+ "\260\004\377p\227\002\377\204\244\003\377}\224\003\377\243\257\002\377\242\271'\377"
+ "}\241\002\377t\241\006\377R\206\002\377Z\222\005\377O\205\006\377`\226\027\377w\247"
+ "-\377v\246\062\377[\216\"\377M\202\000\377>r\001\377W\205\005\377N\204\003\377W\212"
+ "\004\377o\240\010\377Kz\003\377d\230\004\377Y\213\004\377[\214\012\377Z\216\004\377F"
+ "~\002\377O\205\003\377{\254\002\377i\226\003\377R{\003\377X\214\003\377]\217\004\377Y\212"
+ "\013\377q\236'\377|\265;\377q\251-\377o\241+\377`\224\016\377L\202\003\377M\200"
+ "\003\377M~\010\377V\205\003\377d\213\023\377y\231\030\377p\235\035\377d\231\026\377"
+ "s\247)\377\\\220\021\377{\257<\377\201\260P\377]\224\010\377d\231\007\377a\231"
+ "\004\377h\242\022\377^\220\011\377t\241\024\377\212\264'\377k\225\013\377o\227"
+ "\024\377\207\252A\377\225\273P\377|\256\061\377k\235\035\377k\230\035\377}\245"
+ "/\377\201\260E\377r\247>\377e\231!\377^\220\022\377m\234!\377[\215\016\377"
+ "V\213\020\377b\227\026\377y\244\033\377~\247\064\377o\222\015\377u\243\066\377"
+ "Z\207\037\377|\255H\377W\177\037\377s\252*\377Rz\005\377f\223\"\377T\204\015\377"
+ "Gp\001\377[\204\002\377w\245+\377x\242\003\377v\236\023\377\204\250\024\377k\217"
+ "\026\377h\230\006\377l\236\031\377o\236\007\377q\234\030\377p\240\007\377\206\266"
+ "\010\377r\244\011\377h\246\036\377y\250\000\377i\226\002\377r\240\003\377\200\261"
+ "\003\377q\235\003\377\201\242\020\377\215\261\032\377q\236\003\377Zs\002\377l\230\003"
+ "\377r\231\003\377\214\263\004\377u\242\005\377n\230\006\377\203\245\013\377q\224\020"
+ "\377p\234\011\377\201\247\036\377u\241\013\377v\236\006\377y\243\001\377s\241\001"
+ "\377m\233\003\377]\212\004\377t\237\004\377{\245\003\377\222\267\004\377n\227\002\377"
+ "\204\246\006\377\204\246\005\377\227\266\013\377\220\252\004\377\231\257\005\377\270"
+ "\274@\377|\243\016\377p\233\001\377`\225\003\377a\225\002\377a\223\003\377T\206\004"
+ "\377X\216\003\377Y\220\001\377b\220\031\377\225\275`\377c\211\030\377T\204\003\377"
+ "H~\002\377V\212\003\377g\240\002\377M\205\003\377a\227\004\377Q\202\002\377Ky\002\377^"
+ "\212\014\377S\204\002\377U\207\003\377m\236\003\377^\210\002\377h\235\002\377a\227\003"
+ "\377L\205\003\377a\232\011\377h\240\021\377j\242\033\377}\260A\377\232\305h\377"
+ "g\237\023\377Fw\002\377Z\215\003\377V\213\006\377V\206\003\377f\235\012\377V\216\004"
+ "\377]\222\002\377U\213\002\377V\217\002\377^\226\003\377[\224\005\377R\213\005\377o\240"
+ "\033\377r\241\016\377a\214\015\377f\232\"\377b\226\011\377i\236\013\377o\236\037"
+ "\377{\250?\377e\221\027\377\225\267\065\377\200\244\031\377^\205\004\377t\241"
+ "'\377i\237\037\377k\240\"\377l\232%\377Fg\006\377^\216\024\377z\241\063\377\212"
+ "\235<\377b\220\031\377L~\003\377V\211\004\377p\235\016\377g}\035\377\207\264\065"
+ "\377z\246*\377}\264B\377^\215'\377l\221\062\377d\214!\377k\222\033\377Mu\010"
+ "\377@f\002\377Z\205\004\377v\244\"\377w\247\022\377m\224\001\377\241\272*\377h\213"
+ "\017\377^\214\011\377j\230\005\377\216\257#\377k\227\004\377\207\260\005\377\204"
+ "\255\007\377h\224\005\377f\235\021\377j\244\024\377|\252\002\377q\240\004\377\206\256"
+ "\004\377u\241\002\377h\224\002\377r\217\007\377\211\251\013\377j\227\003\377]\201\003"
+ "\377i\220\002\377\227\270\003\377p\227\002\377z\243\020\377u\242\001\377\177\255\031"
+ "\377g\221\003\377g\217\010\377g\215\012\377n\230\005\377\177\252\007\377y\242\014"
+ "\377{\243\025\377l\225\003\377f\221\004\377\210\261\004\377s\234\003\377\200\246\003"
+ "\377}\240\003\377\207\247\003\377\214\250\003\377\200\241\006\377\220\267\021\377"
+ "\202\245\003\377\242\261\031\377\226\260-\377u\236\002\377]\227\023\377Y\210\001"
+ "\377Nv\000\377_\202\017\377U\210\005\377]\231\010\377a\236\010\377Y\216\000\377_\223"
+ "\027\377W\214\006\377G\202\003\377b\226\023\377d\232\001\377[\223\007\377f\225\002\377"
+ "Q}\005\377Hs\002\377`\212\013\377S\200\004\377W\212\003\377X\212\002\377^\206\003\377"
+ "l\234\004\377n\245\004\377J\177\003\377i\235\007\377t\250\026\377|\260+\377u\253\065"
+ "\377\207\266L\377\225\300T\377\207\264B\377r\225\066\377^\201\023\377`\220"
+ "\021\377Iu\003\377L~\006\377R\205\004\377S\201\003\377]\221\015\377`\233\005\377M\201"
+ "\000\377_\224\005\377d\225\013\377`\220\011\377h\231\021\377\\\214\004\377h\241\017"
+ "\377b\227\012\377v\246\036\377k\231\035\377j\232\014\377u\245\022\377~\241\033"
+ "\377r\230\030\377\204\260Q\377\200\255J\377i\210+\377}\227A\377}\251A\377"
+ "\200\257I\377b\226)\377]\222\036\377\\\222\026\377F{\005\377\\\222\007\377v\245"
+ "\005\377j\225\011\377t\254\024\377^\214\020\377p\245\035\377Y\213\014\377u\246("
+ "\377Z\212!\377R~\016\377F_\004\377JX\006\377h\216\007\377u\250#\377\214\261\001\377"
+ "\207\244\012\377\177\251\026\377l\224\024\377i\232\002\377t\251\035\377h\231\011"
+ "\377\204\260\005\377x\244\010\377\200\251\005\377`\216\011\377k\245.\377j\240\013"
+ "\377w\246\002\377\205\260\004\377w\235\004\377i\225\002\377v\235\003\377l\221\005\377"
+ "}\247\002\377u\245\006\377q\235\007\377r\232\003\377\224\265\010\377v\237$\377l\232"
+ "\012\377l\231\004\377~\254\002\377w\247\030\377r\236\015\377w\236\007\377{\243\004\377"
+ "u\232\004\377\212\261\032\377`\214\003\377\222\267)\377v\243\004\377\200\253\005\377"
+ "p\225\000\377\210\255\004\377\203\246\005\377\207\247\007\377\215\245\001\377l\212"
+ "\003\377~\225\004\377\204\242\010\377\222\261\010\377\211\247\024\377\220\262\016"
+ "\377=u\005\377[\216\"\377\213\271G\377Fw\005\377Dp\002\377:j\001\377b\231\013\377"
+ "Y\217\002\377Q\210\005\377o\250\005\377X\212\001\377p\244\030\377\\\225\001\377]\225"
+ "\007\377a\223\003\377Ls\005\377V\203\005\377U\202\005\377Xv\010\377c\223\004\377N\201"
+ "\003\377Y\213\005\377a\220\006\377a\215\005\377\\\213\003\377V\206\001\377~\251\061\377"
+ "\216\301F\377l\242\"\377\241\313i\377\211\267A\377\215\274L\377\262\334\214"
+ "\377h\215<\377h\214/\377h\240\007\377U\216\005\377W\216\004\377^\215\004\377Q\203"
+ "\003\377e\234\004\377s\254\034\377\202\262E\377z\244\060\377i\227\011\377e\223\013"
+ "\377d\225\013\377j\237\015\377c\222\017\377j\225\011\377\211\261\011\377{\245"
+ "\012\377\177\250\037\377\234\300c\377|\251F\377\204\251Z\377{\241G\377g\226"
+ "/\377R\206\015\377a\210\020\377dw\004\377\201\262\032\377\201\255\067\377x\247"
+ "\061\377r\251.\377i\233\017\377z\245\002\377q\243-\377l\240\020\377`\224\027\377"
+ "d\233\"\377d\234\030\377|\261-\377v\252(\377c\223\010\377[\205\005\377Nu\005\377"
+ "x\244\005\377\200\260\022\377x\234\005\377\204\245\023\377z\245\031\377m\233\005\377"
+ "q\233\005\377}\256&\377\204\260\005\377V\204\004\377z\247\015\377^\204\004\377g\222"
+ "!\377\211\265a\377\200\254\011\377}\253\003\377v\241\002\377n\230\004\377c\212\002"
+ "\377{\233\010\377\\\210\002\377r\243\014\377n\233\002\377q\232\002\377\201\250\005"
+ "\377y\231\016\377u\237\011\377\217\254\017\377\202\256\025\377\236\312Q\377\206"
+ "\261\061\377p\237\005\377{\245\013\377\234\274\016\377q\225\002\377\215\264\010\377"
+ "t\237\021\377a\211\005\377\214\271\022\377z\254\016\377}\254\034\377\231\273\016"
+ "\377\207\244\011\377\216\251\012\377\211\236\033\377\211\247\006\377Oc\001\377w"
+ "\233\003\377\211\261\017\377\205\247\013\377r\227\006\377[\207\003\377\200\246A\377"
+ "y\253\071\377d\221\034\377@c\002\377;a\002\377Iq\003\377W\211\005\377J\177\001\377g\231"
+ "\003\377Lu\004\377W\216\003\377b\242\006\377[\230\010\377P\203\000\377u\230.\377U\202"
+ "\005\377T\201\002\377Ir\003\377U\215\003\377I\177\003\377]\225\010\377Hi\003\377Vq\007\377"
+ "Or\002\377]\212\004\377;X\001\377^\207\015\377c\217\020\377w\253\032\377\203\270\060"
+ "\377\205\273\066\377\210\274\067\377r\244%\377Ms\015\377\177\241,\377a\213\023"
+ "\377l\244\025\377[\217\003\377c\234\004\377a\227\005\377j\234\005\377v\251\013\377"
+ "s\244\016\377x\247'\377y\245.\377q\242'\377o\237(\377g\226\036\377_\222\032"
+ "\377]\217\016\377`\222\017\377h\234\033\377Z\215\010\377\201\257\020\377\201\242"
+ "\040\377\177\253\037\377{\254%\377x\251\015\377~\246\013\377\206\254\031\377w"
+ "\246\020\377m\243\027\377d\231\025\377b\232\027\377W\213\011\377v\246\003\377]\205"
+ "\013\377e\225\013\377n\243\040\377z\253*\377X\211\020\377P~\004\377{\247=\377{"
+ "\245*\377Wz\006\377Qv\011\377\200\256\003\377p\240\001\377\240\272+\377r\243\027"
+ "\377\205\252\005\377s\240\004\377\214\264\004\377~\253\004\377^\216\020\377y\252\007"
+ "\377R\201\003\377h\230\027\377t\242%\377\231\300S\377\243\303!\377\234\271\""
+ "\377\232\264$\377\207\240\021\377r\216\005\377\202\237\005\377h\226\003\377o\235"
+ "\013\377\206\254\003\377j\227\003\377\214\261\005\377y\241\006\377r\236\007\377\221"
+ "\262\014\377\205\255\016\377V\201\010\377}\247\015\377\216\261\013\377n\225\013"
+ "\377\220\265\007\377\205\260\005\377\210\256\024\377z\243\004\377x\241\003\377v\243"
+ "\010\377\215\267)\377\250\301.\377\252\302\033\377\222\257(\377\224\260\025"
+ "\377~\233\006\377\220\256\007\377\203\241\003\377\207\254\002\377y\232\002\377\212"
+ "\247\011\377\207\256\022\377",
};
diff --git a/example/pointer.c b/example/pointer.c
new file mode 100644
index 00000000..ddb665a1
--- /dev/null
+++ b/example/pointer.c
@@ -0,0 +1,133 @@
+#define _POSIX_C_SOURCE 199309L
+#define _XOPEN_SOURCE 500
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <string.h>
+#include <unistd.h>
+#include <wayland-server.h>
+#include <wayland-server-protocol.h>
+#include <xkbcommon/xkbcommon.h>
+#include <GLES3/gl3.h>
+#include <wlr/render/matrix.h>
+#include <wlr/render/gles3.h>
+#include <wlr/render.h>
+#include <wlr/backend.h>
+#include <wlr/session.h>
+#include <wlr/types.h>
+#include <math.h>
+#include "shared.h"
+#include "cat.h"
+
+struct sample_state {
+ struct wlr_renderer *renderer;
+ struct wlr_surface *cat_texture;
+ int cur_x, cur_y;
+ float default_color[4];
+ float clear_color[4];
+};
+
+static void handle_output_frame(struct output_state *output, struct timespec *ts) {
+ struct compositor_state *state = output->compositor;
+ struct sample_state *sample = state->data;
+ struct wlr_output *wlr_output = output->output;
+
+ wlr_renderer_begin(sample->renderer, wlr_output);
+ glClearColor(sample->clear_color[0], sample->clear_color[1],
+ sample->clear_color[2], sample->clear_color[3]);
+ glClear(GL_COLOR_BUFFER_BIT);
+
+ float matrix[16];
+ wlr_surface_get_matrix(sample->cat_texture, &matrix,
+ &wlr_output->transform_matrix, sample->cur_x, sample->cur_y);
+ wlr_render_with_matrix(sample->renderer,
+ sample->cat_texture, &matrix);
+
+ wlr_renderer_end(sample->renderer);
+}
+
+static void handle_keyboard_key(struct keyboard_state *kbstate,
+ xkb_keysym_t sym, enum wlr_key_state key_state) {
+ if (sym == XKB_KEY_Escape) {
+ kbstate->compositor->exit = true;
+ }
+}
+
+static void handle_pointer_motion(struct pointer_state *pstate,
+ double d_x, double d_y) {
+ struct sample_state *state = pstate->compositor->data;
+ state->cur_x += d_x;
+ state->cur_y += d_y;
+}
+
+static void handle_pointer_button(struct pointer_state *pstate,
+ uint32_t button, enum wlr_button_state state) {
+ struct sample_state *sample = pstate->compositor->data;
+ float (*color)[4];
+ if (state == WLR_BUTTON_RELEASED) {
+ color = &sample->default_color;
+ } else {
+ float red[4] = { 0.25f, 0.25f, 0.25f, 1 };
+ red[button % 3] = 1;
+ color = &red;
+ }
+ memcpy(&sample->clear_color, color, sizeof(*color));
+}
+
+static void handle_pointer_axis(struct pointer_state *pstate,
+ enum wlr_axis_source source,
+ enum wlr_axis_orientation orientation,
+ double delta) {
+ struct sample_state *sample = pstate->compositor->data;
+ for (size_t i = 0; i < 3; ++i) {
+ sample->default_color[i] += delta > 0 ? -0.05f : 0.05f;
+ if (sample->default_color[i] > 1.0f) {
+ sample->default_color[i] = 1.0f;
+ }
+ if (sample->default_color[i] < 0.0f) {
+ sample->default_color[i] = 0.0f;
+ }
+ }
+ memcpy(&sample->clear_color, &sample->default_color,
+ sizeof(sample->clear_color));
+}
+
+static void handle_output_add(struct output_state *ostate) {
+ struct wlr_output *wlr_output = ostate->output;
+ int width = 16, height = 16;
+ if (!wlr_output_set_cursor(wlr_output, cat_tex.pixel_data,
+ width * 4, width, height)) {
+ fprintf(stderr, "Failed to set cursor\n");
+ return;
+ }
+ if (!wlr_output_move_cursor(wlr_output, 0, 0)) {
+ fprintf(stderr, "Failed to move cursor\n");
+ }
+}
+
+int main(int argc, char *argv[]) {
+ struct sample_state state = {
+ .default_color = { 0.25f, 0.25f, 0.25f, 1 },
+ .clear_color = { 0.25f, 0.25f, 0.25f, 1 }
+ };
+ struct compositor_state compositor;
+
+ compositor_init(&compositor);
+ compositor.output_add_cb = handle_output_add;
+ compositor.output_frame_cb = handle_output_frame;
+ compositor.keyboard_key_cb = handle_keyboard_key;
+ compositor.pointer_motion_cb = handle_pointer_motion;
+ compositor.pointer_button_cb = handle_pointer_button;
+ compositor.pointer_axis_cb = handle_pointer_axis;
+
+ state.renderer = wlr_gles3_renderer_init();
+ state.cat_texture = wlr_render_surface_init(state.renderer);
+ wlr_surface_attach_pixels(state.cat_texture, GL_RGBA,
+ cat_tex.width, cat_tex.height, cat_tex.pixel_data);
+
+ compositor.data = &state;
+ compositor_run(&compositor);
+
+ wlr_surface_destroy(state.cat_texture);
+ wlr_renderer_destroy(state.renderer);
+}
diff --git a/example/rotation.c b/example/rotation.c
index 25755f5f..f4b7625e 100644
--- a/example/rotation.c
+++ b/example/rotation.c
@@ -7,6 +7,7 @@
#include <unistd.h>
#include <wayland-server.h>
#include <wayland-server-protocol.h>
+#include <xkbcommon/xkbcommon.h>
#include <GLES3/gl3.h>
#include <wlr/render/matrix.h>
#include <wlr/render/gles3.h>
@@ -15,24 +16,18 @@
#include <wlr/session.h>
#include <wlr/types.h>
#include <math.h>
+#include "shared.h"
#include "cat.h"
-struct state {
- struct wl_listener output_add;
- struct wl_listener output_remove;
- struct wl_list outputs;
+struct sample_state {
struct wl_list config;
struct wlr_renderer *renderer;
struct wlr_surface *cat_texture;
};
-struct output_state {
- struct timespec last_frame;
- struct wl_list link;
- struct wlr_output *output;
- struct state *state;
- struct wl_listener frame;
+struct output_data {
float x_offs, y_offs;
+ float x_vel, y_vel;
};
struct output_config {
@@ -41,88 +36,95 @@ struct output_config {
struct wl_list link;
};
-static void output_frame(struct wl_listener *listener, void *data) {
- struct output_state *ostate = wl_container_of(listener, ostate, frame);
- struct wlr_output *output = ostate->output;
- struct state *s = ostate->state;
+static void handle_output_frame(struct output_state *output, struct timespec *ts) {
+ struct compositor_state *state = output->compositor;
+ struct sample_state *sample = state->data;
+ struct output_data *odata = output->data;
+ struct wlr_output *wlr_output = output->output;
int32_t width, height;
- wlr_output_effective_resolution(output, &width, &height);
+ wlr_output_effective_resolution(wlr_output, &width, &height);
- wlr_renderer_begin(s->renderer, output);
+ wlr_renderer_begin(sample->renderer, wlr_output);
float matrix[16];
- for (int y = -128 + (int)ostate->y_offs; y < height; y += 128) {
- for (int x = -128 + (int)ostate->x_offs; x < width; x += 128) {
- wlr_surface_get_matrix(s->cat_texture, &matrix,
- &output->transform_matrix, x, y);
- wlr_render_with_matrix(s->renderer, s->cat_texture, &matrix);
+ for (int y = -128 + (int)odata->y_offs; y < height; y += 128) {
+ for (int x = -128 + (int)odata->x_offs; x < width; x += 128) {
+ wlr_surface_get_matrix(sample->cat_texture, &matrix,
+ &wlr_output->transform_matrix, x, y);
+ wlr_render_with_matrix(sample->renderer,
+ sample->cat_texture, &matrix);
}
}
- wlr_renderer_end(s->renderer);
+ wlr_renderer_end(sample->renderer);
- struct timespec now;
- clock_gettime(CLOCK_MONOTONIC, &now);
- long ms = (now.tv_sec - ostate->last_frame.tv_sec) * 1000 +
- (now.tv_nsec - ostate->last_frame.tv_nsec) / 1000000;
+ long ms = (ts->tv_sec - output->last_frame.tv_sec) * 1000 +
+ (ts->tv_nsec - output->last_frame.tv_nsec) / 1000000;
float seconds = ms / 1000.0f;
- ostate->x_offs += 128 * seconds;
- ostate->y_offs += 128 * seconds;
- if (ostate->x_offs > 128) ostate->x_offs = 0;
- if (ostate->y_offs > 128) ostate->y_offs = 0;
- ostate->last_frame = now;
+ odata->x_offs += odata->x_vel * seconds;
+ odata->y_offs += odata->y_vel * seconds;
+ if (odata->x_offs > 128) odata->x_offs = 0;
+ if (odata->y_offs > 128) odata->y_offs = 0;
}
-static void output_add(struct wl_listener *listener, void *data) {
- struct wlr_output *output = data;
- struct state *state = wl_container_of(listener, state, output_add);
-
- fprintf(stderr, "Output '%s' added\n", output->name);
- wlr_output_set_mode(output, output->modes->items[0]);
-
- struct output_state *ostate = calloc(1, sizeof(struct output_state));
-
- clock_gettime(CLOCK_MONOTONIC, &ostate->last_frame);
- ostate->output = output;
- ostate->state = state;
- ostate->frame.notify = output_frame;
- ostate->x_offs = ostate->y_offs = 0;
+static void handle_output_add(struct output_state *output) {
+ struct output_data *odata = calloc(1, sizeof(struct output_data));
+ odata->x_offs = odata->y_offs = 0;
+ odata->x_vel = odata->y_vel = 128;
+ output->data = odata;
+ struct sample_state *state = output->compositor->data;
struct output_config *conf;
wl_list_for_each(conf, &state->config, link) {
- if (strcmp(conf->name, output->name) == 0) {
- wlr_output_transform(ostate->output, conf->transform);
+ if (strcmp(conf->name, output->output->name) == 0) {
+ wlr_output_transform(output->output, conf->transform);
break;
}
}
+}
- wl_list_init(&ostate->frame.link);
- wl_signal_add(&output->events.frame, &ostate->frame);
- wl_list_insert(&state->outputs, &ostate->link);
+static void handle_output_remove(struct output_state *output) {
+ free(output->data);
}
-static void output_remove(struct wl_listener *listener, void *data) {
- struct wlr_output *output = data;
- struct state *state = wl_container_of(listener, state, output_remove);
- struct output_state *ostate;
+static void update_velocities(struct compositor_state *state,
+ float x_diff, float y_diff) {
+ struct output_state *output;
+ wl_list_for_each(output, &state->outputs, link) {
+ struct output_data *odata = output->data;
+ odata->x_vel += x_diff;
+ odata->y_vel += y_diff;
+ }
+}
- wl_list_for_each(ostate, &state->outputs, link) {
- if (ostate->output == output) {
- wl_list_remove(&ostate->link);
- wl_list_remove(&ostate->frame.link);
- free(ostate);
+static void handle_keyboard_key(struct keyboard_state *kbstate,
+ xkb_keysym_t sym, enum wlr_key_state key_state) {
+ // NOTE: It may be better to simply refer to our key state during each frame
+ // and make this change in pixels/sec^2
+ // Also, key repeat
+ if (key_state == WLR_KEY_PRESSED) {
+ switch (sym) {
+ case XKB_KEY_Escape:
+ kbstate->compositor->exit = true;
+ break;
+ case XKB_KEY_Left:
+ update_velocities(kbstate->compositor, -16, 0);
+ break;
+ case XKB_KEY_Right:
+ update_velocities(kbstate->compositor, 16, 0);
+ break;
+ case XKB_KEY_Up:
+ update_velocities(kbstate->compositor, 0, -16);
+ break;
+ case XKB_KEY_Down:
+ update_velocities(kbstate->compositor, 0, 16);
break;
}
}
}
-static int timer_done(void *data) {
- *(bool *)data = true;
- return 1;
-}
-
static void usage(const char *name, int ret) {
fprintf(stderr,
"usage: %s [-d <name> [-r <rotation> | -f]]*\n"
@@ -190,59 +192,27 @@ static void parse_args(int argc, char *argv[], struct wl_list *config) {
}
int main(int argc, char *argv[]) {
- struct state state = {
- .output_add = { .notify = output_add },
- .output_remove = { .notify = output_remove }
- };
-
- wl_list_init(&state.outputs);
+ struct sample_state state = { 0 };
+ struct compositor_state compositor;
wl_list_init(&state.config);
- wl_list_init(&state.output_add.link);
- wl_list_init(&state.output_remove.link);
-
parse_args(argc, argv, &state.config);
- struct wl_display *display = wl_display_create();
- struct wl_event_loop *event_loop = wl_display_get_event_loop(display);
-
- struct wlr_session *session = wlr_session_start(display);
- if (!session) {
- return 1;
- }
-
- struct wlr_backend *wlr = wlr_backend_autocreate(display, session);
- if (!wlr) {
- return 1;
- }
-
- wl_signal_add(&wlr->events.output_add, &state.output_add);
- wl_signal_add(&wlr->events.output_remove, &state.output_remove);
-
- if (!wlr_backend_init(wlr)) {
- return 1;
- }
+ compositor_init(&compositor);
+ compositor.output_add_cb = handle_output_add;
+ compositor.output_remove_cb = handle_output_remove;
+ compositor.output_frame_cb = handle_output_frame;
+ compositor.keyboard_key_cb = handle_keyboard_key;
state.renderer = wlr_gles3_renderer_init();
state.cat_texture = wlr_render_surface_init(state.renderer);
- wlr_surface_attach_pixels(state.cat_texture, GL_RGB,
+ wlr_surface_attach_pixels(state.cat_texture, GL_RGBA,
cat_tex.width, cat_tex.height, cat_tex.pixel_data);
- bool done = false;
- struct wl_event_source *timer = wl_event_loop_add_timer(event_loop,
- timer_done, &done);
-
- wl_event_source_timer_update(timer, 30000);
-
- while (!done) {
- wl_event_loop_dispatch(event_loop, 0);
- }
+ compositor.data = &state;
+ compositor_run(&compositor);
- wl_event_source_remove(timer);
- wlr_backend_destroy(wlr);
- wlr_session_finish(session);
wlr_surface_destroy(state.cat_texture);
wlr_renderer_destroy(state.renderer);
- wl_display_destroy(display);
struct output_config *ptr, *tmp;
wl_list_for_each_safe(ptr, tmp, &state.config, link) {
diff --git a/example/shared.c b/example/shared.c
new file mode 100644
index 00000000..be1bdee7
--- /dev/null
+++ b/example/shared.c
@@ -0,0 +1,475 @@
+#define _POSIX_C_SOURCE 199309L
+#include <string.h>
+#include <stdlib.h>
+#include <time.h>
+#include <stdlib.h>
+#include <stdio.h>
+#include <stdbool.h>
+#include <xkbcommon/xkbcommon.h>
+#include <wayland-server-protocol.h>
+#include <wlr/backend.h>
+#include <wlr/session.h>
+#include <wlr/types.h>
+#include "shared.h"
+
+static void keyboard_led_update(struct keyboard_state *kbstate) {
+ uint32_t leds = 0;
+ for (uint32_t i = 0; i < WLR_LED_LAST; ++i) {
+ if (xkb_state_led_index_is_active(kbstate->xkb_state, kbstate->leds[i])) {
+ leds |= (1 << i);
+ }
+ }
+ wlr_keyboard_led_update(kbstate->device->keyboard, leds);
+}
+
+static void keyboard_key_notify(struct wl_listener *listener, void *data) {
+ struct wlr_keyboard_key *event = data;
+ struct keyboard_state *kbstate = wl_container_of(listener, kbstate, key);
+ uint32_t keycode = event->keycode + 8;
+ enum wlr_key_state key_state = event->state;
+ const xkb_keysym_t *syms;
+ int nsyms = xkb_state_key_get_syms(kbstate->xkb_state, keycode, &syms);
+ for (int i = 0; i < nsyms; ++i) {
+ xkb_keysym_t sym = syms[i];
+ char name[64];
+ int l = xkb_keysym_get_name(sym, name, sizeof(name));
+ if (l != -1 && l != sizeof(name)) {
+ fprintf(stderr, "Key event: %s %s\n", name,
+ key_state == WLR_KEY_PRESSED ? "pressed" : "released");
+ }
+ if (kbstate->compositor->keyboard_key_cb) {
+ kbstate->compositor->keyboard_key_cb(kbstate, sym, key_state);
+ }
+ }
+ xkb_state_update_key(kbstate->xkb_state, keycode,
+ event->state == WLR_KEY_PRESSED ? XKB_KEY_DOWN : XKB_KEY_UP);
+ keyboard_led_update(kbstate);
+}
+
+static void keyboard_add(struct wlr_input_device *device, struct compositor_state *state) {
+ struct keyboard_state *kbstate = calloc(sizeof(struct keyboard_state), 1);
+ kbstate->device = device;
+ kbstate->compositor = state;
+ wl_list_init(&kbstate->key.link);
+ kbstate->key.notify = keyboard_key_notify;
+ wl_signal_add(&device->keyboard->events.key, &kbstate->key);
+ wl_list_insert(&state->keyboards, &kbstate->link);
+
+ struct xkb_rule_names rules;
+ memset(&rules, 0, sizeof(rules));
+ rules.rules = getenv("XKB_DEFAULT_RULES");
+ rules.model = getenv("XKB_DEFAULT_MODEL");
+ rules.layout = getenv("XKB_DEFAULT_LAYOUT");
+ rules.variant = getenv("XKB_DEFAULT_VARIANT");
+ rules.options = getenv("XKB_DEFAULT_OPTIONS");
+ struct xkb_context *context = xkb_context_new(XKB_CONTEXT_NO_FLAGS);
+ if (!context) {
+ fprintf(stderr, "Failed to create XKB context\n");
+ exit(1);
+ }
+ kbstate->keymap = xkb_map_new_from_names(
+ context, &rules, XKB_KEYMAP_COMPILE_NO_FLAGS);
+ if (!kbstate->keymap) {
+ fprintf(stderr, "Failed to create XKB keymap\n");
+ exit(1);
+ }
+ xkb_context_unref(context);
+ kbstate->xkb_state = xkb_state_new(kbstate->keymap);
+ if (!kbstate->xkb_state) {
+ fprintf(stderr, "Failed to create XKB state\n");
+ exit(1);
+ }
+ const char *led_names[3] = {
+ XKB_LED_NAME_NUM,
+ XKB_LED_NAME_CAPS,
+ XKB_LED_NAME_SCROLL
+ };
+ for (uint32_t i = 0; i < 3; ++i) {
+ kbstate->leds[i] = xkb_map_led_get_index(kbstate->keymap, led_names[i]);
+ }
+}
+
+static void pointer_motion_notify(struct wl_listener *listener, void *data) {
+ struct wlr_pointer_motion *event = data;
+ struct pointer_state *pstate = wl_container_of(listener, pstate, motion);
+ if (pstate->compositor->pointer_motion_cb) {
+ pstate->compositor->pointer_motion_cb(pstate,
+ event->delta_x, event->delta_y);
+ }
+}
+
+static void pointer_button_notify(struct wl_listener *listener, void *data) {
+ struct wlr_pointer_button *event = data;
+ struct pointer_state *pstate = wl_container_of(listener, pstate, button);
+ if (pstate->compositor->pointer_button_cb) {
+ pstate->compositor->pointer_button_cb(pstate,
+ event->button, event->state);
+ }
+}
+
+static void pointer_axis_notify(struct wl_listener *listener, void *data) {
+ struct wlr_pointer_axis *event = data;
+ struct pointer_state *pstate = wl_container_of(listener, pstate, axis);
+ if (pstate->compositor->pointer_axis_cb) {
+ pstate->compositor->pointer_axis_cb(pstate,
+ event->source, event->orientation, event->delta);
+ }
+}
+
+static void pointer_add(struct wlr_input_device *device, struct compositor_state *state) {
+ struct pointer_state *pstate = calloc(sizeof(struct pointer_state), 1);
+ pstate->device = device;
+ pstate->compositor = state;
+ wl_list_init(&pstate->motion.link);
+ wl_list_init(&pstate->motion_absolute.link);
+ wl_list_init(&pstate->button.link);
+ wl_list_init(&pstate->axis.link);
+ pstate->motion.notify = pointer_motion_notify;
+ pstate->button.notify = pointer_button_notify;
+ pstate->axis.notify = pointer_axis_notify;
+ wl_signal_add(&device->pointer->events.motion, &pstate->motion);
+ wl_signal_add(&device->pointer->events.button, &pstate->button);
+ wl_signal_add(&device->pointer->events.axis, &pstate->axis);
+ wl_list_insert(&state->pointers, &pstate->link);
+}
+
+static void touch_down_notify(struct wl_listener *listener, void *data) {
+ struct wlr_touch_down *event = data;
+ struct touch_state *tstate = wl_container_of(listener, tstate, down);
+ if (tstate->compositor->touch_down_cb) {
+ tstate->compositor->touch_down_cb(tstate, event->slot,
+ event->x_mm, event->y_mm, event->width_mm, event->height_mm);
+ }
+}
+
+static void touch_motion_notify(struct wl_listener *listener, void *data) {
+ struct wlr_touch_motion *event = data;
+ struct touch_state *tstate = wl_container_of(listener, tstate, motion);
+ if (tstate->compositor->touch_motion_cb) {
+ tstate->compositor->touch_motion_cb(tstate, event->slot,
+ event->x_mm, event->y_mm, event->width_mm, event->height_mm);
+ }
+}
+
+static void touch_up_notify(struct wl_listener *listener, void *data) {
+ struct wlr_touch_up *event = data;
+ struct touch_state *tstate = wl_container_of(listener, tstate, up);
+ if (tstate->compositor->touch_up_cb) {
+ tstate->compositor->touch_up_cb(tstate, event->slot);
+ }
+}
+
+static void touch_cancel_notify(struct wl_listener *listener, void *data) {
+ struct wlr_touch_cancel *event = data;
+ struct touch_state *tstate = wl_container_of(listener, tstate, cancel);
+ if (tstate->compositor->touch_cancel_cb) {
+ tstate->compositor->touch_cancel_cb(tstate, event->slot);
+ }
+}
+
+static void touch_add(struct wlr_input_device *device, struct compositor_state *state) {
+ struct touch_state *tstate = calloc(sizeof(struct touch_state), 1);
+ tstate->device = device;
+ tstate->compositor = state;
+ wl_list_init(&tstate->down.link);
+ wl_list_init(&tstate->motion.link);
+ wl_list_init(&tstate->up.link);
+ wl_list_init(&tstate->cancel.link);
+ tstate->down.notify = touch_down_notify;
+ tstate->motion.notify = touch_motion_notify;
+ tstate->up.notify = touch_up_notify;
+ tstate->cancel.notify = touch_cancel_notify;
+ wl_signal_add(&device->touch->events.down, &tstate->down);
+ wl_signal_add(&device->touch->events.motion, &tstate->motion);
+ wl_signal_add(&device->touch->events.up, &tstate->up);
+ wl_signal_add(&device->touch->events.cancel, &tstate->cancel);
+ wl_list_insert(&state->touch, &tstate->link);
+}
+
+static void tablet_tool_axis_notify(struct wl_listener *listener, void *data) {
+ struct wlr_tablet_tool_axis *event = data;
+ struct tablet_tool_state *tstate = wl_container_of(listener, tstate, axis);
+ if (tstate->compositor->tool_axis_cb) {
+ tstate->compositor->tool_axis_cb(tstate, event);
+ }
+}
+
+static void tablet_tool_proximity_notify(struct wl_listener *listener, void *data) {
+ struct wlr_tablet_tool_proximity *event = data;
+ struct tablet_tool_state *tstate = wl_container_of(listener, tstate, proximity);
+ if (tstate->compositor->tool_proximity_cb) {
+ tstate->compositor->tool_proximity_cb(tstate, event->state);
+ }
+}
+
+static void tablet_tool_button_notify(struct wl_listener *listener, void *data) {
+ struct wlr_tablet_tool_button *event = data;
+ struct tablet_tool_state *tstate = wl_container_of(listener, tstate, button);
+ if (tstate->compositor->tool_button_cb) {
+ tstate->compositor->tool_button_cb(tstate, event->button, event->state);
+ }
+}
+
+static void tablet_tool_add(struct wlr_input_device *device,
+ struct compositor_state *state) {
+ struct tablet_tool_state *tstate = calloc(sizeof(struct tablet_tool_state), 1);
+ tstate->device = device;
+ tstate->compositor = state;
+ wl_list_init(&tstate->axis.link);
+ wl_list_init(&tstate->proximity.link);
+ wl_list_init(&tstate->tip.link);
+ wl_list_init(&tstate->button.link);
+ tstate->axis.notify = tablet_tool_axis_notify;
+ tstate->proximity.notify = tablet_tool_proximity_notify;
+ //tstate->tip.notify = tablet_tool_tip_notify;
+ tstate->button.notify = tablet_tool_button_notify;
+ wl_signal_add(&device->tablet_tool->events.axis, &tstate->axis);
+ wl_signal_add(&device->tablet_tool->events.proximity, &tstate->proximity);
+ //wl_signal_add(&device->tablet_tool->events.tip, &tstate->tip);
+ wl_signal_add(&device->tablet_tool->events.button, &tstate->button);
+ wl_list_insert(&state->tablet_tools, &tstate->link);
+}
+
+static void tablet_pad_button_notify(struct wl_listener *listener, void *data) {
+ struct wlr_tablet_pad_button *event = data;
+ struct tablet_pad_state *pstate = wl_container_of(listener, pstate, button);
+ if (pstate->compositor->pad_button_cb) {
+ pstate->compositor->pad_button_cb(pstate, event->button, event->state);
+ }
+}
+
+static void tablet_pad_add(struct wlr_input_device *device,
+ struct compositor_state *state) {
+ struct tablet_pad_state *pstate = calloc(sizeof(struct tablet_pad_state), 1);
+ pstate->device = device;
+ pstate->compositor = state;
+ wl_list_init(&pstate->button.link);
+ pstate->button.notify = tablet_pad_button_notify;
+ wl_signal_add(&device->tablet_pad->events.button, &pstate->button);
+ wl_list_insert(&state->tablet_pads, &pstate->link);
+}
+
+static void input_add_notify(struct wl_listener *listener, void *data) {
+ struct wlr_input_device *device = data;
+ struct compositor_state *state = wl_container_of(listener, state, input_add);
+ switch (device->type) {
+ case WLR_INPUT_DEVICE_KEYBOARD:
+ keyboard_add(device, state);
+ break;
+ case WLR_INPUT_DEVICE_POINTER:
+ pointer_add(device, state);
+ break;
+ case WLR_INPUT_DEVICE_TOUCH:
+ touch_add(device, state);
+ break;
+ case WLR_INPUT_DEVICE_TABLET_TOOL:
+ tablet_tool_add(device, state);
+ break;
+ case WLR_INPUT_DEVICE_TABLET_PAD:
+ tablet_pad_add(device, state);
+ break;
+ default:
+ break;
+ }
+}
+
+static void keyboard_remove(struct wlr_input_device *device, struct compositor_state *state) {
+ struct keyboard_state *kbstate = NULL, *_kbstate;
+ wl_list_for_each(_kbstate, &state->keyboards, link) {
+ if (_kbstate->device == device) {
+ kbstate = _kbstate;
+ break;
+ }
+ }
+ if (!kbstate) {
+ return;
+ }
+ wl_list_remove(&kbstate->link);
+ wl_list_remove(&kbstate->key.link);
+}
+
+static void pointer_remove(struct wlr_input_device *device, struct compositor_state *state) {
+ struct pointer_state *pstate = NULL, *_pstate;
+ wl_list_for_each(_pstate, &state->pointers, link) {
+ if (_pstate->device == device) {
+ pstate = _pstate;
+ break;
+ }
+ }
+ if (!pstate) {
+ return;
+ }
+ wl_list_remove(&pstate->link);
+ wl_list_remove(&pstate->motion.link);
+ //wl_list_remove(&pstate->motion_absolute.link);
+ wl_list_remove(&pstate->button.link);
+ wl_list_remove(&pstate->axis.link);
+}
+
+static void touch_remove(struct wlr_input_device *device, struct compositor_state *state) {
+ struct touch_state *tstate = NULL, *_tstate;
+ wl_list_for_each(_tstate, &state->touch, link) {
+ if (_tstate->device == device) {
+ tstate = _tstate;
+ break;
+ }
+ }
+ if (!tstate) {
+ return;
+ }
+ wl_list_remove(&tstate->link);
+ wl_list_remove(&tstate->down.link);
+ wl_list_remove(&tstate->motion.link);
+ wl_list_remove(&tstate->up.link);
+ wl_list_remove(&tstate->cancel.link);
+}
+
+static void tablet_tool_remove(struct wlr_input_device *device, struct compositor_state *state) {
+ struct tablet_tool_state *tstate = NULL, *_tstate;
+ wl_list_for_each(_tstate, &state->tablet_tools, link) {
+ if (_tstate->device == device) {
+ tstate = _tstate;
+ break;
+ }
+ }
+ if (!tstate) {
+ return;
+ }
+ wl_list_remove(&tstate->link);
+ wl_list_remove(&tstate->axis.link);
+ wl_list_remove(&tstate->proximity.link);
+ //wl_list_remove(&tstate->tip.link);
+ wl_list_remove(&tstate->button.link);
+}
+
+static void input_remove_notify(struct wl_listener *listener, void *data) {
+ struct wlr_input_device *device = data;
+ struct compositor_state *state = wl_container_of(listener, state, input_add);
+ switch (device->type) {
+ case WLR_INPUT_DEVICE_KEYBOARD:
+ keyboard_remove(device, state);
+ break;
+ case WLR_INPUT_DEVICE_POINTER:
+ pointer_remove(device, state);
+ break;
+ case WLR_INPUT_DEVICE_TOUCH:
+ touch_remove(device, state);
+ break;
+ case WLR_INPUT_DEVICE_TABLET_TOOL:
+ tablet_tool_remove(device, state);
+ break;
+ default:
+ break;
+ }
+}
+
+static void output_frame_notify(struct wl_listener *listener, void *data) {
+ struct output_state *output = wl_container_of(listener, output, frame);
+ struct compositor_state *compositor = output->compositor;
+
+ struct timespec now;
+ clock_gettime(CLOCK_MONOTONIC, &now);
+ if (compositor->output_frame_cb) {
+ compositor->output_frame_cb(output, &now);
+ }
+
+ output->last_frame = now;
+ compositor->last_frame = now;
+}
+
+static void output_add_notify(struct wl_listener *listener, void *data) {
+ struct wlr_output *output = data;
+ struct compositor_state *state = wl_container_of(listener, state, output_add);
+ fprintf(stderr, "Output '%s' added\n", output->name);
+ fprintf(stderr, "%s %s %"PRId32"mm x %"PRId32"mm\n", output->make, output->model,
+ output->phys_width, output->phys_height);
+ wlr_output_set_mode(output, output->modes->items[0]);
+ struct output_state *ostate = calloc(1, sizeof(struct output_state));
+ clock_gettime(CLOCK_MONOTONIC, &ostate->last_frame);
+ ostate->output = output;
+ ostate->compositor = state;
+ ostate->frame.notify = output_frame_notify;
+ wl_list_init(&ostate->frame.link);
+ wl_signal_add(&output->events.frame, &ostate->frame);
+ wl_list_insert(&state->outputs, &ostate->link);
+ if (state->output_add_cb) {
+ state->output_add_cb(ostate);
+ }
+}
+
+static void output_remove_notify(struct wl_listener *listener, void *data) {
+ struct wlr_output *output = data;
+ struct compositor_state *state = wl_container_of(listener, state, output_remove);
+ struct output_state *ostate = NULL, *_ostate;
+ wl_list_for_each(_ostate, &state->outputs, link) {
+ if (_ostate->output == output) {
+ ostate = _ostate;
+ break;
+ }
+ }
+ if (!ostate) {
+ return; // We are unfamiliar with this output
+ }
+ if (state->output_remove_cb) {
+ state->output_remove_cb(ostate);
+ }
+ wl_list_remove(&ostate->link);
+ wl_list_remove(&ostate->frame.link);
+}
+
+void compositor_init(struct compositor_state *state) {
+ memset(state, 0, sizeof(struct compositor_state));
+
+ state->display = wl_display_create();
+ state->event_loop = wl_display_get_event_loop(state->display);
+ state->session = wlr_session_start(state->display);
+ if (!state->session
+ || !state->display
+ || !state->event_loop) {
+ exit(1);
+ }
+
+ wl_list_init(&state->keyboards);
+ wl_list_init(&state->pointers);
+ wl_list_init(&state->touch);
+ wl_list_init(&state->tablet_tools);
+ wl_list_init(&state->tablet_pads);
+ wl_list_init(&state->input_add.link);
+ state->input_add.notify = input_add_notify;
+ wl_list_init(&state->input_remove.link);
+ state->input_remove.notify = input_remove_notify;
+
+ wl_list_init(&state->outputs);
+ wl_list_init(&state->output_add.link);
+ state->output_add.notify = output_add_notify;
+ wl_list_init(&state->output_remove.link);
+ state->output_remove.notify = output_remove_notify;
+
+ struct wlr_backend *wlr = wlr_backend_autocreate(
+ state->display, state->session);
+ if (!wlr) {
+ exit(1);
+ }
+ wl_signal_add(&wlr->events.input_add, &state->input_add);
+ wl_signal_add(&wlr->events.input_remove, &state->input_remove);
+ wl_signal_add(&wlr->events.output_add, &state->output_add);
+ wl_signal_add(&wlr->events.output_remove, &state->output_remove);
+ state->backend = wlr;
+
+ clock_gettime(CLOCK_MONOTONIC, &state->last_frame);
+}
+
+void compositor_run(struct compositor_state *state) {
+ if (!wlr_backend_init(state->backend)) {
+ fprintf(stderr, "Failed to initialize backend\n");
+ exit(1);
+ }
+
+ while (!state->exit) {
+ wl_event_loop_dispatch(state->event_loop, 0);
+ }
+
+ wlr_backend_destroy(state->backend);
+ wlr_session_finish(state->session);
+ wl_display_destroy(state->display);
+}
diff --git a/example/shared.h b/example/shared.h
new file mode 100644
index 00000000..6d533443
--- /dev/null
+++ b/example/shared.h
@@ -0,0 +1,131 @@
+#ifndef _EXAMPLE_SHARED_H
+#define _EXAMPLE_SHARED_H
+#define _POSIX_C_SOURCE 199309L
+#include <time.h>
+#include <stdbool.h>
+#include <xkbcommon/xkbcommon.h>
+#include <wayland-server-protocol.h>
+#include <wlr/backend.h>
+#include <wlr/session.h>
+#include <wlr/types.h>
+
+struct output_state {
+ struct compositor_state *compositor;
+ struct wlr_output *output;
+ struct wl_listener frame;
+ struct timespec last_frame;
+ struct wl_list link;
+ void *data;
+};
+
+struct keyboard_state {
+ struct compositor_state *compositor;
+ struct wlr_input_device *device;
+ struct wl_listener key;
+ struct wl_list link;
+ struct xkb_keymap *keymap;
+ struct xkb_state *xkb_state;
+ xkb_led_index_t leds[WLR_LED_LAST];
+ void *data;
+};
+
+struct pointer_state {
+ struct compositor_state *compositor;
+ struct wlr_input_device *device;
+ struct wl_listener motion;
+ struct wl_listener motion_absolute;
+ struct wl_listener button;
+ struct wl_listener axis;
+ struct wl_list link;
+ void *data;
+};
+
+struct touch_state {
+ struct compositor_state *compositor;
+ struct wlr_input_device *device;
+ struct wl_listener down;
+ struct wl_listener up;
+ struct wl_listener motion;
+ struct wl_listener cancel;
+ struct wl_list link;
+ void *data;
+};
+
+struct tablet_tool_state {
+ struct compositor_state *compositor;
+ struct wlr_input_device *device;
+ struct wl_listener axis;
+ struct wl_listener proximity;
+ struct wl_listener tip;
+ struct wl_listener button;
+ struct wl_list link;
+ void *data;
+};
+
+struct tablet_pad_state {
+ struct compositor_state *compositor;
+ struct wlr_input_device *device;
+ struct wl_listener button;
+ struct wl_list link;
+ void *data;
+};
+
+struct compositor_state {
+ void (*output_add_cb)(struct output_state *s);
+ void (*keyboard_add_cb)(struct keyboard_state *s);
+ void (*output_frame_cb)(struct output_state *s, struct timespec *ts);
+ void (*output_remove_cb)(struct output_state *s);
+ void (*keyboard_remove_cb)(struct keyboard_state *s);
+ void (*keyboard_key_cb)(struct keyboard_state *s, xkb_keysym_t sym,
+ enum wlr_key_state key_state);
+ void (*pointer_motion_cb)(struct pointer_state *s,
+ double d_x, double d_y);
+ void (*pointer_button_cb)(struct pointer_state *s,
+ uint32_t button, enum wlr_button_state state);
+ void (*pointer_axis_cb)(struct pointer_state *s,
+ enum wlr_axis_source source,
+ enum wlr_axis_orientation orientation,
+ double delta);
+ void (*touch_down_cb)(struct touch_state *s, int32_t slot,
+ double x, double y, double width, double height);
+ void (*touch_motion_cb)(struct touch_state *s, int32_t slot,
+ double x, double y, double width, double height);
+ void (*touch_up_cb)(struct touch_state *s, int32_t slot);
+ void (*touch_cancel_cb)(struct touch_state *s, int32_t slot);
+ void (*tool_axis_cb)(struct tablet_tool_state *s,
+ struct wlr_tablet_tool_axis *event);
+ void (*tool_proximity_cb)(struct tablet_tool_state *s,
+ enum wlr_tablet_tool_proximity_state proximity);
+ void (*tool_tip_cb)(struct tablet_tool_state *s,
+ enum wlr_tablet_tool_tip_state state);
+ void (*tool_button_cb)(struct tablet_tool_state *s,
+ uint32_t button, enum wlr_button_state state);
+ void (*pad_button_cb)(struct tablet_pad_state *s,
+ uint32_t button, enum wlr_button_state state);
+
+ struct wl_display *display;
+ struct wl_event_loop *event_loop;
+ struct wlr_backend *backend;
+ struct wlr_session *session;
+
+ struct wl_list keyboards;
+ struct wl_list pointers;
+ struct wl_list touch;
+ struct wl_list tablet_tools;
+ struct wl_list tablet_pads;
+ struct wl_listener input_add;
+ struct wl_listener input_remove;
+
+ struct timespec last_frame;
+ struct wl_listener output_add;
+ struct wl_listener output_remove;
+ struct wl_list outputs;
+
+ bool exit;
+ void *data;
+};
+
+void compositor_init(struct compositor_state *state);
+void compositor_run(struct compositor_state *state);
+
+#endif
diff --git a/example/simple.c b/example/simple.c
index 21f333c7..5a5a1300 100644
--- a/example/simple.c
+++ b/example/simple.c
@@ -1,4 +1,5 @@
#define _POSIX_C_SOURCE 199309L
+#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
@@ -8,152 +9,52 @@
#include <wlr/backend.h>
#include <wlr/session.h>
#include <wlr/types.h>
+#include <xkbcommon/xkbcommon.h>
+#include "shared.h"
-struct state {
+struct sample_state {
float color[3];
int dec;
- struct timespec last_frame;
- struct wl_listener output_add;
- struct wl_listener output_remove;
- struct wl_list outputs;
};
-struct output_state {
- struct wl_list link;
- struct wlr_output *output;
- struct state *state;
- struct wl_listener frame;
-};
-
-void output_frame(struct wl_listener *listener, void *data) {
- struct output_state *ostate = wl_container_of(listener, ostate, frame);
- struct state *s = ostate->state;
+void handle_output_frame(struct output_state *output, struct timespec *ts) {
+ struct compositor_state *state = output->compositor;
+ struct sample_state *sample = state->data;
- struct timespec now;
- clock_gettime(CLOCK_MONOTONIC, &now);
+ long ms = (ts->tv_sec - state->last_frame.tv_sec) * 1000 +
+ (ts->tv_nsec - state->last_frame.tv_nsec) / 1000000;
+ int inc = (sample->dec + 1) % 3;
- long ms = (now.tv_sec - s->last_frame.tv_sec) * 1000 +
- (now.tv_nsec - s->last_frame.tv_nsec) / 1000000;
- int inc = (s->dec + 1) % 3;
+ sample->color[inc] += ms / 2000.0f;
+ sample->color[sample->dec] -= ms / 2000.0f;
- s->color[inc] += ms / 2000.0f;
- s->color[s->dec] -= ms / 2000.0f;
-
- if (s->color[s->dec] < 0.0f) {
- s->color[inc] = 1.0f;
- s->color[s->dec] = 0.0f;
- s->dec = inc;
+ if (sample->color[sample->dec] < 0.0f) {
+ sample->color[inc] = 1.0f;
+ sample->color[sample->dec] = 0.0f;
+ sample->dec = inc;
}
- s->last_frame = now;
-
- glClearColor(s->color[0], s->color[1], s->color[2], 1.0);
+ glClearColor(sample->color[0], sample->color[1], sample->color[2], 1.0);
glClear(GL_COLOR_BUFFER_BIT);
}
-void output_add(struct wl_listener *listener, void *data) {
- struct wlr_output *output = data;
- struct state *state = wl_container_of(listener, state, output_add);
- fprintf(stderr, "Output '%s' added\n", output->name);
- fprintf(stderr, "%s %s %"PRId32"mm x %"PRId32"mm\n", output->make, output->model,
- output->phys_width, output->phys_height);
- wlr_output_set_mode(output, output->modes->items[0]);
- struct output_state *ostate = calloc(1, sizeof(struct output_state));
- ostate->output = output;
- ostate->state = state;
- ostate->frame.notify = output_frame;
- wl_list_init(&ostate->frame.link);
- wl_signal_add(&output->events.frame, &ostate->frame);
- wl_list_insert(&state->outputs, &ostate->link);
-}
-
-void output_remove(struct wl_listener *listener, void *data) {
- struct wlr_output *output = data;
- struct state *state = wl_container_of(listener, state, output_remove);
- struct output_state *ostate = NULL, *_ostate;
- wl_list_for_each(_ostate, &state->outputs, link) {
- if (_ostate->output == output) {
- ostate = _ostate;
- break;
- }
- }
- if (!ostate) {
- return; // We are unfamiliar with this output
+static void handle_keyboard_key(struct keyboard_state *kbstate,
+ xkb_keysym_t sym, enum wlr_key_state key_state) {
+ if (sym == XKB_KEY_Escape) {
+ kbstate->compositor->exit = true;
}
- wl_list_remove(&ostate->link);
- wl_list_remove(&ostate->frame.link);
-}
-
-int timer_done(void *data) {
- *(bool *)data = true;
- return 1;
-}
-
-int enable_outputs(void *data) {
- struct state *state = data;
- struct output_state *ostate;
- wl_list_for_each(ostate, &state->outputs, link) {
- struct wlr_output *output = ostate->output;
- wlr_output_enable(output, true);
- }
- return 1;
-}
-
-int disable_outputs(void *data) {
- struct state *state = data;
- struct output_state *ostate;
- wl_list_for_each(ostate, &state->outputs, link) {
- struct wlr_output *output = ostate->output;
- wlr_output_enable(output, false);
- }
- return 1;
}
int main() {
- struct state state = {
+ struct sample_state state = {
.color = { 1.0, 0.0, 0.0 },
.dec = 0,
- .output_add = { .notify = output_add },
- .output_remove = { .notify = output_remove }
};
+ struct compositor_state compositor;
- wl_list_init(&state.outputs);
- wl_list_init(&state.output_add.link);
- wl_list_init(&state.output_remove.link);
- clock_gettime(CLOCK_MONOTONIC, &state.last_frame);
-
- struct wl_display *display = wl_display_create();
- struct wl_event_loop *event_loop = wl_display_get_event_loop(display);
-
- struct wlr_session *session = wlr_session_start(display);
- if (!session) {
- return 1;
- }
-
- struct wlr_backend *wlr = wlr_backend_autocreate(display, session);
- wl_signal_add(&wlr->events.output_add, &state.output_add);
- wl_signal_add(&wlr->events.output_remove, &state.output_remove);
- if (!wlr || !wlr_backend_init(wlr)) {
- return 1;
- }
-
- bool done = false;
- struct wl_event_source *timer = wl_event_loop_add_timer(event_loop,
- timer_done, &done);
- struct wl_event_source *timer_disable_outputs =
- wl_event_loop_add_timer(event_loop, disable_outputs, &state);
- struct wl_event_source *timer_enable_outputs =
- wl_event_loop_add_timer(event_loop, enable_outputs, &state);
-
- wl_event_source_timer_update(timer, 20000);
- wl_event_source_timer_update(timer_disable_outputs, 5000);
- wl_event_source_timer_update(timer_enable_outputs, 10000);
-
- while (!done) {
- wl_event_loop_dispatch(event_loop, 0);
- }
-
- wl_event_source_remove(timer);
- wlr_backend_destroy(wlr);
- wl_display_destroy(display);
+ compositor_init(&compositor);
+ compositor.output_frame_cb = handle_output_frame;
+ compositor.keyboard_key_cb = handle_keyboard_key;
+ compositor.data = &state;
+ compositor_run(&compositor);
}
diff --git a/example/tablet.c b/example/tablet.c
new file mode 100644
index 00000000..3c5b583e
--- /dev/null
+++ b/example/tablet.c
@@ -0,0 +1,164 @@
+#define _POSIX_C_SOURCE 199309L
+#define _XOPEN_SOURCE 500
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <string.h>
+#include <unistd.h>
+#include <wayland-server.h>
+#include <wayland-server-protocol.h>
+#include <xkbcommon/xkbcommon.h>
+#include <GLES3/gl3.h>
+#include <wlr/render/matrix.h>
+#include <wlr/render/gles3.h>
+#include <wlr/render.h>
+#include <wlr/backend.h>
+#include <wlr/session.h>
+#include <wlr/types.h>
+#include <math.h>
+#include "shared.h"
+#include "cat.h"
+
+struct sample_state {
+ struct wlr_renderer *renderer;
+ bool proximity, tap, button;
+ double distance;
+ double pressure;
+ double x_mm, y_mm;
+ double width_mm, height_mm;
+ struct wl_list link;
+ float tool_color[4];
+ float pad_color[4];
+};
+
+static void handle_output_frame(struct output_state *output, struct timespec *ts) {
+ struct compositor_state *state = output->compositor;
+ struct sample_state *sample = state->data;
+ struct wlr_output *wlr_output = output->output;
+
+ int32_t width, height;
+ wlr_output_effective_resolution(wlr_output, &width, &height);
+
+ wlr_renderer_begin(sample->renderer, wlr_output);
+
+ float matrix[16], view[16];
+ float distance = 0.8f * (1 - sample->distance);
+ float tool_color[4] = { distance, distance, distance, 1 };
+ for (size_t i = 0; sample->button && i < 4; ++i) {
+ tool_color[i] = sample->tool_color[i];
+ }
+ float scale = 4;
+
+ float pad_width = sample->width_mm * scale;
+ float pad_height = sample->height_mm * scale;
+ float left = width / 2.0f - pad_width / 2.0f;
+ float top = height / 2.0f - pad_height / 2.0f;
+ wlr_matrix_translate(&matrix, left, top, 0);
+ wlr_matrix_scale(&view, pad_width, pad_height, 1);
+ wlr_matrix_mul(&matrix, &view, &view);
+ wlr_matrix_mul(&wlr_output->transform_matrix, &view, &matrix);
+ wlr_render_colored_quad(sample->renderer, &sample->pad_color, &matrix);
+
+ if (sample->proximity) {
+ wlr_matrix_translate(&matrix,
+ sample->x_mm * scale - 8 * (sample->pressure + 1) + left,
+ sample->y_mm * scale - 8 * (sample->pressure + 1) + top, 0);
+ wlr_matrix_scale(&view,
+ 16 * (sample->pressure + 1),
+ 16 * (sample->pressure + 1), 1);
+ wlr_matrix_mul(&matrix, &view, &view);
+ wlr_matrix_mul(&wlr_output->transform_matrix, &view, &matrix);
+ wlr_render_colored_ellipse(sample->renderer, &tool_color, &matrix);
+ }
+
+ wlr_renderer_end(sample->renderer);
+}
+
+static void handle_keyboard_key(struct keyboard_state *kbstate,
+ xkb_keysym_t sym, enum wlr_key_state key_state) {
+ if (sym == XKB_KEY_Escape) {
+ kbstate->compositor->exit = true;
+ }
+}
+
+static void handle_tool_axis(struct tablet_tool_state *tstate,
+ struct wlr_tablet_tool_axis *event) {
+ struct sample_state *sample = tstate->compositor->data;
+ sample->width_mm = event->width_mm;
+ sample->height_mm = event->height_mm;
+ if ((event->updated_axes & WLR_TABLET_TOOL_AXIS_X)) {
+ sample->x_mm = event->x_mm;
+ }
+ if ((event->updated_axes & WLR_TABLET_TOOL_AXIS_Y)) {
+ sample->y_mm = event->y_mm;
+ }
+ if ((event->updated_axes & WLR_TABLET_TOOL_AXIS_DISTANCE)) {
+ sample->distance = event->distance;
+ }
+ if ((event->updated_axes & WLR_TABLET_TOOL_AXIS_PRESSURE)) {
+ sample->pressure = event->pressure;
+ }
+}
+
+static void handle_tool_proximity(struct tablet_tool_state *tstate,
+ enum wlr_tablet_tool_proximity_state state) {
+ struct sample_state *sample = tstate->compositor->data;
+ sample->proximity = state == WLR_TABLET_TOOL_PROXIMITY_IN;
+}
+
+static void handle_tool_button(struct tablet_tool_state *tstate,
+ uint32_t button, enum wlr_button_state state) {
+ struct sample_state *sample = tstate->compositor->data;
+ if (state == WLR_BUTTON_RELEASED) {
+ sample->button = false;
+ } else {
+ sample->button = true;
+ for (size_t i = 0; i < 3; ++i) {
+ if (button % 3 == i) {
+ sample->tool_color[i] = 0;
+ } else {
+ sample->tool_color[i] = 1;
+ }
+ }
+ }
+}
+
+static void handle_pad_button(struct tablet_pad_state *pstate,
+ uint32_t button, enum wlr_button_state state) {
+ struct sample_state *sample = pstate->compositor->data;
+ float default_color[4] = { 0.75, 0.75, 0.75, 1.0 };
+ if (state == WLR_BUTTON_RELEASED) {
+ memcpy(sample->pad_color, default_color, sizeof(default_color));
+ } else {
+ for (size_t i = 0; i < 3; ++i) {
+ if (button % 3 == i) {
+ sample->pad_color[i] = 0;
+ } else {
+ sample->pad_color[i] = 1;
+ }
+ }
+ }
+}
+
+int main(int argc, char *argv[]) {
+ struct sample_state state = {
+ .tool_color = { 1, 1, 1, 1 },
+ .pad_color = { 0.75, 0.75, 0.75, 1.0 }
+ };
+ struct compositor_state compositor;
+
+ compositor_init(&compositor);
+ compositor.output_frame_cb = handle_output_frame;
+ compositor.keyboard_key_cb = handle_keyboard_key;
+ compositor.tool_axis_cb = handle_tool_axis;
+ compositor.tool_proximity_cb = handle_tool_proximity;
+ compositor.tool_button_cb = handle_tool_button;
+ compositor.pad_button_cb = handle_pad_button;
+
+ state.renderer = wlr_gles3_renderer_init();
+
+ compositor.data = &state;
+ compositor_run(&compositor);
+
+ wlr_renderer_destroy(state.renderer);
+}
diff --git a/example/touch.c b/example/touch.c
new file mode 100644
index 00000000..46eddf62
--- /dev/null
+++ b/example/touch.c
@@ -0,0 +1,122 @@
+#define _POSIX_C_SOURCE 199309L
+#define _XOPEN_SOURCE 500
+#include <stdio.h>
+#include <stdlib.h>
+#include <time.h>
+#include <string.h>
+#include <unistd.h>
+#include <stdint.h>
+#include <math.h>
+#include <wayland-server.h>
+#include <wayland-server-protocol.h>
+#include <xkbcommon/xkbcommon.h>
+#include <GLES3/gl3.h>
+#include <wlr/common/list.h>
+#include <wlr/render/matrix.h>
+#include <wlr/render/gles3.h>
+#include <wlr/render.h>
+#include <wlr/backend.h>
+#include <wlr/session.h>
+#include <wlr/types.h>
+#include "shared.h"
+#include "cat.h"
+
+struct sample_state {
+ struct wlr_renderer *renderer;
+ struct wlr_surface *cat_texture;
+ list_t *touch_points;
+};
+
+struct touch_point {
+ int32_t slot;
+ double x, y;
+};
+
+static void handle_output_frame(struct output_state *output, struct timespec *ts) {
+ struct compositor_state *state = output->compositor;
+ struct sample_state *sample = state->data;
+ struct wlr_output *wlr_output = output->output;
+
+ int32_t width, height;
+ wlr_output_effective_resolution(wlr_output, &width, &height);
+ wlr_renderer_begin(sample->renderer, wlr_output);
+
+ float matrix[16];
+ for (size_t i = 0; i < sample->touch_points->length; ++i) {
+ struct touch_point *p = sample->touch_points->items[i];
+ wlr_surface_get_matrix(sample->cat_texture, &matrix,
+ &wlr_output->transform_matrix,
+ (int)(p->x * width) - sample->cat_texture->width / 2,
+ (int)(p->y * height) - sample->cat_texture->height / 2);
+ wlr_render_with_matrix(sample->renderer,
+ sample->cat_texture, &matrix);
+ }
+
+ wlr_renderer_end(sample->renderer);
+}
+
+static void handle_keyboard_key(struct keyboard_state *kbstate,
+ xkb_keysym_t sym, enum wlr_key_state key_state) {
+ if (sym == XKB_KEY_Escape) {
+ kbstate->compositor->exit = true;
+ }
+}
+
+static void handle_touch_down(struct touch_state *tstate, int32_t slot,
+ double x, double y, double width, double height) {
+ struct sample_state *sample = tstate->compositor->data;
+ struct touch_point *point = calloc(1, sizeof(struct touch_state));
+ point->slot = slot;
+ point->x = x / width;
+ point->y = y / height;
+ list_add(sample->touch_points, point);
+}
+
+static void handle_touch_up(struct touch_state *tstate, int32_t slot) {
+ struct sample_state *sample = tstate->compositor->data;
+ for (size_t i = 0; i < sample->touch_points->length; ++i) {
+ struct touch_point *point = sample->touch_points->items[i];
+ if (point->slot == slot) {
+ list_del(sample->touch_points, i);
+ break;
+ }
+ }
+}
+
+static void handle_touch_motion(struct touch_state *tstate, int32_t slot,
+ double x, double y, double width, double height) {
+ struct sample_state *sample = tstate->compositor->data;
+ for (size_t i = 0; i < sample->touch_points->length; ++i) {
+ struct touch_point *point = sample->touch_points->items[i];
+ if (point->slot == slot) {
+ point->x = x / width;
+ point->y = y / height;
+ break;
+ }
+ }
+}
+
+int main(int argc, char *argv[]) {
+ struct sample_state state = {
+ .touch_points = list_create()
+ };
+ struct compositor_state compositor;
+
+ compositor_init(&compositor);
+ compositor.output_frame_cb = handle_output_frame;
+ compositor.keyboard_key_cb = handle_keyboard_key;
+ compositor.touch_down_cb = handle_touch_down;
+ compositor.touch_up_cb = handle_touch_up;
+ compositor.touch_motion_cb = handle_touch_motion;
+
+ state.renderer = wlr_gles3_renderer_init();
+ state.cat_texture = wlr_render_surface_init(state.renderer);
+ wlr_surface_attach_pixels(state.cat_texture, GL_RGBA,
+ cat_tex.width, cat_tex.height, cat_tex.pixel_data);
+
+ compositor.data = &state;
+ compositor_run(&compositor);
+
+ wlr_surface_destroy(state.cat_texture);
+ wlr_renderer_destroy(state.renderer);
+}
diff --git a/include/backend/drm.h b/include/backend/drm.h
index e001186d..10850d1f 100644
--- a/include/backend/drm.h
+++ b/include/backend/drm.h
@@ -73,10 +73,12 @@ struct wlr_output_state {
drmModeCrtc *old_crtc;
struct wlr_drm_renderer *renderer;
- struct gbm_surface *gbm;
- struct gbm_bo *bo_last;
- struct gbm_bo *bo_current;
EGLSurface *egl;
+ struct gbm_surface *gbm;
+ struct gbm_bo *bo[2];
+ struct gbm_bo *cursor_bo[2];
+ int current_cursor;
+ uint32_t cursor_width, cursor_height;
bool pageflip_pending;
bool cleanup;
diff --git a/include/backend/libinput.h b/include/backend/libinput.h
new file mode 100644
index 00000000..89286ab8
--- /dev/null
+++ b/include/backend/libinput.h
@@ -0,0 +1,80 @@
+#ifndef _WLR_BACKEND_LIBINPUT_INTERNAL_H
+#define _WLR_BACKEND_LIBINPUT_INTERNAL_H
+#include <libinput.h>
+#include <wlr/backend/interface.h>
+#include <wlr/common/list.h>
+#include <wayland-server-core.h>
+#include "backend/udev.h"
+#include "types.h"
+
+struct wlr_backend_state {
+ struct wlr_backend *backend;
+ struct wlr_session *session;
+ struct wlr_udev *udev;
+ struct wl_display *display;
+
+ struct libinput *libinput;
+ struct wl_event_source *input_event;
+
+ list_t *devices;
+};
+
+struct wlr_input_device_state {
+ struct libinput_device *handle;
+};
+
+void wlr_libinput_event(struct wlr_backend_state *state,
+ struct libinput_event *event);
+
+struct wlr_input_device *get_appropriate_device(
+ enum wlr_input_device_type desired_type,
+ struct libinput_device *device);
+
+struct wlr_keyboard *wlr_libinput_keyboard_create(
+ struct libinput_device *device);
+void handle_keyboard_key(struct libinput_event *event,
+ struct libinput_device *device);
+
+struct wlr_pointer *wlr_libinput_pointer_create(
+ struct libinput_device *device);
+void handle_pointer_motion(struct libinput_event *event,
+ struct libinput_device *device);
+void handle_pointer_motion_abs(struct libinput_event *event,
+ struct libinput_device *device);
+void handle_pointer_button(struct libinput_event *event,
+ struct libinput_device *device);
+void handle_pointer_axis(struct libinput_event *event,
+ struct libinput_device *device);
+
+struct wlr_touch *wlr_libinput_touch_create(
+ struct libinput_device *device);
+void handle_touch_down(struct libinput_event *event,
+ struct libinput_device *device);
+void handle_touch_up(struct libinput_event *event,
+ struct libinput_device *device);
+void handle_touch_motion(struct libinput_event *event,
+ struct libinput_device *device);
+void handle_touch_cancel(struct libinput_event *event,
+ struct libinput_device *device);
+
+struct wlr_tablet_tool *wlr_libinput_tablet_tool_create(
+ struct libinput_device *device);
+void handle_tablet_tool_axis(struct libinput_event *event,
+ struct libinput_device *device);
+void handle_tablet_tool_proximity(struct libinput_event *event,
+ struct libinput_device *device);
+void handle_tablet_tool_tip(struct libinput_event *event,
+ struct libinput_device *device);
+void handle_tablet_tool_button(struct libinput_event *event,
+ struct libinput_device *device);
+
+struct wlr_tablet_pad *wlr_libinput_tablet_pad_create(
+ struct libinput_device *device);
+void handle_tablet_pad_button(struct libinput_event *event,
+ struct libinput_device *device);
+void handle_tablet_pad_ring(struct libinput_event *event,
+ struct libinput_device *device);
+void handle_tablet_pad_strip(struct libinput_event *event,
+ struct libinput_device *device);
+
+#endif
diff --git a/include/backend/multi.h b/include/backend/multi.h
new file mode 100644
index 00000000..5e6930bb
--- /dev/null
+++ b/include/backend/multi.h
@@ -0,0 +1,13 @@
+#ifndef _WLR_MULTI_BACKEND_INTERNAL
+#define _WLR_MULTI_BACKEND_INTERNAL
+
+#include <wlr/backend/interface.h>
+#include <wlr/backend/multi.h>
+#include <wlr/common/list.h>
+
+struct wlr_backend_state {
+ struct wlr_backend *backend;
+ list_t *backends;
+};
+
+#endif
diff --git a/include/render/gles3.h b/include/render/gles3.h
index 5efb197e..9acc1088 100644
--- a/include/render/gles3.h
+++ b/include/render/gles3.h
@@ -13,6 +13,9 @@ struct wlr_surface_state {
struct wlr_surface *gles3_surface_init();
+extern const GLchar quad_vertex_src[];
+extern const GLchar quad_fragment_src[];
+extern const GLchar ellipse_fragment_src[];
extern const GLchar vertex_src[];
extern const GLchar fragment_src_RGB[];
extern const GLchar fragment_src_RGBA[];
diff --git a/include/types.h b/include/types.h
index d2c8d008..54aa5606 100644
--- a/include/types.h
+++ b/include/types.h
@@ -11,6 +11,9 @@ struct wlr_output_impl {
struct wlr_output_mode *mode);
void (*transform)(struct wlr_output_state *state,
enum wl_output_transform transform);
+ bool (*set_cursor)(struct wlr_output_state *state,
+ const uint8_t *buf, int32_t stride, uint32_t width, uint32_t height);
+ bool (*move_cursor)(struct wlr_output_state *state, int x, int y);
void (*destroy)(struct wlr_output_state *state);
};
@@ -18,4 +21,56 @@ struct wlr_output *wlr_output_create(struct wlr_output_impl *impl,
struct wlr_output_state *state);
void wlr_output_free(struct wlr_output *output);
+struct wlr_keyboard_impl {
+ void (*destroy)(struct wlr_keyboard_state *state);
+ void (*led_update)(struct wlr_keyboard_state *state, uint32_t leds);
+};
+
+struct wlr_keyboard *wlr_keyboard_create(struct wlr_keyboard_impl *impl,
+ struct wlr_keyboard_state *state);
+void wlr_keyboard_destroy(struct wlr_keyboard *keyboard);
+
+struct wlr_pointer_impl {
+ void (*destroy)(struct wlr_pointer_state *state);
+};
+
+struct wlr_pointer *wlr_pointer_create(struct wlr_pointer_impl *impl,
+ struct wlr_pointer_state *state);
+void wlr_pointer_destroy(struct wlr_pointer *pointer);
+
+struct wlr_touch_impl {
+ void (*destroy)(struct wlr_touch_state *state);
+};
+
+struct wlr_touch *wlr_touch_create(struct wlr_touch_impl *impl,
+ struct wlr_touch_state *state);
+void wlr_touch_destroy(struct wlr_touch *touch);
+
+struct wlr_tablet_tool_impl {
+ void (*destroy)(struct wlr_tablet_tool_state *tool);
+};
+
+struct wlr_tablet_tool *wlr_tablet_tool_create(struct wlr_tablet_tool_impl *impl,
+ struct wlr_tablet_tool_state *state);
+void wlr_tablet_tool_destroy(struct wlr_tablet_tool *tool);
+
+struct wlr_tablet_pad_impl {
+ void (*destroy)(struct wlr_tablet_pad_state *pad);
+};
+
+struct wlr_tablet_pad *wlr_tablet_pad_create(struct wlr_tablet_pad_impl *impl,
+ struct wlr_tablet_pad_state *state);
+void wlr_tablet_pad_destroy(struct wlr_tablet_pad *pad);
+
+struct wlr_input_device_impl {
+ void (*destroy)(struct wlr_input_device_state *state);
+};
+
+struct wlr_input_device *wlr_input_device_create(
+ enum wlr_input_device_type type,
+ struct wlr_input_device_impl *impl,
+ struct wlr_input_device_state *state,
+ const char *name, int vendor, int product);
+void wlr_input_device_destroy(struct wlr_input_device *dev);
+
#endif
diff --git a/include/wlr/backend.h b/include/wlr/backend.h
index 32d96a8d..db85c169 100644
--- a/include/wlr/backend.h
+++ b/include/wlr/backend.h
@@ -12,14 +12,10 @@ struct wlr_backend {
struct wlr_backend_state *state;
struct {
+ struct wl_signal input_add;
+ struct wl_signal input_remove;
struct wl_signal output_add;
struct wl_signal output_remove;
- struct wl_signal keyboard_add;
- struct wl_signal keyboard_remove;
- struct wl_signal pointer_add;
- struct wl_signal pointer_remove;
- struct wl_signal touch_add;
- struct wl_signal touch_remove;
} events;
};
diff --git a/include/wlr/backend/libinput.h b/include/wlr/backend/libinput.h
new file mode 100644
index 00000000..7108f42c
--- /dev/null
+++ b/include/wlr/backend/libinput.h
@@ -0,0 +1,15 @@
+#ifndef WLR_BACKEND_LIBINPUT_H
+#define WLR_BACKEND_LIBINPUT_H
+
+#include <libinput.h>
+#include <wayland-server.h>
+#include <wlr/session.h>
+#include <wlr/backend.h>
+#include <wlr/backend/udev.h>
+#include <wlr/types.h>
+
+struct wlr_backend *wlr_libinput_backend_create(struct wl_display *display,
+ struct wlr_session *session, struct wlr_udev *udev);
+struct libinput_device *wlr_libinput_get_device_handle(struct wlr_input_device *dev);
+
+#endif
diff --git a/include/wlr/backend/multi.h b/include/wlr/backend/multi.h
new file mode 100644
index 00000000..a07ca770
--- /dev/null
+++ b/include/wlr/backend/multi.h
@@ -0,0 +1,10 @@
+#ifndef _WLR_BACKEND_MULTI_H
+#define _WLR_BACKEND_MULTI_H
+
+#include <wlr/backend.h>
+
+struct wlr_backend *wlr_multi_backend_create();
+void wlr_multi_backend_add(struct wlr_backend *multi,
+ struct wlr_backend *backend);
+
+#endif
diff --git a/include/wlr/render.h b/include/wlr/render.h
index 88aa615e..3c0bd04b 100644
--- a/include/wlr/render.h
+++ b/include/wlr/render.h
@@ -29,6 +29,16 @@ struct wlr_surface *wlr_render_surface_init(struct wlr_renderer *r);
bool wlr_render_with_matrix(struct wlr_renderer *r,
struct wlr_surface *surface, const float (*matrix)[16]);
/**
+ * Renders a solid quad in the specified color.
+ */
+void wlr_render_colored_quad(struct wlr_renderer *r,
+ const float (*color)[4], const float (*matrix)[16]);
+/**
+ * Renders a solid ellipse in the specified color.
+ */
+void wlr_render_colored_ellipse(struct wlr_renderer *r,
+ const float (*color)[4], const float (*matrix)[16]);
+/**
* Destroys this wlr_renderer. Surfaces must be destroyed separately.
*/
void wlr_renderer_destroy(struct wlr_renderer *renderer);
diff --git a/include/wlr/render/interface.h b/include/wlr/render/interface.h
index 80471ac8..a934f49e 100644
--- a/include/wlr/render/interface.h
+++ b/include/wlr/render/interface.h
@@ -19,6 +19,10 @@ struct wlr_renderer_impl {
struct wlr_surface *(*surface_init)(struct wlr_renderer_state *state);
bool (*render_with_matrix)(struct wlr_renderer_state *state,
struct wlr_surface *surface, const float (*matrix)[16]);
+ void (*render_quad)(struct wlr_renderer_state *state,
+ const float (*color)[4], const float (*matrix)[16]);
+ void (*render_ellipse)(struct wlr_renderer_state *state,
+ const float (*color)[4], const float (*matrix)[16]);
void (*destroy)(struct wlr_renderer_state *state);
};
diff --git a/include/wlr/session.h b/include/wlr/session.h
index bd5a96c0..28ccb526 100644
--- a/include/wlr/session.h
+++ b/include/wlr/session.h
@@ -22,7 +22,7 @@ struct wlr_session {
struct wlr_session *wlr_session_start(struct wl_display *disp);
void wlr_session_finish(struct wlr_session *session);
int wlr_session_open_file(struct wlr_session *restrict session,
- const char *restrict path);
+ const char *restrict path);
void wlr_session_close_file(struct wlr_session *session, int fd);
bool wlr_session_change_vt(struct wlr_session *session, int vt);
diff --git a/include/wlr/session/interface.h b/include/wlr/session/interface.h
index 78256dd6..f75acfa4 100644
--- a/include/wlr/session/interface.h
+++ b/include/wlr/session/interface.h
@@ -7,7 +7,7 @@ struct session_impl {
struct wlr_session *(*start)(struct wl_display *disp);
void (*finish)(struct wlr_session *session);
int (*open)(struct wlr_session *restrict session,
- const char *restrict path);
+ const char *restrict path);
void (*close)(struct wlr_session *session, int fd);
bool (*change_vt)(struct wlr_session *session, int vt);
};
diff --git a/include/wlr/types.h b/include/wlr/types.h
index 51ea45cf..1d2abab5 100644
--- a/include/wlr/types.h
+++ b/include/wlr/types.h
@@ -46,8 +46,303 @@ bool wlr_output_set_mode(struct wlr_output *output,
struct wlr_output_mode *mode);
void wlr_output_transform(struct wlr_output *output,
enum wl_output_transform transform);
+bool wlr_output_set_cursor(struct wlr_output *output,
+ const uint8_t *buf, int32_t stride, uint32_t width, uint32_t height);
+bool wlr_output_move_cursor(struct wlr_output *output, int x, int y);
void wlr_output_destroy(struct wlr_output *output);
void wlr_output_effective_resolution(struct wlr_output *output,
int *width, int *height);
+enum WLR_KEYBOARD_LED {
+ WLR_LED_NUM_LOCK = 1,
+ WLR_LED_CAPS_LOCK = 2,
+ WLR_LED_SCROLL_LOCK = 4,
+ WLR_LED_LAST
+};
+
+struct wlr_keyboard_state;
+struct wlr_keyboard_impl;
+
+struct wlr_keyboard {
+ struct wlr_keyboard_state *state;
+ struct wlr_keyboard_impl *impl;
+ uint32_t leds;
+
+ struct {
+ struct wl_signal key;
+ } events;
+};
+
+void wlr_keyboard_led_update(struct wlr_keyboard *keyboard, uint32_t leds);
+
+enum wlr_key_state {
+ WLR_KEY_RELEASED,
+ WLR_KEY_PRESSED,
+};
+
+struct wlr_keyboard_key {
+ uint32_t time_sec;
+ uint64_t time_usec;
+ uint32_t keycode;
+ enum wlr_key_state state;
+};
+
+struct wlr_pointer_state;
+struct wlr_pointer_impl;
+
+struct wlr_pointer {
+ struct wlr_pointer_state *state;
+ struct wlr_pointer_impl *impl;
+
+ struct {
+ struct wl_signal motion;
+ struct wl_signal motion_absolute;
+ struct wl_signal button;
+ struct wl_signal axis;
+ } events;
+};
+
+struct wlr_pointer_motion {
+ uint32_t time_sec;
+ uint64_t time_usec;
+ double delta_x, delta_y;
+};
+
+struct wlr_pointer_motion_absolute {
+ uint32_t time_sec;
+ uint64_t time_usec;
+ double x_mm, y_mm;
+ double width_mm, height_mm;
+};
+
+enum wlr_button_state {
+ WLR_BUTTON_RELEASED,
+ WLR_BUTTON_PRESSED,
+};
+
+struct wlr_pointer_button {
+ uint32_t time_sec;
+ uint64_t time_usec;
+ uint32_t button;
+ enum wlr_button_state state;
+};
+
+enum wlr_axis_source {
+ WLR_AXIS_SOURCE_WHEEL,
+ WLR_AXIS_SOURCE_FINGER,
+ WLR_AXIS_SOURCE_CONTINUOUS,
+ WLR_AXIS_SOURCE_WHEEL_TILT,
+};
+
+enum wlr_axis_orientation {
+ WLR_AXIS_ORIENTATION_VERTICAL,
+ WLR_AXIS_ORIENTATION_HORIZONTAL,
+};
+
+struct wlr_pointer_axis {
+ uint32_t time_sec;
+ uint64_t time_usec;
+ enum wlr_axis_source source;
+ enum wlr_axis_orientation orientation;
+ double delta;
+};
+
+struct wlr_touch_state;
+struct wlr_touch_impl;
+
+struct wlr_touch {
+ struct wlr_touch_state *state;
+ struct wlr_touch_impl *impl;
+
+ struct {
+ struct wl_signal down;
+ struct wl_signal up;
+ struct wl_signal motion;
+ struct wl_signal cancel;
+ } events;
+};
+
+struct wlr_touch_down {
+ uint32_t time_sec;
+ uint64_t time_usec;
+ int32_t slot;
+ double x_mm, y_mm;
+ double width_mm, height_mm;
+};
+
+struct wlr_touch_up {
+ uint32_t time_sec;
+ uint64_t time_usec;
+ int32_t slot;
+};
+
+struct wlr_touch_motion {
+ uint32_t time_sec;
+ uint64_t time_usec;
+ int32_t slot;
+ double x_mm, y_mm;
+ double width_mm, height_mm;
+};
+
+struct wlr_touch_cancel {
+ uint32_t time_sec;
+ uint64_t time_usec;
+ int32_t slot;
+};
+
+struct wlr_tablet_tool_impl;
+struct wlr_tablet_tool_state;
+
+struct wlr_tablet_tool {
+ struct wlr_tablet_tool_impl *impl;
+ struct wlr_tablet_tool_state *state;
+
+ struct {
+ struct wl_signal axis;
+ struct wl_signal proximity;
+ struct wl_signal tip;
+ struct wl_signal button;
+ } events;
+};
+
+enum wlr_tablet_tool_axes {
+ WLR_TABLET_TOOL_AXIS_X = 1,
+ WLR_TABLET_TOOL_AXIS_Y = 2,
+ WLR_TABLET_TOOL_AXIS_DISTANCE = 4,
+ WLR_TABLET_TOOL_AXIS_PRESSURE = 8,
+ WLR_TABLET_TOOL_AXIS_TILT_X = 16,
+ WLR_TABLET_TOOL_AXIS_TILT_Y = 32,
+ WLR_TABLET_TOOL_AXIS_ROTATION = 64,
+ WLR_TABLET_TOOL_AXIS_SLIDER = 128,
+ WLR_TABLET_TOOL_AXIS_WHEEL = 256,
+};
+
+struct wlr_tablet_tool_axis {
+ uint32_t time_sec;
+ uint64_t time_usec;
+ uint32_t updated_axes;
+ double x_mm, y_mm;
+ double width_mm, height_mm;
+ double pressure;
+ double distance;
+ double tilt_x, tilt_y;
+ double rotation;
+ double slider;
+ double wheel_delta;
+};
+
+enum wlr_tablet_tool_proximity_state {
+ WLR_TABLET_TOOL_PROXIMITY_OUT,
+ WLR_TABLET_TOOL_PROXIMITY_IN,
+};
+
+struct wlr_tablet_tool_proximity {
+ uint32_t time_sec;
+ uint64_t time_usec;
+ double x, y;
+ double width_mm, height_mm;
+ enum wlr_tablet_tool_proximity_state state;
+};
+
+enum wlr_tablet_tool_tip_state {
+ WLR_TABLET_TOOL_TIP_UP,
+ WLR_TABLET_TOOL_TIP_DOWN,
+};
+
+struct wlr_tablet_tool_tip {
+ uint32_t time_sec;
+ uint64_t time_usec;
+ double x, y;
+ double width_mm, height_mm;
+ enum wlr_tablet_tool_tip_state state;
+};
+
+struct wlr_tablet_tool_button {
+ uint32_t time_sec;
+ uint64_t time_usec;
+ uint32_t button;
+ enum wlr_button_state state;
+};
+
+// NOTE: the wlr tablet pad implementation does not currently support tablets
+// with more than one mode. I don't own any such hardware so I cannot test it
+// and it is too complicated to make a meaningful implementation of blindly.
+struct wlr_tablet_pad_impl;
+struct wlr_tablet_pad_state;
+
+struct wlr_tablet_pad {
+ struct wlr_tablet_pad_impl *impl;
+ struct wlr_tablet_pad_state *state;
+
+ struct {
+ struct wl_signal button;
+ struct wl_signal ring;
+ struct wl_signal strip;
+ } events;
+};
+
+struct wlr_tablet_pad_button {
+ uint32_t time_sec;
+ uint64_t time_usec;
+ uint32_t button;
+ enum wlr_button_state state;
+};
+
+enum wlr_tablet_pad_ring_source {
+ WLR_TABLET_PAD_RING_SOURCE_UNKNOWN,
+ WLR_TABLET_PAD_RING_SOURCE_FINGER,
+};
+
+struct wlr_tablet_pad_ring {
+ uint32_t time_sec;
+ uint64_t time_usec;
+ enum wlr_tablet_pad_ring_source source;
+ uint32_t ring;
+ double position;
+};
+
+enum wlr_tablet_pad_strip_source {
+ WLR_TABLET_PAD_STRIP_SOURCE_UNKNOWN,
+ WLR_TABLET_PAD_STRIP_SOURCE_FINGER,
+};
+
+struct wlr_tablet_pad_strip {
+ uint32_t time_sec;
+ uint64_t time_usec;
+ enum wlr_tablet_pad_strip_source source;
+ uint32_t strip;
+ double position;
+};
+
+enum wlr_input_device_type {
+ WLR_INPUT_DEVICE_KEYBOARD,
+ WLR_INPUT_DEVICE_POINTER,
+ WLR_INPUT_DEVICE_TOUCH,
+ WLR_INPUT_DEVICE_TABLET_TOOL,
+ WLR_INPUT_DEVICE_TABLET_PAD,
+ WLR_INPUT_DEVICE_GESTURE,
+ WLR_INPUT_DEVICE_SWITCH,
+};
+
+struct wlr_input_device_state;
+struct wlr_input_device_impl;
+
+struct wlr_input_device {
+ struct wlr_input_device_state *state;
+ struct wlr_input_device_impl *impl;
+
+ enum wlr_input_device_type type;
+ int vendor, product;
+ char *name;
+
+ union {
+ void *_device;
+ struct wlr_keyboard *keyboard;
+ struct wlr_pointer *pointer;
+ struct wlr_touch *touch;
+ struct wlr_tablet_tool *tablet_tool;
+ struct wlr_tablet_pad *tablet_pad;
+ };
+};
+
#endif
diff --git a/render/gles3/renderer.c b/render/gles3/renderer.c
index 74754d1b..b0056193 100644
--- a/render/gles3/renderer.c
+++ b/render/gles3/renderer.c
@@ -13,6 +13,8 @@
static struct {
bool initialized;
GLuint rgb, rgba;
+ GLuint quad;
+ GLuint ellipse;
} shaders;
static GLuint vao, vbo, ebo;
@@ -28,6 +30,9 @@ static bool compile_shader(GLuint type, const GLchar *src, GLuint *shader) {
GL_CALL(glGetShaderiv(*shader, GL_INFO_LOG_LENGTH, &loglen));
GLchar msg[loglen];
GL_CALL(glGetShaderInfoLog(*shader, loglen, &loglen, msg));
+ wlr_log(L_ERROR, "Shader compilation failed");
+ wlr_log(L_ERROR, "%s", msg);
+ exit(1);
return false;
}
return true;
@@ -60,6 +65,12 @@ static void init_default_shaders() {
if (!compile_program(vertex_src, fragment_src_RGBA, &shaders.rgba)) {
goto error;
}
+ if (!compile_program(quad_vertex_src, quad_fragment_src, &shaders.quad)) {
+ goto error;
+ }
+ if (!compile_program(quad_vertex_src, ellipse_fragment_src, &shaders.ellipse)) {
+ goto error;
+ }
return;
error:
wlr_log(L_ERROR, "Failed to set up default shaders!");
@@ -141,6 +152,28 @@ static bool wlr_gles3_render_surface(struct wlr_renderer_state *state,
return true;
}
+static void wlr_gles3_render_quad(struct wlr_renderer_state *state,
+ const float (*color)[4], const float (*matrix)[16]) {
+ GL_CALL(glUseProgram(shaders.quad));
+ GL_CALL(glBindVertexArray(vao));
+ GL_CALL(glBindBuffer(GL_ARRAY_BUFFER, vbo));
+ GL_CALL(glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ebo));
+ GL_CALL(glUniformMatrix4fv(0, 1, GL_TRUE, *matrix));
+ GL_CALL(glUniform4f(1, (*color)[0], (*color)[1], (*color)[2], (*color)[3]));
+ GL_CALL(glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_INT, 0));
+}
+
+static void wlr_gles3_render_ellipse(struct wlr_renderer_state *state,
+ const float (*color)[4], const float (*matrix)[16]) {
+ GL_CALL(glUseProgram(shaders.ellipse));
+ GL_CALL(glBindVertexArray(vao));
+ GL_CALL(glBindBuffer(GL_ARRAY_BUFFER, vbo));
+ GL_CALL(glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ebo));
+ GL_CALL(glUniformMatrix4fv(0, 1, GL_TRUE, *matrix));
+ GL_CALL(glUniform4f(1, (*color)[0], (*color)[1], (*color)[2], (*color)[3]));
+ GL_CALL(glDrawElements(GL_TRIANGLES, 6, GL_UNSIGNED_INT, 0));
+}
+
static void wlr_gles3_destroy(struct wlr_renderer_state *state) {
// no-op
}
@@ -150,6 +183,8 @@ static struct wlr_renderer_impl wlr_renderer_impl = {
.end = wlr_gles3_end,
.surface_init = wlr_gles3_surface_init,
.render_with_matrix = wlr_gles3_render_surface,
+ .render_quad = wlr_gles3_render_quad,
+ .render_ellipse = wlr_gles3_render_ellipse,
.destroy = wlr_gles3_destroy
};
diff --git a/render/gles3/shaders.c b/render/gles3/shaders.c
index f53ef385..dd7f790f 100644
--- a/render/gles3/shaders.c
+++ b/render/gles3/shaders.c
@@ -1,28 +1,63 @@
#include "render/gles3.h"
#include <GLES3/gl3.h>
+// Colored quads
+const GLchar quad_vertex_src[] =
+"uniform mat4 proj;"
+"uniform vec4 color;"
+"attribute vec2 pos;"
+"attribute vec2 texcoord;"
+"varying vec4 v_color;"
+"varying vec2 v_texcoord;"
+"void main() {"
+" gl_Position = proj * vec4(pos, 0.0, 1.0);"
+" v_color = color;"
+" v_texcoord = texcoord;"
+"}";
+
+const GLchar quad_fragment_src[] =
+"precision mediump float;"
+"varying vec4 v_color;"
+"varying vec2 v_texcoord;"
+"void main() {"
+" gl_FragColor = v_color;"
+"}";
+
+// Colored ellipses (TODO)
+
+const GLchar ellipse_fragment_src[] =
+"precision mediump float;"
+"varying vec4 v_color;"
+"varying vec2 v_texcoord;"
+"void main() {"
+" float l = length(v_texcoord - vec2(0.5, 0.5));"
+" if (l > 0.5) discard;"
+" gl_FragColor = v_color;"
+"}";
+
+// Textured quads
const GLchar vertex_src[] =
-"uniform mat4 proj;\n"
-"attribute vec2 pos;\n"
-"attribute vec2 texcoord;\n"
-"varying vec2 v_texcoord;\n"
-"void main() {\n"
-" gl_Position = proj * vec4(pos, 0.0, 1.0);\n"
-" v_texcoord = texcoord;\n"
-"}\n";
+"uniform mat4 proj;"
+"attribute vec2 pos;"
+"attribute vec2 texcoord;"
+"varying vec2 v_texcoord;"
+"void main() {"
+" gl_Position = proj * vec4(pos, 0.0, 1.0);"
+" v_texcoord = texcoord;"
+"}";
const GLchar fragment_src_RGB[] =
-"precision mediump float;\n"
-"varying vec2 v_texcoord;\n"
-"uniform sampler2D tex;\n"
-"void main() {\n"
-" gl_FragColor = vec4(texture2D(tex, v_texcoord).rgb, 1.0);\n"
-"}\n";
+"precision mediump float;"
+"varying vec2 v_texcoord;"
+"uniform sampler2D tex;"
+"void main() {"
+" gl_FragColor = vec4(texture2D(tex, v_texcoord).rgb, 1.0);"
+"}";
const GLchar fragment_src_RGBA[] =
-"precision mediump float;\n"
-"varying vec2 v_texcoord;\n"
-"uniform sampler2D tex;\n"
-"void main() {\n"
-" gl_FragColor = texture2D(tex, v_texcoord);\n"
-"}\n";
+"precision mediump float;"
+"varying vec2 v_texcoord;"
+"uniform sampler2D tex;"
+"void main() {"
+" gl_FragColor = texture2D(tex, v_texcoord);"
+"}";
diff --git a/render/wlr_renderer.c b/render/wlr_renderer.c
index 2fd2fd31..f48bb3eb 100644
--- a/render/wlr_renderer.c
+++ b/render/wlr_renderer.c
@@ -31,3 +31,13 @@ bool wlr_render_with_matrix(struct wlr_renderer *r,
struct wlr_surface *surface, const float (*matrix)[16]) {
return r->impl->render_with_matrix(r->state, surface, matrix);
}
+
+void wlr_render_colored_quad(struct wlr_renderer *r,
+ const float (*color)[4], const float (*matrix)[16]) {
+ r->impl->render_quad(r->state, color, matrix);
+}
+
+void wlr_render_colored_ellipse(struct wlr_renderer *r,
+ const float (*color)[4], const float (*matrix)[16]) {
+ r->impl->render_ellipse(r->state, color, matrix);
+}
diff --git a/session/logind.c b/session/logind.c
index 6ce7e4c2..73cd70f2 100644
--- a/session/logind.c
+++ b/session/logind.c
@@ -28,8 +28,7 @@ struct logind_session {
};
static int logind_take_device(struct wlr_session *restrict base,
- const char *restrict path) {
-
+ const char *restrict path) {
struct logind_session *session = wl_container_of(base, session, base);
int ret;
diff --git a/types/CMakeLists.txt b/types/CMakeLists.txt
index eba92cc0..58f8a651 100644
--- a/types/CMakeLists.txt
+++ b/types/CMakeLists.txt
@@ -5,6 +5,12 @@ include_directories(
add_library(wlr-types
wlr_output.c
+ wlr_input_device.c
+ wlr_keyboard.c
+ wlr_pointer.c
+ wlr_touch.c
+ wlr_tablet_tool.c
+ wlr_tablet_pad.c
)
target_link_libraries(wlr-types
diff --git a/types/wlr_input_device.c b/types/wlr_input_device.c
new file mode 100644
index 00000000..dbb25487
--- /dev/null
+++ b/types/wlr_input_device.c
@@ -0,0 +1,43 @@
+#define _XOPEN_SOURCE 500
+#include <stdlib.h>
+#include <string.h>
+#include <wayland-server.h>
+#include <wlr/types.h>
+#include <wlr/common/list.h>
+#include "common/log.h"
+#include "types.h"
+
+struct wlr_input_device *wlr_input_device_create(
+ enum wlr_input_device_type type,
+ struct wlr_input_device_impl *impl,
+ struct wlr_input_device_state *state,
+ const char *name, int vendor, int product) {
+ struct wlr_input_device *dev = calloc(1, sizeof(struct wlr_input_device));
+ dev->type = type;
+ dev->impl = impl;
+ dev->state = state;
+ dev->name = strdup(name);
+ dev->vendor = vendor;
+ dev->product = product;
+ return dev;
+}
+
+void wlr_input_device_destroy(struct wlr_input_device *dev) {
+ if (!dev) return;
+ if (dev->impl && dev->impl->destroy && dev->state) {
+ dev->impl->destroy(dev->state);
+ }
+ if (dev->_device) {
+ switch (dev->type) {
+ case WLR_INPUT_DEVICE_KEYBOARD:
+ wlr_keyboard_destroy(dev->keyboard);
+ break;
+ default:
+ wlr_log(L_DEBUG, "Warning: leaking memory %p %p %d",
+ dev->_device, dev, dev->type);
+ break;
+ }
+ }
+ free(dev->name);
+ free(dev);
+}
diff --git a/types/wlr_keyboard.c b/types/wlr_keyboard.c
new file mode 100644
index 00000000..c2ad5c49
--- /dev/null
+++ b/types/wlr_keyboard.c
@@ -0,0 +1,29 @@
+#include <stdlib.h>
+#include <string.h>
+#include <wayland-server.h>
+#include <wlr/types.h>
+#include <wlr/common/list.h>
+#include "types.h"
+
+struct wlr_keyboard *wlr_keyboard_create(struct wlr_keyboard_impl *impl,
+ struct wlr_keyboard_state *state) {
+ struct wlr_keyboard *kb = calloc(1, sizeof(struct wlr_keyboard));
+ kb->impl = impl;
+ kb->state = state;
+ wl_signal_init(&kb->events.key);
+ return kb;
+}
+
+void wlr_keyboard_destroy(struct wlr_keyboard *kb) {
+ if (!kb) return;
+ if (kb->impl) {
+ kb->impl->destroy(kb->state);
+ }
+ free(kb);
+}
+
+void wlr_keyboard_led_update(struct wlr_keyboard *kb, uint32_t leds) {
+ if (kb->impl) {
+ kb->impl->led_update(kb->state, leds);
+ }
+}
diff --git a/types/wlr_output.c b/types/wlr_output.c
index 20503030..8c21f706 100644
--- a/types/wlr_output.c
+++ b/types/wlr_output.c
@@ -91,6 +91,15 @@ void wlr_output_transform(struct wlr_output *output,
output->impl->transform(output->state, transform);
}
+bool wlr_output_set_cursor(struct wlr_output *output,
+ const uint8_t *buf, int32_t stride, uint32_t width, uint32_t height) {
+ return output->impl->set_cursor(output->state, buf, stride, width, height);
+}
+
+bool wlr_output_move_cursor(struct wlr_output *output, int x, int y) {
+ return output->impl->move_cursor(output->state, x, y);
+}
+
void wlr_output_destroy(struct wlr_output *output) {
if (!output) return;
output->impl->destroy(output->state);
diff --git a/types/wlr_pointer.c b/types/wlr_pointer.c
new file mode 100644
index 00000000..9c40fe2f
--- /dev/null
+++ b/types/wlr_pointer.c
@@ -0,0 +1,26 @@
+#include <stdlib.h>
+#include <string.h>
+#include <wayland-server.h>
+#include <wlr/types.h>
+#include <wlr/common/list.h>
+#include "types.h"
+
+struct wlr_pointer *wlr_pointer_create(struct wlr_pointer_impl *impl,
+ struct wlr_pointer_state *state) {
+ struct wlr_pointer *pointer = calloc(1, sizeof(struct wlr_pointer));
+ pointer->impl = impl;
+ pointer->state = state;
+ wl_signal_init(&pointer->events.motion);
+ wl_signal_init(&pointer->events.motion_absolute);
+ wl_signal_init(&pointer->events.button);
+ wl_signal_init(&pointer->events.axis);
+ return pointer;
+}
+
+void wlr_pointer_destroy(struct wlr_pointer *pointer) {
+ if (!pointer) return;
+ if (pointer->impl) {
+ pointer->impl->destroy(pointer->state);
+ }
+ free(pointer);
+}
diff --git a/types/wlr_tablet_pad.c b/types/wlr_tablet_pad.c
new file mode 100644
index 00000000..3143345f
--- /dev/null
+++ b/types/wlr_tablet_pad.c
@@ -0,0 +1,25 @@
+#include <stdlib.h>
+#include <string.h>
+#include <wayland-server.h>
+#include <wlr/types.h>
+#include <wlr/common/list.h>
+#include "types.h"
+
+struct wlr_tablet_pad *wlr_tablet_pad_create(struct wlr_tablet_pad_impl *impl,
+ struct wlr_tablet_pad_state *state) {
+ struct wlr_tablet_pad *pad = calloc(1, sizeof(struct wlr_tablet_pad));
+ pad->impl = impl;
+ pad->state = state;
+ wl_signal_init(&pad->events.button);
+ wl_signal_init(&pad->events.ring);
+ wl_signal_init(&pad->events.strip);
+ return pad;
+}
+
+void wlr_tablet_pad_destroy(struct wlr_tablet_pad *pad) {
+ if (!pad) return;
+ if (pad->impl) {
+ pad->impl->destroy(pad->state);
+ }
+ free(pad);
+}
diff --git a/types/wlr_tablet_tool.c b/types/wlr_tablet_tool.c
new file mode 100644
index 00000000..1c1d21ee
--- /dev/null
+++ b/types/wlr_tablet_tool.c
@@ -0,0 +1,26 @@
+#include <stdlib.h>
+#include <string.h>
+#include <wayland-server.h>
+#include <wlr/types.h>
+#include <wlr/common/list.h>
+#include "types.h"
+
+struct wlr_tablet_tool *wlr_tablet_tool_create(struct wlr_tablet_tool_impl *impl,
+ struct wlr_tablet_tool_state *state) {
+ struct wlr_tablet_tool *tool = calloc(1, sizeof(struct wlr_tablet_tool));
+ tool->impl = impl;
+ tool->state = state;
+ wl_signal_init(&tool->events.axis);
+ wl_signal_init(&tool->events.proximity);
+ wl_signal_init(&tool->events.tip);
+ wl_signal_init(&tool->events.button);
+ return tool;
+}
+
+void wlr_tablet_tool_destroy(struct wlr_tablet_tool *tool) {
+ if (!tool) return;
+ if (tool->impl) {
+ tool->impl->destroy(tool->state);
+ }
+ free(tool);
+}
diff --git a/types/wlr_touch.c b/types/wlr_touch.c
new file mode 100644
index 00000000..0970f70f
--- /dev/null
+++ b/types/wlr_touch.c
@@ -0,0 +1,26 @@
+#include <stdlib.h>
+#include <string.h>
+#include <wayland-server.h>
+#include <wlr/types.h>
+#include <wlr/common/list.h>
+#include "types.h"
+
+struct wlr_touch *wlr_touch_create(struct wlr_touch_impl *impl,
+ struct wlr_touch_state *state) {
+ struct wlr_touch *touch = calloc(1, sizeof(struct wlr_touch));
+ touch->impl = impl;
+ touch->state = state;
+ wl_signal_init(&touch->events.down);
+ wl_signal_init(&touch->events.up);
+ wl_signal_init(&touch->events.motion);
+ wl_signal_init(&touch->events.cancel);
+ return touch;
+}
+
+void wlr_touch_destroy(struct wlr_touch *touch) {
+ if (!touch) return;
+ if (touch->impl) {
+ touch->impl->destroy(touch->state);
+ }
+ free(touch);
+}