summaryrefslogtreecommitdiffstats
path: root/import-layers/meta-raspberrypi
diff options
context:
space:
mode:
Diffstat (limited to 'import-layers/meta-raspberrypi')
-rw-r--r--import-layers/meta-raspberrypi/.github/ISSUE_TEMPLATE.md27
-rw-r--r--import-layers/meta-raspberrypi/.github/PULL_REQUEST_TEMPLATE.md16
-rw-r--r--import-layers/meta-raspberrypi/.gitignore7
-rw-r--r--import-layers/meta-raspberrypi/COPYING.MIT17
-rw-r--r--import-layers/meta-raspberrypi/README.md56
-rw-r--r--import-layers/meta-raspberrypi/classes/sdcard_image-rpi.bbclass203
-rw-r--r--import-layers/meta-raspberrypi/conf/layer.conf25
-rw-r--r--import-layers/meta-raspberrypi/conf/machine/include/rpi-base.inc114
-rw-r--r--import-layers/meta-raspberrypi/conf/machine/include/rpi-default-providers.inc10
-rw-r--r--import-layers/meta-raspberrypi/conf/machine/include/rpi-default-settings.inc3
-rw-r--r--import-layers/meta-raspberrypi/conf/machine/include/rpi-default-versions.inc3
-rw-r--r--import-layers/meta-raspberrypi/conf/machine/include/tune-arm1176jzf-s.inc15
-rw-r--r--import-layers/meta-raspberrypi/conf/machine/raspberrypi-cm.conf6
-rw-r--r--import-layers/meta-raspberrypi/conf/machine/raspberrypi-cm3.conf6
-rw-r--r--import-layers/meta-raspberrypi/conf/machine/raspberrypi.conf13
-rw-r--r--import-layers/meta-raspberrypi/conf/machine/raspberrypi0-wifi.conf17
-rw-r--r--import-layers/meta-raspberrypi/conf/machine/raspberrypi0.conf9
-rw-r--r--import-layers/meta-raspberrypi/conf/machine/raspberrypi2.conf13
-rw-r--r--import-layers/meta-raspberrypi/conf/machine/raspberrypi3-64.conf54
-rw-r--r--import-layers/meta-raspberrypi/conf/machine/raspberrypi3.conf19
-rw-r--r--import-layers/meta-raspberrypi/docs/Makefile225
-rw-r--r--import-layers/meta-raspberrypi/docs/conf.py343
-rw-r--r--import-layers/meta-raspberrypi/docs/contributing.md38
-rw-r--r--import-layers/meta-raspberrypi/docs/extra-apps.md9
-rw-r--r--import-layers/meta-raspberrypi/docs/extra-build-config.md254
-rw-r--r--import-layers/meta-raspberrypi/docs/index.rst26
-rw-r--r--import-layers/meta-raspberrypi/docs/layer-contents.md34
l---------import-layers/meta-raspberrypi/docs/readme.md1
-rw-r--r--import-layers/meta-raspberrypi/files/custom-licenses/Broadcom25
-rw-r--r--import-layers/meta-raspberrypi/recipes-bsp/bootfiles/bcm2835-bootfiles.bb41
-rw-r--r--import-layers/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb196
-rw-r--r--import-layers/meta-raspberrypi/recipes-bsp/common/firmware.inc10
-rw-r--r--import-layers/meta-raspberrypi/recipes-bsp/formfactor/formfactor/raspberrypi/machconfig6
-rw-r--r--import-layers/meta-raspberrypi/recipes-bsp/formfactor/formfactor_0.0.bbappend1
-rw-r--r--import-layers/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/files/boot.cmd.in3
-rw-r--r--import-layers/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb26
-rw-r--r--import-layers/meta-raspberrypi/recipes-bsp/u-boot/u-boot/0002-rpi_0_w-Add-configs-consistent-with-RpI3.patch41
-rw-r--r--import-layers/meta-raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend7
-rw-r--r--import-layers/meta-raspberrypi/recipes-connectivity/bluez5/bluez5/0001-bcm43xx-Add-bcm43xx-3wire-variant.patch26
-rw-r--r--import-layers/meta-raspberrypi/recipes-connectivity/bluez5/bluez5/0002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch37
-rw-r--r--import-layers/meta-raspberrypi/recipes-connectivity/bluez5/bluez5/0003-Increase-firmware-load-timeout-to-30s.patch25
-rw-r--r--import-layers/meta-raspberrypi/recipes-connectivity/bluez5/bluez5/0004-Move-the-43xx-firmware-into-lib-firmware.patch25
-rw-r--r--import-layers/meta-raspberrypi/recipes-connectivity/bluez5/bluez5/brcm43438.service14
-rw-r--r--import-layers/meta-raspberrypi/recipes-connectivity/bluez5/bluez5_%.bbappend45
-rw-r--r--import-layers/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth.bb22
-rw-r--r--import-layers/meta-raspberrypi/recipes-core/images/rpi-basic-image.bb15
-rw-r--r--import-layers/meta-raspberrypi/recipes-core/images/rpi-hwup-image.bb11
-rw-r--r--import-layers/meta-raspberrypi/recipes-core/images/rpi-test-image.bb6
-rw-r--r--import-layers/meta-raspberrypi/recipes-core/packagegroups/packagegroup-rpi-test.bb32
-rw-r--r--import-layers/meta-raspberrypi/recipes-core/psplash/files/psplash-raspberrypi-img.h3210
-rw-r--r--import-layers/meta-raspberrypi/recipes-core/psplash/psplash_git.bbappend4
-rw-r--r--import-layers/meta-raspberrypi/recipes-core/udev/udev-rules-rpi.bb14
-rw-r--r--import-layers/meta-raspberrypi/recipes-core/udev/udev-rules-rpi/99-com.rules21
-rw-r--r--import-layers/meta-raspberrypi/recipes-core/udev/udev-rules-udisks-rpi/80-udisks-rpi.rules10
-rw-r--r--import-layers/meta-raspberrypi/recipes-core/udev/udev-rules-udisks-rpi_1.0.bb13
-rw-r--r--import-layers/meta-raspberrypi/recipes-devtools/bcm2835/bcm2835_1.52.bb42
-rw-r--r--import-layers/meta-raspberrypi/recipes-devtools/pi-blaster/files/remove-initscript-lsb-dependency.patch96
-rw-r--r--import-layers/meta-raspberrypi/recipes-devtools/pi-blaster/pi-blaster_git.bb23
-rw-r--r--import-layers/meta-raspberrypi/recipes-devtools/python/python-rtimu/0001-include-asm-ioctl.h-for-ioctl-define.patch33
-rw-r--r--import-layers/meta-raspberrypi/recipes-devtools/python/python-rtimu_git.bb15
-rw-r--r--import-layers/meta-raspberrypi/recipes-devtools/python/python-sense-hat_2.2.0.bb24
-rw-r--r--import-layers/meta-raspberrypi/recipes-devtools/python/rpi-gpio/0001-Remove-nested-functions.patch294
-rw-r--r--import-layers/meta-raspberrypi/recipes-devtools/python/rpi-gpio_0.6.3.bb14
-rw-r--r--import-layers/meta-raspberrypi/recipes-devtools/python/rpio/0001-include-sys-types.h-explicitly-for-getting-caddr_t-d.patch30
-rw-r--r--import-layers/meta-raspberrypi/recipes-devtools/python/rpio_0.10.0.bb23
-rw-r--r--import-layers/meta-raspberrypi/recipes-devtools/wiringPi/files/0001-Add-initial-cross-compile-support.patch413
-rw-r--r--import-layers/meta-raspberrypi/recipes-devtools/wiringPi/wiringpi_git.bb33
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-fb_%.bbappend2
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend2
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/mesa/mesa-gl_%.bbappend1
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend7
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0001-Allow-applications-to-set-next-resource-handle.patch208
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0002-wayland-Add-support-for-the-Wayland-winsys.patch1861
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0003-wayland-Add-Wayland-example.patch866
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0004-wayland-egl-Add-bcm_host-to-dependencies.patch28
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch29
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0006-zero-out-wl-buffers-in-egl_surface_free.patch33
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0007-initialize-front-back-wayland-buffers.patch34
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0008-Remove-RPC_FLUSH.patch27
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0009-fix-cmake-dependency-race.patch78
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0010-Fix-for-framerate-with-nested-composition.patch60
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0011-build-shared-library-for-vchostif.patch28
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0012-implement-buffer-wrapping-interface-for-dispmanx.patch92
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0013-Implement-triple-buffering-for-wayland.patch90
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch30
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0015-EGL-glplatform.h-define-EGL_CAST.patch32
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch145
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/userland/userland_git.bb85
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/vc-graphics/files/egl.pc10
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/vc-graphics/files/vchiq.sh24
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics-hardfp.bb6
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics.bb6
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics.inc58
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/wayland/weston_%.bbappend10
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf6
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/10-noglamor.conf6
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/98-pitft.conf5
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/99-calibration.conf6
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend21
-rw-r--r--import-layers/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend9
-rw-r--r--import-layers/meta-raspberrypi/recipes-kernel/linux-firmware/linux-firmware_%.bbappend77
-rw-r--r--import-layers/meta-raspberrypi/recipes-kernel/linux/files/0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch62
-rw-r--r--import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-dev.bb22
-rw-r--r--import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc136
-rw-r--r--import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.14.bb9
-rw-r--r--import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.9.bb11
-rw-r--r--import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.12/0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch46
-rw-r--r--import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.12/0001-config-files-path.patch150
-rw-r--r--import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.12/0002-fix-decoder-flushing.patch23
-rw-r--r--import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.12/0003-no-timeout-on-get-state.patch24
-rw-r--r--import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.12/0004-Properly-handle-drain-requests-while-flushing.patch30
-rw-r--r--import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.12/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch27
-rw-r--r--import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend9
-rw-r--r--import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.12%.bbappend13
-rw-r--r--import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend12
-rw-r--r--import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0001-Remove-Makefile.include-which-includes-hardcoded.patch77
-rw-r--r--import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0002-Libraries-and-headers-from-ffmpeg-are-installed-in-u.patch50
-rw-r--r--import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0003-Remove-strip-step-in-Makefile.patch39
-rw-r--r--import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0004-Add-FFMPEG_EXTRA_CFLAGS-and-FFMPEG_EXTRA_LDFLAGS.patch37
-rw-r--r--import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0005-Don-t-require-internet-connection-during-build.patch56
-rw-r--r--import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0006-Prevent-ffmpeg-configure-compile-race-condition.patch39
-rw-r--r--import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/fix-tar-command-with-DIST.patch21
-rw-r--r--import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/use-native-pkg-config.patch19
-rw-r--r--import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb93
-rw-r--r--import-layers/meta-raspberrypi/recipes-multimedia/x264/x264_git.bbappend2
-rw-r--r--import-layers/meta-raspberrypi/recipes-sato/webkitgtk/webkitgtk_%.bbappend1
-rw-r--r--import-layers/meta-raspberrypi/wic/sdimage-raspberrypi.wks6
127 files changed, 0 insertions, 11485 deletions
diff --git a/import-layers/meta-raspberrypi/.github/ISSUE_TEMPLATE.md b/import-layers/meta-raspberrypi/.github/ISSUE_TEMPLATE.md
deleted file mode 100644
index ea2697d05..000000000
--- a/import-layers/meta-raspberrypi/.github/ISSUE_TEMPLATE.md
+++ /dev/null
@@ -1,27 +0,0 @@
-<!--
-If you are reporting a new issue, make sure that we do not have any duplicates
-already open. You can ensure this by searching the issue list for this
-repository. If there is a duplicate, please close your issue and add a comment
-to the existing issue instead.
--->
-
-**Description**
-
-<!--
-Briefly describe the problem you are having in a few paragraphs.
--->
-
-**Steps to reproduce the issue:**
-1.
-2.
-3.
-
-**Describe the results you received:**
-
-
-**Describe the results you expected:**
-
-
-**Additional information you deem important (e.g. issue happens only occasionally):**
-
-**Additional details (revisions used, host distro, etc.):**
diff --git a/import-layers/meta-raspberrypi/.github/PULL_REQUEST_TEMPLATE.md b/import-layers/meta-raspberrypi/.github/PULL_REQUEST_TEMPLATE.md
deleted file mode 100644
index 223f23a82..000000000
--- a/import-layers/meta-raspberrypi/.github/PULL_REQUEST_TEMPLATE.md
+++ /dev/null
@@ -1,16 +0,0 @@
-<!--
-Please make sure you've read and understood our contributing guidelines.
-
-For additional information on the contribution guidelines:
-https://wiki.yoctoproject.org/wiki/Contribution_Guidelines#General_Information
-
-If this PR fixes an issue, make sure your description includes "fixes #xxxx".
-
-If this PR connects to an issue, make sure your description includes "connected to #xxxx".
-
-Please provide the following information:
--->
-
-**- What I did**
-
-**- How I did it**
diff --git a/import-layers/meta-raspberrypi/.gitignore b/import-layers/meta-raspberrypi/.gitignore
deleted file mode 100644
index 706144a55..000000000
--- a/import-layers/meta-raspberrypi/.gitignore
+++ /dev/null
@@ -1,7 +0,0 @@
-build*
-*~
-.*.swp
-*.orig
-*.rej
-*.log
-docs/_build
diff --git a/import-layers/meta-raspberrypi/COPYING.MIT b/import-layers/meta-raspberrypi/COPYING.MIT
deleted file mode 100644
index fb950dc69..000000000
--- a/import-layers/meta-raspberrypi/COPYING.MIT
+++ /dev/null
@@ -1,17 +0,0 @@
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/import-layers/meta-raspberrypi/README.md b/import-layers/meta-raspberrypi/README.md
deleted file mode 100644
index b49405b21..000000000
--- a/import-layers/meta-raspberrypi/README.md
+++ /dev/null
@@ -1,56 +0,0 @@
-# meta-raspberrypi
-
-Yocto BSP layer for the Raspberry Pi boards - <http://www.raspberrypi.org/>.
-
-[![Build Status](https://yocto-ci.resin.io/job/meta-raspberrypi1/badge/icon)](https://yocto-ci.resin.io/job/meta-raspberrypi1)
-[![Build Status](https://yocto-ci.resin.io/job/meta-raspberrypi2/badge/icon)](https://yocto-ci.resin.io/job/meta-raspberrypi2)
-[![Build Status](https://yocto-ci.resin.io/job/meta-raspberrypi3/badge/icon)](https://yocto-ci.resin.io/job/meta-raspberrypi3)
-[![Gitter chat](https://badges.gitter.im/gitterHQ/gitter.png)](https://gitter.im/agherzan/meta-raspberrypi)
-
-## Quick links
-
-* Git repository web frontend:
- <https://github.com/agherzan/meta-raspberrypi>
-* Mailing list (yocto mailing list): <yocto@yoctoproject.org>
-* Issues management (Github Issues):
- <https://github.com/agherzan/meta-raspberrypi/issues>
-* Documentation: <http://meta-raspberrypi.readthedocs.io/en/latest/>
-
-## Description
-
-This is the general hardware specific BSP overlay for the RaspberryPi device.
-
-More information can be found at: <http://www.raspberrypi.org/> (Official Site)
-
-The core BSP part of meta-raspberrypi should work with different
-OpenEmbedded/Yocto distributions and layer stacks, such as:
-
-* Distro-less (only with OE-Core).
-* Angstrom.
-* Yocto/Poky (main focus of testing).
-
-## Dependencies
-
-This layer depends on:
-
-* URI: git://git.yoctoproject.org/poky
- * branch: master
- * revision: HEAD
-
-* URI: git://git.openembedded.org/meta-openembedded
- * layers: meta-oe, meta-multimedia, meta-networking, meta-python
- * branch: master
- * revision: HEAD
-
-## Quick Start
-
-1. source poky/oe-init-build-env rpi-build
-2. Add this layer to bblayers.conf and the dependencies above
-3. Set MACHINE in local.conf to one of the supported boards
-4. bitbake core-image-base
-5. dd to a SD card the generated sdimg file (use xzcat if rpi-sdimg.xz is used)
-6. Boot your RPI.
-
-## Maintainers
-
-* Andrei Gherzan `<andrei at gherzan.ro>`
diff --git a/import-layers/meta-raspberrypi/classes/sdcard_image-rpi.bbclass b/import-layers/meta-raspberrypi/classes/sdcard_image-rpi.bbclass
deleted file mode 100644
index f03595c2c..000000000
--- a/import-layers/meta-raspberrypi/classes/sdcard_image-rpi.bbclass
+++ /dev/null
@@ -1,203 +0,0 @@
-inherit image_types
-
-#
-# Create an image that can be written onto a SD card using dd.
-#
-# The disk layout used is:
-#
-# 0 -> IMAGE_ROOTFS_ALIGNMENT - reserved for other data
-# IMAGE_ROOTFS_ALIGNMENT -> BOOT_SPACE - bootloader and kernel
-# BOOT_SPACE -> SDIMG_SIZE - rootfs
-#
-
-# Default Free space = 1.3x
-# Use IMAGE_OVERHEAD_FACTOR to add more space
-# <--------->
-# 4MiB 40MiB SDIMG_ROOTFS
-# <-----------------------> <----------> <---------------------->
-# ------------------------ ------------ ------------------------
-# | IMAGE_ROOTFS_ALIGNMENT | BOOT_SPACE | ROOTFS_SIZE |
-# ------------------------ ------------ ------------------------
-# ^ ^ ^ ^
-# | | | |
-# 0 4MiB 4MiB + 40MiB 4MiB + 40Mib + SDIMG_ROOTFS
-
-# This image depends on the rootfs image
-IMAGE_TYPEDEP_rpi-sdimg = "${SDIMG_ROOTFS_TYPE}"
-
-# Set kernel and boot loader
-IMAGE_BOOTLOADER ?= "bcm2835-bootfiles"
-
-# Set initramfs extension
-KERNEL_INITRAMFS ?= ""
-
-# Kernel image name
-SDIMG_KERNELIMAGE_raspberrypi ?= "kernel.img"
-SDIMG_KERNELIMAGE_raspberrypi2 ?= "kernel7.img"
-SDIMG_KERNELIMAGE_raspberrypi3-64 ?= "kernel8.img"
-
-# Boot partition volume id
-BOOTDD_VOLUME_ID ?= "${MACHINE}"
-
-# Boot partition size [in KiB] (will be rounded up to IMAGE_ROOTFS_ALIGNMENT)
-BOOT_SPACE ?= "40960"
-
-# Set alignment to 4MB [in KiB]
-IMAGE_ROOTFS_ALIGNMENT = "4096"
-
-# Use an uncompressed ext3 by default as rootfs
-SDIMG_ROOTFS_TYPE ?= "ext3"
-SDIMG_ROOTFS = "${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.${SDIMG_ROOTFS_TYPE}"
-
-do_image_rpi_sdimg[depends] = " \
- parted-native:do_populate_sysroot \
- mtools-native:do_populate_sysroot \
- dosfstools-native:do_populate_sysroot \
- virtual/kernel:do_deploy \
- ${IMAGE_BOOTLOADER}:do_deploy \
- ${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'u-boot:do_deploy', '',d)} \
- "
-
-do_image_rpi_sdimg[recrdeps] = "do_build"
-
-# SD card image name
-SDIMG = "${IMGDEPLOYDIR}/${IMAGE_NAME}.rootfs.rpi-sdimg"
-
-# Compression method to apply to SDIMG after it has been created. Supported
-# compression formats are "gzip", "bzip2" or "xz". The original .rpi-sdimg file
-# is kept and a new compressed file is created if one of these compression
-# formats is chosen. If SDIMG_COMPRESSION is set to any other value it is
-# silently ignored.
-#SDIMG_COMPRESSION ?= ""
-
-# Additional files and/or directories to be copied into the vfat partition from the IMAGE_ROOTFS.
-FATPAYLOAD ?= ""
-
-# SD card vfat partition image name
-SDIMG_VFAT = "${IMAGE_NAME}.vfat"
-SDIMG_LINK_VFAT = "${IMGDEPLOYDIR}/${IMAGE_LINK_NAME}.vfat"
-
-def split_overlays(d, out, ver=None):
- dts = d.getVar("KERNEL_DEVICETREE")
- if out:
- overlays = oe.utils.str_filter_out('\S+\-overlay\.dtb$', dts, d)
- overlays = oe.utils.str_filter_out('\S+\.dtbo$', overlays, d)
- else:
- overlays = oe.utils.str_filter('\S+\-overlay\.dtb$', dts, d) + \
- " " + oe.utils.str_filter('\S+\.dtbo$', dts, d)
-
- return overlays
-
-IMAGE_CMD_rpi-sdimg () {
-
- # Align partitions
- BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE} + ${IMAGE_ROOTFS_ALIGNMENT} - 1)
- BOOT_SPACE_ALIGNED=$(expr ${BOOT_SPACE_ALIGNED} - ${BOOT_SPACE_ALIGNED} % ${IMAGE_ROOTFS_ALIGNMENT})
- SDIMG_SIZE=$(expr ${IMAGE_ROOTFS_ALIGNMENT} + ${BOOT_SPACE_ALIGNED} + $ROOTFS_SIZE)
-
- echo "Creating filesystem with Boot partition ${BOOT_SPACE_ALIGNED} KiB and RootFS $ROOTFS_SIZE KiB"
-
- # Check if we are building with device tree support
- DTS="${KERNEL_DEVICETREE}"
-
- # Initialize sdcard image file
- dd if=/dev/zero of=${SDIMG} bs=1024 count=0 seek=${SDIMG_SIZE}
-
- # Create partition table
- parted -s ${SDIMG} mklabel msdos
- # Create boot partition and mark it as bootable
- parted -s ${SDIMG} unit KiB mkpart primary fat32 ${IMAGE_ROOTFS_ALIGNMENT} $(expr ${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT})
- parted -s ${SDIMG} set 1 boot on
- # Create rootfs partition to the end of disk
- parted -s ${SDIMG} -- unit KiB mkpart primary ext2 $(expr ${BOOT_SPACE_ALIGNED} \+ ${IMAGE_ROOTFS_ALIGNMENT}) -1s
- parted ${SDIMG} print
-
- # Create a vfat image with boot files
- BOOT_BLOCKS=$(LC_ALL=C parted -s ${SDIMG} unit b print | awk '/ 1 / { print substr($4, 1, length($4 -1)) / 512 /2 }')
- rm -f ${WORKDIR}/boot.img
- mkfs.vfat -n "${BOOTDD_VOLUME_ID}" -S 512 -C ${WORKDIR}/boot.img $BOOT_BLOCKS
- mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/bcm2835-bootfiles/* ::/
- if test -n "${DTS}"; then
- # Device Tree Overlays are assumed to be suffixed by '-overlay.dtb' (4.1.x) or by '.dtbo' (4.4.9+) string and will be put in a dedicated folder
- DT_OVERLAYS="${@split_overlays(d, 0)}"
- DT_ROOT="${@split_overlays(d, 1)}"
-
- # Copy board device trees to root folder
- for DTB in $DT_ROOT; do
- DTB_BASE_NAME=`basename ${DTB} .dtb`
-
- mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTB_BASE_NAME}.dtb ::${DTB_BASE_NAME}.dtb
- done
-
- # Copy device tree overlays to dedicated folder
- mmd -i ${WORKDIR}/boot.img overlays
- for DTB in $DT_OVERLAYS; do
- DTB_EXT=${DTB##*.}
- DTB_BASE_NAME=`basename ${DTB} ."${DTB_EXT}"`
-
- mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}-${DTB_BASE_NAME}.${DTB_EXT} ::overlays/${DTB_BASE_NAME}.${DTB_EXT}
- done
- fi
- if [ "${RPI_USE_U_BOOT}" = "1" ]; then
- mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/u-boot.bin ::${SDIMG_KERNELIMAGE}
- mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin ::${KERNEL_IMAGETYPE}
- mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/boot.scr ::boot.scr
- else
- mcopy -i ${WORKDIR}/boot.img -s ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGETYPE}${KERNEL_INITRAMFS}-${MACHINE}.bin ::${SDIMG_KERNELIMAGE}
- fi
-
- if [ -n ${FATPAYLOAD} ] ; then
- echo "Copying payload into VFAT"
- for entry in ${FATPAYLOAD} ; do
- # add the || true to stop aborting on vfat issues like not supporting .~lock files
- mcopy -i ${WORKDIR}/boot.img -s -v ${IMAGE_ROOTFS}$entry :: || true
- done
- fi
-
- # Add stamp file
- echo "${IMAGE_NAME}" > ${WORKDIR}/image-version-info
- mcopy -i ${WORKDIR}/boot.img -v ${WORKDIR}/image-version-info ::
-
- # Deploy vfat partition (for u-boot case only)
- if [ "${RPI_USE_U_BOOT}" = "1" ]; then
- cp ${WORKDIR}/boot.img ${IMGDEPLOYDIR}/${SDIMG_VFAT}
- ln -sf ${SDIMG_VFAT} ${SDIMG_LINK_VFAT}
- fi
-
- # Burn Partitions
- dd if=${WORKDIR}/boot.img of=${SDIMG} conv=notrunc seek=1 bs=$(expr ${IMAGE_ROOTFS_ALIGNMENT} \* 1024)
- # If SDIMG_ROOTFS_TYPE is a .xz file use xzcat
- if echo "${SDIMG_ROOTFS_TYPE}" | egrep -q "*\.xz"
- then
- xzcat ${SDIMG_ROOTFS} | dd of=${SDIMG} conv=notrunc seek=1 bs=$(expr 1024 \* ${BOOT_SPACE_ALIGNED} + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024)
- else
- dd if=${SDIMG_ROOTFS} of=${SDIMG} conv=notrunc seek=1 bs=$(expr 1024 \* ${BOOT_SPACE_ALIGNED} + ${IMAGE_ROOTFS_ALIGNMENT} \* 1024)
- fi
-
- # Optionally apply compression
- case "${SDIMG_COMPRESSION}" in
- "gzip")
- gzip -k9 "${SDIMG}"
- ;;
- "bzip2")
- bzip2 -k9 "${SDIMG}"
- ;;
- "xz")
- xz -k "${SDIMG}"
- ;;
- esac
-}
-
-ROOTFS_POSTPROCESS_COMMAND += " rpi_generate_sysctl_config ; "
-
-rpi_generate_sysctl_config() {
- # systemd sysctl config
- test -d ${IMAGE_ROOTFS}${sysconfdir}/sysctl.d && \
- echo "vm.min_free_kbytes = 8192" > ${IMAGE_ROOTFS}${sysconfdir}/sysctl.d/rpi-vm.conf
-
- # sysv sysctl config
- IMAGE_SYSCTL_CONF="${IMAGE_ROOTFS}${sysconfdir}/sysctl.conf"
- test -e ${IMAGE_ROOTFS}${sysconfdir}/sysctl.conf && \
- sed -e "/vm.min_free_kbytes/d" -i ${IMAGE_SYSCTL_CONF}
- echo "" >> ${IMAGE_SYSCTL_CONF} && echo "vm.min_free_kbytes = 8192" >> ${IMAGE_SYSCTL_CONF}
-}
diff --git a/import-layers/meta-raspberrypi/conf/layer.conf b/import-layers/meta-raspberrypi/conf/layer.conf
deleted file mode 100644
index cfc22342f..000000000
--- a/import-layers/meta-raspberrypi/conf/layer.conf
+++ /dev/null
@@ -1,25 +0,0 @@
-# We have a conf and classes directory, append to BBPATH
-BBPATH .= ":${LAYERDIR}"
-
-# We have a recipes directory containing .bb and .bbappend files, add to BBFILES
-BBFILES += "${LAYERDIR}/recipes*/*/*.bb \
- ${LAYERDIR}/recipes*/*/*.bbappend"
-
-BBFILE_COLLECTIONS += "raspberrypi"
-BBFILE_PATTERN_raspberrypi := "^${LAYERDIR}/"
-BBFILE_PRIORITY_raspberrypi = "9"
-
-LAYERSERIES_COMPAT_raspberrypi = "sumo"
-
-# Additional license directories.
-LICENSE_PATH += "${LAYERDIR}/files/custom-licenses"
-
-# The dynamic-layers directory hosts the extensions and layer specific
-# modifications.
-#
-# The .bbappend and .bb files are included if the respective layer
-# collection is available.
-BBFILES += "${@' '.join('${LAYERDIR}/dynamic-layers/%s/recipes*/*/*.bbappend' % layer \
- for layer in BBFILE_COLLECTIONS.split())}"
-BBFILES += "${@' '.join('${LAYERDIR}/dynamic-layers/%s/recipes*/*/*.bb' % layer \
- for layer in BBFILE_COLLECTIONS.split())}"
diff --git a/import-layers/meta-raspberrypi/conf/machine/include/rpi-base.inc b/import-layers/meta-raspberrypi/conf/machine/include/rpi-base.inc
deleted file mode 100644
index d76495a68..000000000
--- a/import-layers/meta-raspberrypi/conf/machine/include/rpi-base.inc
+++ /dev/null
@@ -1,114 +0,0 @@
-include conf/machine/include/rpi-default-settings.inc
-include conf/machine/include/rpi-default-versions.inc
-include conf/machine/include/rpi-default-providers.inc
-
-SOC_FAMILY = "rpi"
-include conf/machine/include/soc-family.inc
-
-IMAGE_FSTYPES ?= "tar.bz2 ext3 rpi-sdimg"
-WKS_FILE ?= "sdimage-raspberrypi.wks"
-
-XSERVER = " \
- xserver-xorg \
- ${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "xserver-xorg-extension-glx", "", d)} \
- ${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "xf86-video-modesetting", "xf86-video-fbdev", d)} \
- "
-
-KERNEL_DEVICETREE ?= " \
- bcm2708-rpi-0-w.dtb \
- bcm2708-rpi-b.dtb \
- bcm2708-rpi-b-plus.dtb \
- bcm2709-rpi-2-b.dtb \
- bcm2710-rpi-3-b.dtb \
- bcm2710-rpi-3-b-plus.dtb \
- bcm2708-rpi-cm.dtb \
- bcm2710-rpi-cm3.dtb \
- \
- overlays/dwc2.dtbo \
- overlays/hifiberry-amp.dtbo \
- overlays/hifiberry-dac.dtbo \
- overlays/hifiberry-dacplus.dtbo \
- overlays/hifiberry-digi.dtbo \
- overlays/i2c-rtc.dtbo \
- overlays/iqaudio-dac.dtbo \
- overlays/iqaudio-dacplus.dtbo \
- overlays/lirc-rpi.dtbo \
- overlays/pitft22.dtbo \
- overlays/pitft28-resistive.dtbo \
- overlays/pitft35-resistive.dtbo \
- overlays/pps-gpio.dtbo \
- overlays/rpi-ft5406.dtbo \
- overlays/w1-gpio.dtbo \
- overlays/w1-gpio-pullup.dtbo \
- overlays/pi3-disable-bt.dtbo \
- overlays/pi3-miniuart-bt.dtbo \
- overlays/vc4-kms-v3d.dtbo \
- "
-
-# By default:
-#
-# * When u-boot is disabled use the "Image" format which can be directly loaded
-# by the rpi firmware.
-#
-# * When u-boot is enabled use the "uImage" format and the "bootm" command
-# within u-boot to load the kernel.
-KERNEL_BOOTCMD ??= "bootm"
-KERNEL_IMAGETYPE_UBOOT ??= "uImage"
-KERNEL_IMAGETYPE_DIRECT ??= "zImage"
-KERNEL_IMAGETYPE ?= "${@bb.utils.contains('RPI_USE_U_BOOT', '1', \
- '${KERNEL_IMAGETYPE_UBOOT}', '${KERNEL_IMAGETYPE_DIRECT}', d)}"
-
-MACHINE_FEATURES += "apm usbhost keyboard vfat ext2 screen touchscreen alsa bluetooth wifi sdio"
-
-# Raspberry Pi has no hardware clock
-MACHINE_FEATURES_BACKFILL_CONSIDERED = "rtc"
-
-MACHINE_EXTRA_RRECOMMENDS += " kernel-modules udev-rules-rpi"
-
-# Set Raspberrypi splash image
-SPLASH = "psplash-raspberrypi"
-
-def make_dtb_boot_files(d):
- # Generate IMAGE_BOOT_FILES entries for device tree files listed in
- # KERNEL_DEVICETREE.
- alldtbs = d.getVar('KERNEL_DEVICETREE')
- imgtyp = d.getVar('KERNEL_IMAGETYPE')
-
- def transform(dtb):
- if dtb.endswith('dtb'):
- # eg: whatever/bcm2708-rpi-b.dtb has:
- # DEPLOYDIR file: ${KERNEL_IMAGETYPE}-bcm2708-rpi-b.dtb
- # destination: bcm2708-rpi-b.dtb
- base = os.path.basename(dtb)
- src = '{}-{}'.format(imgtyp, base)
- dst = base
- return '{};{}'.format(src, dst)
- elif dtb.endswith('dtbo'):
- # overlay dtb:
- # eg: overlays/hifiberry-amp.dtbo has:
- # DEPLOYDIR file: ${KERNEL_IMAGETYPE}-hifiberry-amp.dtbo
- # destination: overlays/hifiberry-amp.dtbo
- base = os.path.basename(dtb)
- src = '{}-{}'.format(imgtyp, base)
- dst = dtb
- return '{};{}'.format(src, dtb)
-
- return ' '.join([transform(dtb) for dtb in alldtbs.split(' ') if dtb])
-
-
-IMAGE_BOOT_FILES ?= "bcm2835-bootfiles/* \
- ${@make_dtb_boot_files(d)} \
- ${@bb.utils.contains('RPI_USE_U_BOOT', '1', \
- '${KERNEL_IMAGETYPE} u-boot.bin;${SDIMG_KERNELIMAGE} boot.scr', \
- '${KERNEL_IMAGETYPE};${SDIMG_KERNELIMAGE}', d)} \
- "
-do_image_wic[depends] += " \
- bcm2835-bootfiles:do_deploy \
- ${@bb.utils.contains('RPI_USE_U_BOOT', '1', 'u-boot:do_deploy', '',d)} \
- "
-
-do_image_wic[recrdeps] = "do_build"
-
-# The kernel image is installed into the FAT32 boot partition and does not need
-# to also be installed into the rootfs.
-RDEPENDS_${KERNEL_PACKAGE_NAME}-base = ""
diff --git a/import-layers/meta-raspberrypi/conf/machine/include/rpi-default-providers.inc b/import-layers/meta-raspberrypi/conf/machine/include/rpi-default-providers.inc
deleted file mode 100644
index 5b2658ba3..000000000
--- a/import-layers/meta-raspberrypi/conf/machine/include/rpi-default-providers.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-# RaspberryPi BSP default providers
-
-PREFERRED_PROVIDER_virtual/kernel ?= "linux-raspberrypi"
-PREFERRED_PROVIDER_virtual/xserver ?= "xserver-xorg"
-PREFERRED_PROVIDER_virtual/egl ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "userland", d)}"
-PREFERRED_PROVIDER_virtual/libgles2 ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "userland", d)}"
-PREFERRED_PROVIDER_virtual/libgl ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}"
-PREFERRED_PROVIDER_virtual/mesa ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}"
-PREFERRED_PROVIDER_libgbm ?= "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "mesa", "mesa-gl", d)}"
-PREFERRED_PROVIDER_jpeg ?= "jpeg"
diff --git a/import-layers/meta-raspberrypi/conf/machine/include/rpi-default-settings.inc b/import-layers/meta-raspberrypi/conf/machine/include/rpi-default-settings.inc
deleted file mode 100644
index 716a8bbb7..000000000
--- a/import-layers/meta-raspberrypi/conf/machine/include/rpi-default-settings.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-# RaspberryPi BSP default settings
-
-IMAGE_CLASSES += "sdcard_image-rpi"
diff --git a/import-layers/meta-raspberrypi/conf/machine/include/rpi-default-versions.inc b/import-layers/meta-raspberrypi/conf/machine/include/rpi-default-versions.inc
deleted file mode 100644
index a5fe6d707..000000000
--- a/import-layers/meta-raspberrypi/conf/machine/include/rpi-default-versions.inc
+++ /dev/null
@@ -1,3 +0,0 @@
-# RaspberryPi BSP default versions
-
-PREFERRED_VERSION_linux-raspberrypi ??= "4.14.%"
diff --git a/import-layers/meta-raspberrypi/conf/machine/include/tune-arm1176jzf-s.inc b/import-layers/meta-raspberrypi/conf/machine/include/tune-arm1176jzf-s.inc
deleted file mode 100644
index b6fcc59cc..000000000
--- a/import-layers/meta-raspberrypi/conf/machine/include/tune-arm1176jzf-s.inc
+++ /dev/null
@@ -1,15 +0,0 @@
-DEFAULTTUNE ?= "armv6"
-
-require conf/machine/include/arm/arch-armv6.inc
-
-TUNEVALID[arm1176jzfs] = "Enable arm1176jzfs specific processor optimizations"
-TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "arm1176jzfs", "-mtune=arm1176jzf-s", "", d)}"
-TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "vfp", "-mfpu=vfp", "", d)}"
-
-AVAILTUNES += "arm1176jzfs arm1176jzfshf"
-ARMPKGARCH_tune-arm1176jzfs = "arm1176jzfs"
-ARMPKGARCH_tune-arm1176jzfshf = "arm1176jzfs"
-TUNE_FEATURES_tune-arm1176jzfs = "${TUNE_FEATURES_tune-armv6} arm1176jzfs"
-TUNE_FEATURES_tune-arm1176jzfshf = "${TUNE_FEATURES_tune-arm1176jzfs} callconvention-hard"
-PACKAGE_EXTRA_ARCHS_tune-arm1176jzfs = "${PACKAGE_EXTRA_ARCHS_tune-armv6}"
-PACKAGE_EXTRA_ARCHS_tune-arm1176jzfshf = "${PACKAGE_EXTRA_ARCHS_tune-armv6hf} arm1176jzfshf-vfp"
diff --git a/import-layers/meta-raspberrypi/conf/machine/raspberrypi-cm.conf b/import-layers/meta-raspberrypi/conf/machine/raspberrypi-cm.conf
deleted file mode 100644
index 2da7d50b7..000000000
--- a/import-layers/meta-raspberrypi/conf/machine/raspberrypi-cm.conf
+++ /dev/null
@@ -1,6 +0,0 @@
-#@TYPE: Machine
-#@NAME: RaspberryPi Compute Module (CM1)
-#@DESCRIPTION: Machine configuration for the RaspberryPi Compute Module (CM1)
-
-MACHINEOVERRIDES = "raspberrypi:${MACHINE}"
-include conf/machine/raspberrypi.conf
diff --git a/import-layers/meta-raspberrypi/conf/machine/raspberrypi-cm3.conf b/import-layers/meta-raspberrypi/conf/machine/raspberrypi-cm3.conf
deleted file mode 100644
index 153d5d5bb..000000000
--- a/import-layers/meta-raspberrypi/conf/machine/raspberrypi-cm3.conf
+++ /dev/null
@@ -1,6 +0,0 @@
-#@TYPE: Machine
-#@NAME: RaspberryPi Compute Module 3 (CM3)
-#@DESCRIPTION: Machine configuration for the RaspberryPi Compute Module 3 (CM3)
-
-MACHINEOVERRIDES = "raspberrypi2:${MACHINE}"
-include conf/machine/raspberrypi2.conf
diff --git a/import-layers/meta-raspberrypi/conf/machine/raspberrypi.conf b/import-layers/meta-raspberrypi/conf/machine/raspberrypi.conf
deleted file mode 100644
index ddd380161..000000000
--- a/import-layers/meta-raspberrypi/conf/machine/raspberrypi.conf
+++ /dev/null
@@ -1,13 +0,0 @@
-#@TYPE: Machine
-#@NAME: RaspberryPi Development Board
-#@DESCRIPTION: Machine configuration for the RaspberryPi http://www.raspberrypi.org/ Board
-
-DEFAULTTUNE ?= "arm1176jzfshf"
-
-require conf/machine/include/tune-arm1176jzf-s.inc
-include conf/machine/include/rpi-base.inc
-
-SERIAL_CONSOLE ?= "115200 ttyAMA0"
-
-UBOOT_MACHINE = "rpi_config"
-VC4_CMA_SIZE_raspberrypi ?= "cma-64"
diff --git a/import-layers/meta-raspberrypi/conf/machine/raspberrypi0-wifi.conf b/import-layers/meta-raspberrypi/conf/machine/raspberrypi0-wifi.conf
deleted file mode 100644
index accdf3ce3..000000000
--- a/import-layers/meta-raspberrypi/conf/machine/raspberrypi0-wifi.conf
+++ /dev/null
@@ -1,17 +0,0 @@
-#@TYPE: Machine
-#@NAME: RaspberryPi Zero WiFi Development Board
-#@DESCRIPTION: Machine configuration for the RaspberryPi Zero WiFi board (https://www.raspberrypi.org/blog/raspberry-pi-zero-w-joins-family/)
-
-DEFAULTTUNE ?= "arm1176jzfshf"
-require conf/machine/include/tune-arm1176jzf-s.inc
-include conf/machine/include/rpi-base.inc
-
-MACHINE_EXTRA_RRECOMMENDS += "\
- linux-firmware-bcm43430 \
- linux-firmware-bcm43430a1-hcd \
-"
-
-SDIMG_KERNELIMAGE ?= "kernel.img"
-UBOOT_MACHINE ?= "rpi_0_w_defconfig"
-SERIAL_CONSOLE ?= "115200 ttyS0"
-VC4_CMA_SIZE ?= "cma-128"
diff --git a/import-layers/meta-raspberrypi/conf/machine/raspberrypi0.conf b/import-layers/meta-raspberrypi/conf/machine/raspberrypi0.conf
deleted file mode 100644
index 3bd9e956e..000000000
--- a/import-layers/meta-raspberrypi/conf/machine/raspberrypi0.conf
+++ /dev/null
@@ -1,9 +0,0 @@
-#@TYPE: Machine
-#@NAME: RaspberryPi Zero Development Board
-#@DESCRIPTION: Machine configuration for the RaspberryPi Zero board (https://www.raspberrypi.org/blog/raspberry-pi-zero)
-
-MACHINEOVERRIDES = "raspberrypi:${MACHINE}"
-include conf/machine/raspberrypi.conf
-
-SERIAL_CONSOLE ?= "115200 ttyAMA0"
-VC4_CMA_SIZE ?= "cma-128"
diff --git a/import-layers/meta-raspberrypi/conf/machine/raspberrypi2.conf b/import-layers/meta-raspberrypi/conf/machine/raspberrypi2.conf
deleted file mode 100644
index a17289ce9..000000000
--- a/import-layers/meta-raspberrypi/conf/machine/raspberrypi2.conf
+++ /dev/null
@@ -1,13 +0,0 @@
-#@TYPE: Machine
-#@NAME: RaspberryPi 2 Development Board
-#@DESCRIPTION: Machine configuration for the RaspberryPi 2
-
-DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4"
-
-require conf/machine/include/tune-cortexa7.inc
-include conf/machine/include/rpi-base.inc
-
-SERIAL_CONSOLE ?= "115200 ttyAMA0"
-
-UBOOT_MACHINE = "rpi_2_config"
-VC4_CMA_SIZE ?= "cma-256"
diff --git a/import-layers/meta-raspberrypi/conf/machine/raspberrypi3-64.conf b/import-layers/meta-raspberrypi/conf/machine/raspberrypi3-64.conf
deleted file mode 100644
index 5163320da..000000000
--- a/import-layers/meta-raspberrypi/conf/machine/raspberrypi3-64.conf
+++ /dev/null
@@ -1,54 +0,0 @@
-#@TYPE: Machine
-#@NAME: RaspberryPi 3 Development Board
-#@DESCRIPTION: Machine configuration for the RaspberryPi 3 in 64 bits mode
-
-MACHINEOVERRIDES = "raspberrypi3:${MACHINE}"
-
-MACHINE_EXTRA_RRECOMMENDS += "\
- linux-firmware-bcm43430 \
- linux-firmware-bcm43455 \
- linux-firmware-bcm43430a1-hcd \
- linux-firmware-bcm4345c0-hcd \
-"
-
-require conf/machine/include/arm/arch-armv8.inc
-include conf/machine/include/rpi-base.inc
-
-KERNEL_DEVICETREE = " \
- broadcom/bcm2710-rpi-3-b.dtb \
- broadcom/bcm2710-rpi-3-b-plus.dtb \
- broadcom/bcm2837-rpi-3-b.dtb \
- \
- overlays/hifiberry-amp.dtbo \
- overlays/hifiberry-dac.dtbo \
- overlays/hifiberry-dacplus.dtbo \
- overlays/hifiberry-digi.dtbo \
- overlays/i2c-rtc.dtbo \
- overlays/iqaudio-dac.dtbo \
- overlays/iqaudio-dacplus.dtbo \
- overlays/lirc-rpi.dtbo \
- overlays/pitft22.dtbo \
- overlays/pitft28-resistive.dtbo \
- overlays/pitft35-resistive.dtbo \
- overlays/pps-gpio.dtbo \
- overlays/rpi-ft5406.dtbo \
- overlays/w1-gpio.dtbo \
- overlays/w1-gpio-pullup.dtbo \
- overlays/pi3-disable-bt.dtbo \
- overlays/pi3-miniuart-bt.dtbo \
- overlays/vc4-kms-v3d.dtbo \
- overlays/vc4-fkms-v3d.dtbo \
- "
-
-SERIAL_CONSOLE ?= "115200 ttyS0"
-VC4_CMA_SIZE ?= "cma-256"
-
-UBOOT_MACHINE = "rpi_3_config"
-MACHINE_FEATURES_append = " vc4graphics"
-
-# When u-boot is enabled we need to use the "Image" format and the "booti"
-# command to load the kernel
-KERNEL_IMAGETYPE_UBOOT ?= "Image"
-# "zImage" not supported on arm64 and ".gz" images not supported by bootloader yet
-KERNEL_IMAGETYPE_DIRECT ?= "Image"
-KERNEL_BOOTCMD ?= "booti"
diff --git a/import-layers/meta-raspberrypi/conf/machine/raspberrypi3.conf b/import-layers/meta-raspberrypi/conf/machine/raspberrypi3.conf
deleted file mode 100644
index 8b5cce51f..000000000
--- a/import-layers/meta-raspberrypi/conf/machine/raspberrypi3.conf
+++ /dev/null
@@ -1,19 +0,0 @@
-#@TYPE: Machine
-#@NAME: RaspberryPi 3 Development Board
-#@DESCRIPTION: Machine configuration for the RaspberryPi 3
-
-DEFAULTTUNE ?= "cortexa7thf-neon-vfpv4"
-require conf/machine/include/tune-cortexa7.inc
-include conf/machine/include/rpi-base.inc
-
-MACHINE_EXTRA_RRECOMMENDS += "\
- linux-firmware-bcm43430 \
- linux-firmware-bcm43455 \
- linux-firmware-bcm43430a1-hcd \
- linux-firmware-bcm4345c0-hcd \
-"
-
-SDIMG_KERNELIMAGE ?= "kernel7.img"
-UBOOT_MACHINE = "rpi_3_32b_config"
-SERIAL_CONSOLE ?= "115200 ttyS0"
-VC4_CMA_SIZE ?= "cma-256"
diff --git a/import-layers/meta-raspberrypi/docs/Makefile b/import-layers/meta-raspberrypi/docs/Makefile
deleted file mode 100644
index d0de87ff7..000000000
--- a/import-layers/meta-raspberrypi/docs/Makefile
+++ /dev/null
@@ -1,225 +0,0 @@
-# Makefile for Sphinx documentation
-#
-
-# You can set these variables from the command line.
-SPHINXOPTS =
-SPHINXBUILD = sphinx-build
-PAPER =
-BUILDDIR = _build
-
-# Internal variables.
-PAPEROPT_a4 = -D latex_paper_size=a4
-PAPEROPT_letter = -D latex_paper_size=letter
-ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
-# the i18n builder cannot share the environment and doctrees with the others
-I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
-
-.PHONY: help
-help:
- @echo "Please use \`make <target>' where <target> is one of"
- @echo " html to make standalone HTML files"
- @echo " dirhtml to make HTML files named index.html in directories"
- @echo " singlehtml to make a single large HTML file"
- @echo " pickle to make pickle files"
- @echo " json to make JSON files"
- @echo " htmlhelp to make HTML files and a HTML help project"
- @echo " qthelp to make HTML files and a qthelp project"
- @echo " applehelp to make an Apple Help Book"
- @echo " devhelp to make HTML files and a Devhelp project"
- @echo " epub to make an epub"
- @echo " epub3 to make an epub3"
- @echo " latex to make LaTeX files, you can set PAPER=a4 or PAPER=letter"
- @echo " latexpdf to make LaTeX files and run them through pdflatex"
- @echo " latexpdfja to make LaTeX files and run them through platex/dvipdfmx"
- @echo " text to make text files"
- @echo " man to make manual pages"
- @echo " texinfo to make Texinfo files"
- @echo " info to make Texinfo files and run them through makeinfo"
- @echo " gettext to make PO message catalogs"
- @echo " changes to make an overview of all changed/added/deprecated items"
- @echo " xml to make Docutils-native XML files"
- @echo " pseudoxml to make pseudoxml-XML files for display purposes"
- @echo " linkcheck to check all external links for integrity"
- @echo " doctest to run all doctests embedded in the documentation (if enabled)"
- @echo " coverage to run coverage check of the documentation (if enabled)"
- @echo " dummy to check syntax errors of document sources"
-
-.PHONY: clean
-clean:
- rm -rf $(BUILDDIR)/*
-
-.PHONY: html
-html:
- $(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
- @echo
- @echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
-
-.PHONY: dirhtml
-dirhtml:
- $(SPHINXBUILD) -b dirhtml $(ALLSPHINXOPTS) $(BUILDDIR)/dirhtml
- @echo
- @echo "Build finished. The HTML pages are in $(BUILDDIR)/dirhtml."
-
-.PHONY: singlehtml
-singlehtml:
- $(SPHINXBUILD) -b singlehtml $(ALLSPHINXOPTS) $(BUILDDIR)/singlehtml
- @echo
- @echo "Build finished. The HTML page is in $(BUILDDIR)/singlehtml."
-
-.PHONY: pickle
-pickle:
- $(SPHINXBUILD) -b pickle $(ALLSPHINXOPTS) $(BUILDDIR)/pickle
- @echo
- @echo "Build finished; now you can process the pickle files."
-
-.PHONY: json
-json:
- $(SPHINXBUILD) -b json $(ALLSPHINXOPTS) $(BUILDDIR)/json
- @echo
- @echo "Build finished; now you can process the JSON files."
-
-.PHONY: htmlhelp
-htmlhelp:
- $(SPHINXBUILD) -b htmlhelp $(ALLSPHINXOPTS) $(BUILDDIR)/htmlhelp
- @echo
- @echo "Build finished; now you can run HTML Help Workshop with the" \
- ".hhp project file in $(BUILDDIR)/htmlhelp."
-
-.PHONY: qthelp
-qthelp:
- $(SPHINXBUILD) -b qthelp $(ALLSPHINXOPTS) $(BUILDDIR)/qthelp
- @echo
- @echo "Build finished; now you can run "qcollectiongenerator" with the" \
- ".qhcp project file in $(BUILDDIR)/qthelp, like this:"
- @echo "# qcollectiongenerator $(BUILDDIR)/qthelp/meta-raspberrypi.qhcp"
- @echo "To view the help file:"
- @echo "# assistant -collectionFile $(BUILDDIR)/qthelp/meta-raspberrypi.qhc"
-
-.PHONY: applehelp
-applehelp:
- $(SPHINXBUILD) -b applehelp $(ALLSPHINXOPTS) $(BUILDDIR)/applehelp
- @echo
- @echo "Build finished. The help book is in $(BUILDDIR)/applehelp."
- @echo "N.B. You won't be able to view it unless you put it in" \
- "~/Library/Documentation/Help or install it in your application" \
- "bundle."
-
-.PHONY: devhelp
-devhelp:
- $(SPHINXBUILD) -b devhelp $(ALLSPHINXOPTS) $(BUILDDIR)/devhelp
- @echo
- @echo "Build finished."
- @echo "To view the help file:"
- @echo "# mkdir -p $$HOME/.local/share/devhelp/meta-raspberrypi"
- @echo "# ln -s $(BUILDDIR)/devhelp $$HOME/.local/share/devhelp/meta-raspberrypi"
- @echo "# devhelp"
-
-.PHONY: epub
-epub:
- $(SPHINXBUILD) -b epub $(ALLSPHINXOPTS) $(BUILDDIR)/epub
- @echo
- @echo "Build finished. The epub file is in $(BUILDDIR)/epub."
-
-.PHONY: epub3
-epub3:
- $(SPHINXBUILD) -b epub3 $(ALLSPHINXOPTS) $(BUILDDIR)/epub3
- @echo
- @echo "Build finished. The epub3 file is in $(BUILDDIR)/epub3."
-
-.PHONY: latex
-latex:
- $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
- @echo
- @echo "Build finished; the LaTeX files are in $(BUILDDIR)/latex."
- @echo "Run \`make' in that directory to run these through (pdf)latex" \
- "(use \`make latexpdf' here to do that automatically)."
-
-.PHONY: latexpdf
-latexpdf:
- $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
- @echo "Running LaTeX files through pdflatex..."
- $(MAKE) -C $(BUILDDIR)/latex all-pdf
- @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
-
-.PHONY: latexpdfja
-latexpdfja:
- $(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) $(BUILDDIR)/latex
- @echo "Running LaTeX files through platex and dvipdfmx..."
- $(MAKE) -C $(BUILDDIR)/latex all-pdf-ja
- @echo "pdflatex finished; the PDF files are in $(BUILDDIR)/latex."
-
-.PHONY: text
-text:
- $(SPHINXBUILD) -b text $(ALLSPHINXOPTS) $(BUILDDIR)/text
- @echo
- @echo "Build finished. The text files are in $(BUILDDIR)/text."
-
-.PHONY: man
-man:
- $(SPHINXBUILD) -b man $(ALLSPHINXOPTS) $(BUILDDIR)/man
- @echo
- @echo "Build finished. The manual pages are in $(BUILDDIR)/man."
-
-.PHONY: texinfo
-texinfo:
- $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
- @echo
- @echo "Build finished. The Texinfo files are in $(BUILDDIR)/texinfo."
- @echo "Run \`make' in that directory to run these through makeinfo" \
- "(use \`make info' here to do that automatically)."
-
-.PHONY: info
-info:
- $(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/texinfo
- @echo "Running Texinfo files through makeinfo..."
- make -C $(BUILDDIR)/texinfo info
- @echo "makeinfo finished; the Info files are in $(BUILDDIR)/texinfo."
-
-.PHONY: gettext
-gettext:
- $(SPHINXBUILD) -b gettext $(I18NSPHINXOPTS) $(BUILDDIR)/locale
- @echo
- @echo "Build finished. The message catalogs are in $(BUILDDIR)/locale."
-
-.PHONY: changes
-changes:
- $(SPHINXBUILD) -b changes $(ALLSPHINXOPTS) $(BUILDDIR)/changes
- @echo
- @echo "The overview file is in $(BUILDDIR)/changes."
-
-.PHONY: linkcheck
-linkcheck:
- $(SPHINXBUILD) -b linkcheck $(ALLSPHINXOPTS) $(BUILDDIR)/linkcheck
- @echo
- @echo "Link check complete; look for any errors in the above output " \
- "or in $(BUILDDIR)/linkcheck/output.txt."
-
-.PHONY: doctest
-doctest:
- $(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
- @echo "Testing of doctests in the sources finished, look at the " \
- "results in $(BUILDDIR)/doctest/output.txt."
-
-.PHONY: coverage
-coverage:
- $(SPHINXBUILD) -b coverage $(ALLSPHINXOPTS) $(BUILDDIR)/coverage
- @echo "Testing of coverage in the sources finished, look at the " \
- "results in $(BUILDDIR)/coverage/python.txt."
-
-.PHONY: xml
-xml:
- $(SPHINXBUILD) -b xml $(ALLSPHINXOPTS) $(BUILDDIR)/xml
- @echo
- @echo "Build finished. The XML files are in $(BUILDDIR)/xml."
-
-.PHONY: pseudoxml
-pseudoxml:
- $(SPHINXBUILD) -b pseudoxml $(ALLSPHINXOPTS) $(BUILDDIR)/pseudoxml
- @echo
- @echo "Build finished. The pseudo-XML files are in $(BUILDDIR)/pseudoxml."
-
-.PHONY: dummy
-dummy:
- $(SPHINXBUILD) -b dummy $(ALLSPHINXOPTS) $(BUILDDIR)/dummy
- @echo
- @echo "Build finished. Dummy builder generates no files."
diff --git a/import-layers/meta-raspberrypi/docs/conf.py b/import-layers/meta-raspberrypi/docs/conf.py
deleted file mode 100644
index fcebbf195..000000000
--- a/import-layers/meta-raspberrypi/docs/conf.py
+++ /dev/null
@@ -1,343 +0,0 @@
-#!/usr/bin/env python3
-# -*- coding: utf-8 -*-
-#
-# meta-raspberrypi documentation build configuration file, created by
-# sphinx-quickstart on Tue May 23 09:51:24 2017.
-#
-# This file is execfile()d with the current directory set to its
-# containing dir.
-#
-# Note that not all possible configuration values are present in this
-# autogenerated file.
-#
-# All configuration values have a default; values that are commented out
-# serve to show the default.
-
-# If extensions (or modules to document with autodoc) are in another directory,
-# add these directories to sys.path here. If the directory is relative to the
-# documentation root, use os.path.abspath to make it absolute, like shown here.
-#
-# import os
-# import sys
-# sys.path.insert(0, os.path.abspath('.'))
-
-# -- General configuration ------------------------------------------------
-
-# If your documentation needs a minimal Sphinx version, state it here.
-#
-# needs_sphinx = '1.0'
-
-# Add any Sphinx extension module names here, as strings. They can be
-# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
-# ones.
-extensions = []
-
-# Add any paths that contain templates here, relative to this directory.
-templates_path = ['_templates']
-
-# The suffix(es) of source filenames.
-# You can specify multiple suffix as a list of string:
-#
-# source_suffix = ['.rst', '.md']
-source_suffix = ['.rst', '.md']
-
-# The encoding of source files.
-#
-# source_encoding = 'utf-8-sig'
-
-# The master toctree document.
-master_doc = 'index'
-
-# General information about the project.
-project = 'meta-raspberrypi'
-copyright = '2017, meta-raspberrypi contributors'
-author = 'meta-raspberrypi contributors'
-
-# The version info for the project you're documenting, acts as replacement for
-# |version| and |release|, also used in various other places throughout the
-# built documents.
-#
-# The short X.Y version.
-version = 'master'
-# The full version, including alpha/beta/rc tags.
-release = 'master'
-
-# The language for content autogenerated by Sphinx. Refer to documentation
-# for a list of supported languages.
-#
-# This is also used if you do content translation via gettext catalogs.
-# Usually you set "language" from the command line for these cases.
-language = None
-
-# There are two options for replacing |today|: either, you set today to some
-# non-false value, then it is used:
-#
-# today = ''
-#
-# Else, today_fmt is used as the format for a strftime call.
-#
-# today_fmt = '%B %d, %Y'
-
-# List of patterns, relative to source directory, that match files and
-# directories to ignore when looking for source files.
-# This patterns also effect to html_static_path and html_extra_path
-exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
-
-# The reST default role (used for this markup: `text`) to use for all
-# documents.
-#
-# default_role = None
-
-# If true, '()' will be appended to :func: etc. cross-reference text.
-#
-# add_function_parentheses = True
-
-# If true, the current module name will be prepended to all description
-# unit titles (such as .. function::).
-#
-# add_module_names = True
-
-# If true, sectionauthor and moduleauthor directives will be shown in the
-# output. They are ignored by default.
-#
-# show_authors = False
-
-# The name of the Pygments (syntax highlighting) style to use.
-pygments_style = 'sphinx'
-
-# A list of ignored prefixes for module index sorting.
-# modindex_common_prefix = []
-
-# If true, keep warnings as "system message" paragraphs in the built documents.
-# keep_warnings = False
-
-# If true, `todo` and `todoList` produce output, else they produce nothing.
-todo_include_todos = False
-
-
-# -- Options for HTML output ----------------------------------------------
-
-# The theme to use for HTML and HTML Help pages. See the documentation for
-# a list of builtin themes.
-#
-# html_theme = 'alabaster'
-
-# Theme options are theme-specific and customize the look and feel of a theme
-# further. For a list of options available for each theme, see the
-# documentation.
-#
-# html_theme_options = {}
-
-# Add any paths that contain custom themes here, relative to this directory.
-# html_theme_path = []
-
-# The name for this set of Sphinx documents.
-# "<project> v<release> documentation" by default.
-#
-# html_title = 'meta-raspberrypi vmaster'
-
-# A shorter title for the navigation bar. Default is the same as html_title.
-#
-# html_short_title = None
-
-# The name of an image file (relative to this directory) to place at the top
-# of the sidebar.
-#
-# html_logo = None
-
-# The name of an image file (relative to this directory) to use as a favicon of
-# the docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
-# pixels large.
-#
-# html_favicon = None
-
-# Add any paths that contain custom static files (such as style sheets) here,
-# relative to this directory. They are copied after the builtin static files,
-# so a file named "default.css" will overwrite the builtin "default.css".
-html_static_path = ['_static']
-
-# Add any extra paths that contain custom files (such as robots.txt or
-# .htaccess) here, relative to this directory. These files are copied
-# directly to the root of the documentation.
-#
-# html_extra_path = []
-
-# If not None, a 'Last updated on:' timestamp is inserted at every page
-# bottom, using the given strftime format.
-# The empty string is equivalent to '%b %d, %Y'.
-#
-# html_last_updated_fmt = None
-
-# If true, SmartyPants will be used to convert quotes and dashes to
-# typographically correct entities.
-#
-# html_use_smartypants = True
-
-# Custom sidebar templates, maps document names to template names.
-#
-# html_sidebars = {}
-
-# Additional templates that should be rendered to pages, maps page names to
-# template names.
-#
-# html_additional_pages = {}
-
-# If false, no module index is generated.
-#
-# html_domain_indices = True
-
-# If false, no index is generated.
-#
-# html_use_index = True
-
-# If true, the index is split into individual pages for each letter.
-#
-# html_split_index = False
-
-# If true, links to the reST sources are added to the pages.
-#
-# html_show_sourcelink = True
-
-# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
-#
-# html_show_sphinx = True
-
-# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
-#
-# html_show_copyright = True
-
-# If true, an OpenSearch description file will be output, and all pages will
-# contain a <link> tag referring to it. The value of this option must be the
-# base URL from which the finished HTML is served.
-#
-# html_use_opensearch = ''
-
-# This is the file name suffix for HTML files (e.g. ".xhtml").
-# html_file_suffix = None
-
-# Language to be used for generating the HTML full-text search index.
-# Sphinx supports the following languages:
-# 'da', 'de', 'en', 'es', 'fi', 'fr', 'h', 'it', 'ja'
-# 'nl', 'no', 'pt', 'ro', 'r', 'sv', 'tr', 'zh'
-#
-# html_search_language = 'en'
-
-# A dictionary with options for the search language support, empty by default.
-# 'ja' uses this config value.
-# 'zh' user can custom change `jieba` dictionary path.
-#
-# html_search_options = {'type': 'default'}
-
-# The name of a javascript file (relative to the configuration directory) that
-# implements a search results scorer. If empty, the default will be used.
-#
-# html_search_scorer = 'scorer.js'
-
-# Output file base name for HTML help builder.
-htmlhelp_basename = 'meta-raspberrypidoc'
-
-# -- Options for LaTeX output ---------------------------------------------
-
-latex_elements = {
- # The paper size ('letterpaper' or 'a4paper').
- #
- # 'papersize': 'letterpaper',
-
- # The font size ('10pt', '11pt' or '12pt').
- #
- # 'pointsize': '10pt',
-
- # Additional stuff for the LaTeX preamble.
- #
- # 'preamble': '',
-
- # Latex figure (float) alignment
- #
- # 'figure_align': 'htbp',
-}
-
-# Grouping the document tree into LaTeX files. List of tuples
-# (source start file, target name, title,
-# author, documentclass [howto, manual, or own class]).
-latex_documents = [
- (master_doc, 'meta-raspberrypi.tex', 'meta-raspberrypi Documentation',
- 'meta-raspberrypi contributors', 'manual'),
-]
-
-# The name of an image file (relative to this directory) to place at the top of
-# the title page.
-#
-# latex_logo = None
-
-# For "manual" documents, if this is true, then toplevel headings are parts,
-# not chapters.
-#
-# latex_use_parts = False
-
-# If true, show page references after internal links.
-#
-# latex_show_pagerefs = False
-
-# If true, show URL addresses after external links.
-#
-# latex_show_urls = False
-
-# Documents to append as an appendix to all manuals.
-#
-# latex_appendices = []
-
-# It false, will not define \strong, \code, itleref, \crossref ... but only
-# \sphinxstrong, ..., \sphinxtitleref, ... To help avoid clash with user added
-# packages.
-#
-# latex_keep_old_macro_names = True
-
-# If false, no module index is generated.
-#
-# latex_domain_indices = True
-
-
-# -- Options for manual page output ---------------------------------------
-
-# One entry per manual page. List of tuples
-# (source start file, name, description, authors, manual section).
-man_pages = [
- (master_doc, 'meta-raspberrypi', 'meta-raspberrypi Documentation',
- [author], 1)
-]
-
-# If true, show URL addresses after external links.
-#
-# man_show_urls = False
-
-
-# -- Options for Texinfo output -------------------------------------------
-
-# Grouping the document tree into Texinfo files. List of tuples
-# (source start file, target name, title, author,
-# dir menu entry, description, category)
-texinfo_documents = [
- (master_doc, 'meta-raspberrypi', 'meta-raspberrypi Documentation',
- author, 'meta-raspberrypi', 'One line description of project.',
- 'Miscellaneous'),
-]
-
-# Documents to append as an appendix to all manuals.
-#
-# texinfo_appendices = []
-
-# If false, no module index is generated.
-#
-# texinfo_domain_indices = True
-
-# How to display URL addresses: 'footnote', 'no', or 'inline'.
-#
-# texinfo_show_urls = 'footnote'
-
-# If true, do not generate a @detailmenu in the "Top" node's menu.
-#
-# texinfo_no_detailmenu = False
-
-source_parsers = {
- '.md': 'recommonmark.parser.CommonMarkParser',
-}
diff --git a/import-layers/meta-raspberrypi/docs/contributing.md b/import-layers/meta-raspberrypi/docs/contributing.md
deleted file mode 100644
index 94dbf49ab..000000000
--- a/import-layers/meta-raspberrypi/docs/contributing.md
+++ /dev/null
@@ -1,38 +0,0 @@
-# Contributing
-
-## Mailing list
-
-The main communication tool we use is a mailing list:
-* <yocto@yoctoproject.org>
-* <https://lists.yoctoproject.org/listinfo/yocto>
-
-Feel free to ask any kind of questions but always prepend your email subject
-with "[meta-raspberrypi]". This is because we use the 'yocto' mailing list and
-not a perticular 'meta-raspberrypi' mailing list.
-
-## Patches and pull requests
-
-All the contributions should be compliant with the openembedded patch
-guidelines: <http://www.openembedded.org/wiki/Commit_Patch_Message_Guidelines>
-
-To contribute to this project you should send pull requests to the github mirror
-(<https://github.com/agherzan/meta-raspberrypi>). **Additionally** you can send
-the patches for review to the above specified mailing list.
-
-When creating patches for the mailing list, please use something like:
-
- git format-patch -s --subject-prefix='meta-raspberrypi][PATCH' origin
-
-When sending patches to the mailing list, please use something like:
-
- git send-email --to yocto@yoctoproject.org <generated patch>
-
-## Github issues
-
-In order to manage and trace the meta-raspberrypi issues, we use github issues:
-<https://github.com/agherzan/meta-raspberrypi/issues>
-
-If you push patches which have a github issue associated, please provide the
-issue number in the commit log just before "Signed-off-by" line(s). Example line
-for a bug:
-`[Issue #13]`
diff --git a/import-layers/meta-raspberrypi/docs/extra-apps.md b/import-layers/meta-raspberrypi/docs/extra-apps.md
deleted file mode 100644
index 53007dc1f..000000000
--- a/import-layers/meta-raspberrypi/docs/extra-apps.md
+++ /dev/null
@@ -1,9 +0,0 @@
-# Extra apps
-
-## omxplayer
-
-omxplayer depends on libav which has a commercial license. So in order to be
-able to compile omxplayer you will need to whiteflag the commercial
-license in your local.conf:
-
- LICENSE_FLAGS_WHITELIST = "commercial"
diff --git a/import-layers/meta-raspberrypi/docs/extra-build-config.md b/import-layers/meta-raspberrypi/docs/extra-build-config.md
deleted file mode 100644
index 806c23803..000000000
--- a/import-layers/meta-raspberrypi/docs/extra-build-config.md
+++ /dev/null
@@ -1,254 +0,0 @@
-# Optional build configuration
-
-There are a set of ways in which a user can influence different paramenters of
-the build. We list here the ones that are closely related to this BSP or
-specific to it. For the rest please check:
-<http://www.yoctoproject.org/docs/latest/ref-manual/ref-manual.html>
-
-## Compressed deployed files
-
-1. Overwrite IMAGE_FSTYPES in local.conf
- * `IMAGE_FSTYPES = "tar.bz2 ext3.xz"`
-
-2. Overwrite SDIMG_ROOTFS_TYPE in local.conf
- * `SDIMG_ROOTFS_TYPE = "ext3.xz"`
-
-3. Overwrite SDIMG_COMPRESSION in local.conf
- * `SDIMG_COMPRESSION = "xz"`
-
-Accommodate the values above to your own needs (ex: ext3 / ext4).
-
-## GPU memory
-
-* `GPU_MEM`: GPU memory in megabyte. Sets the memory split between the ARM and
- GPU. ARM gets the remaining memory. Min 16. Default 64.
-
-* `GPU_MEM_256`: GPU memory in megabyte for the 256MB Raspberry Pi. Ignored by
- the 512MB RP. Overrides gpu_mem. Max 192. Default not set.
-
-* `GPU_MEM_512`: GPU memory in megabyte for the 512MB Raspberry Pi. Ignored by
- the 256MB RP. Overrides gpu_mem. Max 448. Default not set.
-
-* `GPU_MEM_1024`: GPU memory in megabyte for the 1024MB Raspberry Pi. Ignored by
- the 256MB/512MB RP. Overrides gpu_mem. Max 944. Default not set.
-
-See: <https://www.raspberrypi.org/documentation/configuration/config-txt/memory.md>
-
-## Add purchased license codecs
-
-To add you own licenses use variables `KEY_DECODE_MPG2` and `KEY_DECODE_WVC1` in
-local.conf. Example:
-
- KEY_DECODE_MPG2 = "12345678"
- KEY_DECODE_WVC1 = "12345678"
-
-You can supply more licenses separated by comma. Example:
-
- KEY_DECODE_WVC1 = "0x12345678,0xabcdabcd,0x87654321"
-
-See: <https://www.raspberrypi.org/documentation/configuration/config-txt/codeclicence.md>
-
-## Disable overscan
-
-By default the GPU adds a black border around the video output to compensate for
-TVs which cut off part of the image. To disable this set this variable in
-local.conf:
-
- DISABLE_OVERSCAN = "1"
-
-## Disable splash screen
-
-By default a rainbow splash screen is shown after the GPU firmware is loaded.
-To disable this set this variable in local.conf:
-
- DISABLE_SPLASH = "1"
-
-## Boot delay
-
-The Raspberry Pi waits a number of seconds after loading the GPU firmware and
-before loading the kernel. By default it is one second. This is useful if your
-SD card needs a while to get ready before Linux is able to boot from it.
-To remove (or adjust) this delay set these variables in local.conf:
-
- BOOT_DELAY = "0"
- BOOT_DELAY_MS = "0"
-
-## Set overclocking options
-
-The Raspberry Pi can be overclocked. As of now overclocking up to the "Turbo
-Mode" is officially supported by the raspbery and does not void warranty. Check
-the config.txt for a detailed description of options and modes. The following
-variables are supported in local.conf: `ARM_FREQ`, `GPU_FREQ`, `CORE_FREQ`,
-`SDRAM_FREQ` and `OVER_VOLTAGE`.
-
-Example official settings for Turbo Mode in Raspberry Pi 2:
-
- ARM_FREQ = "1000"
- CORE_FREQ = "500"
- SDRAM_FREQ = "500"
- OVER_VOLTAGE = "6"
-
-See: <https://www.raspberrypi.org/documentation/configuration/config-txt/overclocking.md>
-
-## HDMI and composite video options
-
-The Raspberry Pi can output video over HDMI or SDTV composite (the RCA connector).
-By default the video mode for these is autodetected on boot: the HDMI mode is
-selected according to the connected monitor's EDID information and the composite
-mode is defaulted to NTSC using a 4:3 aspect ratio. Check the config.txt for a
-detailed description of options and modes. The following variables are supported in
-local.conf: `HDMI_FORCE_HOTPLUG`, `HDMI_DRIVE`, `HDMI_GROUP`, `HDMI_MODE`,
-`CONFIG_HDMI_BOOST`, `SDTV_MODE`, `SDTV_ASPECT` and `DISPLAY_ROTATE`.
-
-Example to force HDMI output to 720p in CEA mode:
-
- HDMI_GROUP = "1"
- HDMI_MODE = "4"
-
-See: <https://www.raspberrypi.org/documentation/configuration/config-txt/video.md>
-
-## Video camera support with V4L2 drivers
-
-Set this variable to enable support for the video camera (Linux 3.12.4+
-required):
-
- VIDEO_CAMERA = "1"
-
-## Enable offline compositing support
-
-Set this variable to enable support for dispmanx offline compositing:
-
- DISPMANX_OFFLINE = "1"
-
-This will enable the firmware to fall back to off-line compositing of Dispmanx
-elements. Normally the compositing is done on-line, during scanout, but cannot
-handle too many elements. With off-line enabled, an off-screen buffer is
-allocated for compositing. When scene complexity (number and sizes
-of elements) is high, compositing will happen off-line into the buffer.
-
-Heavily recommended for Wayland/Weston.
-
-See: <http://wayland.freedesktop.org/raspberrypi.html>
-
-## Enable kgdb over console support
-
-To add the kdbg over console (kgdboc) parameter to the kernel command line, set
-this variable in local.conf:
-
- ENABLE_KGDB = "1"
-
-## Disable rpi boot logo
-
-To disable rpi boot logo, set this variable in local.conf:
-
- DISABLE_RPI_BOOT_LOGO = "1"
-
-## Boot to U-Boot
-
-To have u-boot load kernel image, set in your local.conf:
-
- RPI_USE_U_BOOT = "1"
-
-This will select the appropriate image format for use with u-boot automatically.
-For further customisation the KERNEL_IMAGETYPE and KERNEL_BOOTCMD variables can
-be overridden to select the exact kernel image type (eg. zImage) and u-boot
-command (eg. bootz) to be used.
-
-## Image with Initramfs
-
-To build an initramfs image:
-
-* Set this 3 kernel variables (in linux-raspberrypi.inc for example)
- - kernel_configure_variable BLK_DEV_INITRD y
- - kernel_configure_variable INITRAMFS_SOURCE ""
- - kernel_configure_variable RD_GZIP y
-
-* Set the yocto variables (in linux-raspberrypi.inc for example)
- - `INITRAMFS_IMAGE = "<a name for your initramfs image>"`
- - `INITRAMFS_IMAGE_BUNDLE = "1"`
-
-* Set the meta-rasberrypi variable (in raspberrypi.conf for example)
- - `KERNEL_INITRAMFS = "-initramfs"`
-
-## Enable SPI bus
-
-When using device tree kernels, set this variable to enable the SPI bus:
-
- ENABLE_SPI_BUS = "1"
-
-## Enable I2C
-
-When using device tree kernels, set this variable to enable I2C:
-
- ENABLE_I2C = "1"
-
-## Enable PiTFT support
-
-Basic support for using PiTFT screens can be enabled by adding below in
-local.conf:
-
-* `MACHINE_FEATURES += "pitft"`
- - This will enable SPI bus and i2c device-trees, it will also setup
- framebuffer for console and x server on PiTFT.
-
-NOTE: To get this working the overlay for the PiTFT model must be build, added
-and specified as well (dtoverlay=<driver> in config.txt).
-
-Below is a list of currently supported PiTFT models in meta-raspberrypi, the
-modelname should be added as a MACHINE_FEATURES in local.conf like below:
-
- MACHINE_FEATURES += "pitft <modelname>"
-
-List of currently supported models:
-* pitft22
-* pitft28r
-* pitft35r
-
-## Misc. display
-
-If you would like to use the Waveshare "C" 1024Ă—600, 7 inch Capacitive Touch
-Screen LCD, HDMI interface (<http://www.waveshare.com/7inch-HDMI-LCD-C.htm>) Rev
-2.1, please set the following in your local.conf:
-
- WAVESHARE_1024X600_C_2_1 = "1"
-
-## Enable UART
-
-RaspberryPi 0, 1, 2 and CM will have UART console enabled by default.
-
-RaspberryPi 0 WiFi and 3 does not have the UART enabled by default because this
-needs a fixed core frequency and enable_uart wil set it to the minimum. Certain
-operations - 60fps h264 decode, high quality deinterlace - which aren't
-performed on the ARM may be affected, and we wouldn't want to do that to users
-who don't want to use the serial port. Users who want serial console support on
-RaspberryPi3 will have to explicitly set in local.conf:
-
- ENABLE_UART = "1"
-
-Ref.:
-* <https://github.com/raspberrypi/firmware/issues/553>
-* <https://github.com/RPi-Distro/repo/issues/22>
-
-## Enable USB Peripheral (Gadget) support
-
-The standard USB driver only supports host mode operations. Users who
-want to use gadget modules like g_ether should set the following in
-local.conf:
-
- ENABLE_DWC2_PERIPHERAL = "1"
-
-## Manual additions to config.txt
-
-The `RPI_EXTRA_CONFIG` variable can be used to manually add additional lines to
-the `config.txt` file if there is not a specific option above for the
-configuration you need. To add multiple lines you must include `\n` separators.
-If double-quotes are needed in the lines you are adding you can use single
-quotes around the whole string.
-
-For example, to add a comment containing a double-quote and a configuration
-option:
-
- RPI_EXTRA_CONFIG = ' \n \
- # Raspberry Pi 7\" display/touch screen \n \
- lcd_rotate=2 \n \
- '
diff --git a/import-layers/meta-raspberrypi/docs/index.rst b/import-layers/meta-raspberrypi/docs/index.rst
deleted file mode 100644
index 0d7ee0755..000000000
--- a/import-layers/meta-raspberrypi/docs/index.rst
+++ /dev/null
@@ -1,26 +0,0 @@
-.. meta-raspberrypi documentation master file, created by
- sphinx-quickstart on Tue May 23 09:51:24 2017.
- You can adapt this file completely to your liking, but it should at least
- contain the root `toctree` directive.
-
-Welcome to meta-raspberrypi's documentation!
-============================================
-
-Contents:
-
-.. toctree::
- :maxdepth: 2
-
- readme
- layer-contents
- extra-build-config
- extra-apps
- contributing
-
-Indices and tables
-==================
-
-* :ref:`genindex`
-* :ref:`modindex`
-* :ref:`search`
-
diff --git a/import-layers/meta-raspberrypi/docs/layer-contents.md b/import-layers/meta-raspberrypi/docs/layer-contents.md
deleted file mode 100644
index f71d396aa..000000000
--- a/import-layers/meta-raspberrypi/docs/layer-contents.md
+++ /dev/null
@@ -1,34 +0,0 @@
-# Layer Contents
-
-## Supported Machines
-
-* raspberrypi
-* raspberrypi0
-* raspberrypi0-wifi
-* raspberrypi2
-* raspberrypi3
-* raspberrypi3-64 (64 bit kernel & userspace)
-* raspberrypi-cm (dummy alias for raspberrypi)
-* raspberrypi-cm3 (dummy alias for raspberrypi2)
-
-Note: The raspberrypi3 machines include support for Raspberry Pi 3B+.
-
-## Images
-
-* rpi-test-image
- * Image based on core-image-base which includes most of the packages in this
- layer and some media samples.
-
-For other uses it's recommended to base images on `core-image-minimal` or
-`core-image-base` as appropriate. The old image names (`rpi-hwup-image` and
-`rpi-basic-image`) are deprecated.
-
-## WiFi and Bluetooth Firmware
-
-Be aware that the WiFi and Bluetooth firmware for the supported boards
-is not available in the base version of `linux-firmware` from OE-Core
-(poky). The files are added from Raspbian repositories in this layer's
-bbappends to that recipe. All machines define
-`MACHINE_EXTRA_RRECOMMENDS` to include the required wireless firmware;
-raspberrypi3 supports 3, 3B, and 3B+ and so include multiple firmware
-packages.
diff --git a/import-layers/meta-raspberrypi/docs/readme.md b/import-layers/meta-raspberrypi/docs/readme.md
deleted file mode 120000
index 32d46ee88..000000000
--- a/import-layers/meta-raspberrypi/docs/readme.md
+++ /dev/null
@@ -1 +0,0 @@
-../README.md \ No newline at end of file
diff --git a/import-layers/meta-raspberrypi/files/custom-licenses/Broadcom b/import-layers/meta-raspberrypi/files/custom-licenses/Broadcom
deleted file mode 100644
index 258268161..000000000
--- a/import-layers/meta-raspberrypi/files/custom-licenses/Broadcom
+++ /dev/null
@@ -1,25 +0,0 @@
-Copyright (c) 2012, Broadcom Europe Ltd
-All rights reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
- * Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- * Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
- * Neither the name of the copyright holder nor the
- names of its contributors may be used to endorse or promote products
- derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
-DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
diff --git a/import-layers/meta-raspberrypi/recipes-bsp/bootfiles/bcm2835-bootfiles.bb b/import-layers/meta-raspberrypi/recipes-bsp/bootfiles/bcm2835-bootfiles.bb
deleted file mode 100644
index 466f44381..000000000
--- a/import-layers/meta-raspberrypi/recipes-bsp/bootfiles/bcm2835-bootfiles.bb
+++ /dev/null
@@ -1,41 +0,0 @@
-DESCRIPTION = "Closed source binary files to help boot the ARM on the BCM2835."
-LICENSE = "Proprietary"
-
-LIC_FILES_CHKSUM = "file://LICENCE.broadcom;md5=4a4d169737c0786fb9482bb6d30401d1"
-
-inherit deploy nopackages
-
-include recipes-bsp/common/firmware.inc
-
-INHIBIT_DEFAULT_DEPS = "1"
-
-DEPENDS = "rpi-config"
-
-COMPATIBLE_MACHINE = "^rpi$"
-
-S = "${RPIFW_S}/boot"
-
-PR = "r3"
-
-do_deploy() {
- install -d ${DEPLOYDIR}/${PN}
-
- for i in ${S}/*.elf ; do
- cp $i ${DEPLOYDIR}/${PN}
- done
- for i in ${S}/*.dat ; do
- cp $i ${DEPLOYDIR}/${PN}
- done
- for i in ${S}/*.bin ; do
- cp $i ${DEPLOYDIR}/${PN}
- done
-
- # Add stamp in deploy directory
- touch ${DEPLOYDIR}/${PN}/${PN}-${PV}.stamp
-}
-
-addtask deploy before do_build after do_install
-do_deploy[dirs] += "${DEPLOYDIR}/${PN}"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
diff --git a/import-layers/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb b/import-layers/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb
deleted file mode 100644
index e0b2b58bc..000000000
--- a/import-layers/meta-raspberrypi/recipes-bsp/bootfiles/rpi-config_git.bb
+++ /dev/null
@@ -1,196 +0,0 @@
-DESCRIPTION = "Commented config.txt file for the Raspberry Pi. \
- The Raspberry Pi config.txt file is read by the GPU before \
- the ARM core is initialised. It can be used to set various \
- system configuration parameters."
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-
-COMPATIBLE_MACHINE = "^rpi$"
-
-SRCREV = "648ffc470824c43eb0d16c485f4c24816b32cd6f"
-SRC_URI = "git://github.com/Evilpaul/RPi-config.git;protocol=git;branch=master \
- "
-
-S = "${WORKDIR}/git"
-
-PR = "r5"
-
-INHIBIT_DEFAULT_DEPS = "1"
-
-PITFT="${@bb.utils.contains("MACHINE_FEATURES", "pitft", "1", "0", d)}"
-PITFT22="${@bb.utils.contains("MACHINE_FEATURES", "pitft22", "1", "0", d)}"
-PITFT28r="${@bb.utils.contains("MACHINE_FEATURES", "pitft28r", "1", "0", d)}"
-PITFT35r="${@bb.utils.contains("MACHINE_FEATURES", "pitft35r", "1", "0", d)}"
-
-VC4GRAPHICS="${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "1", "0", d)}"
-VC4DTBO_raspberrypi3-64 ?= "vc4-fkms-v3d"
-VC4DTBO ?= "vc4-kms-v3d"
-
-inherit deploy nopackages
-
-do_deploy() {
- install -d ${DEPLOYDIR}/bcm2835-bootfiles
-
- cp ${S}/config.txt ${DEPLOYDIR}/bcm2835-bootfiles/
-
- if [ -n "${KEY_DECODE_MPG2}" ]; then
- sed -i '/#decode_MPG2=/ c\decode_MPG2=${KEY_DECODE_MPG2}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
- if [ -n "${KEY_DECODE_WVC1}" ]; then
- sed -i '/#decode_WVC1=/ c\decode_WVC1=${KEY_DECODE_WVC1}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
- if [ -n "${DISABLE_OVERSCAN}" ]; then
- sed -i '/#disable_overscan=/ c\disable_overscan=${DISABLE_OVERSCAN}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
- if [ -n "${DISABLE_SPLASH}" ]; then
- sed -i '/#disable_splash=/ c\disable_splash=${DISABLE_SPLASH}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
-
- # Set overclocking options
- if [ -n "${ARM_FREQ}" ]; then
- sed -i '/#arm_freq=/ c\arm_freq=${ARM_FREQ}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
- if [ -n "${GPU_FREQ}" ]; then
- sed -i '/#gpu_freq=/ c\gpu_freq=${GPU_FREQ}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
- if [ -n "${CORE_FREQ}" ]; then
- sed -i '/#core_freq=/ c\core_freq=${CORE_FREQ}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
- if [ -n "${SDRAM_FREQ}" ]; then
- sed -i '/#sdram_freq=/ c\sdram_freq=${SDRAM_FREQ}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
- if [ -n "${OVER_VOLTAGE}" ]; then
- sed -i '/#over_voltage=/ c\over_voltage=${OVER_VOLTAGE}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
-
- # GPU memory
- if [ -n "${GPU_MEM}" ]; then
- sed -i '/#gpu_mem=/ c\gpu_mem=${GPU_MEM}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
- if [ -n "${GPU_MEM_256}" ]; then
- sed -i '/#gpu_mem_256=/ c\gpu_mem_256=${GPU_MEM_256}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
- if [ -n "${GPU_MEM_512}" ]; then
- sed -i '/#gpu_mem_512=/ c\gpu_mem_512=${GPU_MEM_512}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
- if [ -n "${GPU_MEM_1024}" ]; then
- sed -i '/#gpu_mem_1024=/ c\gpu_mem_1024=${GPU_MEM_1024}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
-
- # Set boot delay
- if [ -n "${BOOT_DELAY}" ]; then
- sed -i '/#boot_delay=/ c\boot_delay=${BOOT_DELAY}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
- if [ -n "${BOOT_DELAY_MS}" ]; then
- sed -i '/#boot_delay_ms=/ c\boot_delay_ms=${BOOT_DELAY_MS}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
-
- # Set HDMI and composite video options
- if [ -n "${HDMI_FORCE_HOTPLUG}" ]; then
- sed -i '/#hdmi_force_hotplug=/ c\hdmi_force_hotplug=${HDMI_FORCE_HOTPLUG}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
- if [ -n "${HDMI_DRIVE}" ]; then
- sed -i '/#hdmi_drive=/ c\hdmi_drive=${HDMI_DRIVE}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
- if [ -n "${HDMI_GROUP}" ]; then
- sed -i '/#hdmi_group=/ c\hdmi_group=${HDMI_GROUP}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
- if [ -n "${HDMI_MODE}" ]; then
- sed -i '/#hdmi_mode=/ c\hdmi_mode=${HDMI_MODE}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
- if [ -n "${CONFIG_HDMI_BOOST}" ]; then
- sed -i '/#config_hdmi_boost=/ c\config_hdmi_boost=${CONFIG_HDMI_BOOST}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
- if [ -n "${SDTV_MODE}" ]; then
- sed -i '/#sdtv_mode=/ c\sdtv_mode=${SDTV_MODE}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
- if [ -n "${SDTV_ASPECT}" ]; then
- sed -i '/#sdtv_aspect=/ c\sdtv_aspect=${SDTV_ASPECT}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
- if [ -n "${DISPLAY_ROTATE}" ]; then
- sed -i '/#display_rotate=/ c\display_rotate=${DISPLAY_ROTATE}' ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
-
- # Video camera support
- if [ -n "${VIDEO_CAMERA}" ]; then
- echo "# Enable video camera" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "start_x=1" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
-
- # Offline compositing support
- if [ -n "${DISPMANX_OFFLINE}" ]; then
- echo "# Enable offline compositing" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "dispmanx_offline=1" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
-
- # SPI bus support
- if [ -n "${ENABLE_SPI_BUS}" ] || [ "${PITFT}" = "1" ]; then
- echo "# Enable SPI bus" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "dtparam=spi=on" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
-
- # I2C support
- if [ -n "${ENABLE_I2C}" ] || [ "${PITFT}" = "1" ]; then
- echo "# Enable I2C" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "dtparam=i2c1=on" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "dtparam=i2c_arm=on" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
-
- # PiTFT22 display support
- if [ "${PITFT22}" = "1" ]; then
- echo "# Enable PITFT22 display" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "dtoverlay=pitft22,rotate=270,speed=32000000,txbuflen=32768" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
- if [ "${PITFT28r}" = "1" ]; then
- echo "# Enable PITFT28r display" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "dtoverlay=pitft28-resistive,rotate=90,speed=32000000,txbuflen=32768" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
- if [ "${PITFT35r}" = "1" ]; then
- echo "# Enable PITFT35r display" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "dtoverlay=pitft35-resistive,rotate=90,speed=42000000,fps=20" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
-
- # UART support
- if [ "${ENABLE_UART}" = "1" ]; then
- echo "# Enable UART" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "enable_uart=1" >>${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
-
- # VC4 Graphics support
- if [ "${VC4GRAPHICS}" = "1" ]; then
- echo "# Enable VC4 Graphics" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "dtoverlay=${VC4DTBO},${VC4_CMA_SIZE}" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
-
- # Waveshare "C" 1024x600 7" Rev2.1 IPS capacitive touch (http://www.waveshare.com/7inch-HDMI-LCD-C.htm)
- if [ "${WAVESHARE_1024X600_C_2_1}" = "1" ]; then
- echo "# Waveshare \"C\" 1024x600 7\" Rev2.1 IPS capacitive touch screen" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "max_usb_current=1" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "hdmi_group=2" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "hdmi_mode=87" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "hdmi_cvt 1024 600 60 6 0 0 0" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "hdmi_drive=1" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
-
- # DWC2 USB peripheral support
- if [ "${ENABLE_DWC2_PERIPHERAL}" = "1" ]; then
- echo "# Enable USB peripheral mode" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "dtoverlay=dwc2,dr_mode=peripheral" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- fi
-
- # Append extra config if the user has provided any
- echo "${RPI_EXTRA_CONFIG}" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
-}
-
-do_deploy_append_raspberrypi3-64() {
- echo "# have a properly sized image" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "disable_overscan=1" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
-
- echo "# Enable audio (loads snd_bcm2835)" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
- echo "dtparam=audio=on" >> ${DEPLOYDIR}/bcm2835-bootfiles/config.txt
-}
-
-addtask deploy before do_build after do_install
-do_deploy[dirs] += "${DEPLOYDIR}/bcm2835-bootfiles"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/import-layers/meta-raspberrypi/recipes-bsp/common/firmware.inc b/import-layers/meta-raspberrypi/recipes-bsp/common/firmware.inc
deleted file mode 100644
index d564a49ab..000000000
--- a/import-layers/meta-raspberrypi/recipes-bsp/common/firmware.inc
+++ /dev/null
@@ -1,10 +0,0 @@
-RPIFW_DATE ?= "20180417"
-SRCREV ?= "5db8e4e1c63178e200d6fbea23ed4a9bf4656658"
-RPIFW_SRC_URI ?= "https://github.com/raspberrypi/firmware/archive/${SRCREV}.tar.gz"
-RPIFW_S ?= "${WORKDIR}/firmware-${SRCREV}"
-
-SRC_URI = "${RPIFW_SRC_URI}"
-SRC_URI[md5sum] = "6bce52f22a7a005a9bcdb9912b132590"
-SRC_URI[sha256sum] = "84568c4e7f5b0deee4cd76e7c0b48315885f983d6131d8148ef8af8438328a36"
-
-PV = "${RPIFW_DATE}"
diff --git a/import-layers/meta-raspberrypi/recipes-bsp/formfactor/formfactor/raspberrypi/machconfig b/import-layers/meta-raspberrypi/recipes-bsp/formfactor/formfactor/raspberrypi/machconfig
deleted file mode 100644
index bef4ce3c9..000000000
--- a/import-layers/meta-raspberrypi/recipes-bsp/formfactor/formfactor/raspberrypi/machconfig
+++ /dev/null
@@ -1,6 +0,0 @@
-HAVE_TOUCHSCREEN=0
-HAVE_KEYBOARD=1
-
-DISPLAY_CAN_ROTATE=0
-DISPLAY_ORIENTATION=0
-DISPLAY_DPI=133
diff --git a/import-layers/meta-raspberrypi/recipes-bsp/formfactor/formfactor_0.0.bbappend b/import-layers/meta-raspberrypi/recipes-bsp/formfactor/formfactor_0.0.bbappend
deleted file mode 100644
index 72d991c7e..000000000
--- a/import-layers/meta-raspberrypi/recipes-bsp/formfactor/formfactor_0.0.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
diff --git a/import-layers/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/files/boot.cmd.in b/import-layers/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/files/boot.cmd.in
deleted file mode 100644
index ad54cd067..000000000
--- a/import-layers/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/files/boot.cmd.in
+++ /dev/null
@@ -1,3 +0,0 @@
-fdt addr ${fdt_addr} && fdt get value bootargs /chosen bootargs
-fatload mmc 0:1 ${kernel_addr_r} @@KERNEL_IMAGETYPE@@
-@@KERNEL_BOOTCMD@@ ${kernel_addr_r} - ${fdt_addr}
diff --git a/import-layers/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb b/import-layers/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb
deleted file mode 100644
index 0106ac3ff..000000000
--- a/import-layers/meta-raspberrypi/recipes-bsp/rpi-u-boot-scr/rpi-u-boot-scr.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "U-boot boot scripts for Raspberry Pi"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-COMPATIBLE_MACHINE = "^rpi$"
-
-DEPENDS = "u-boot-mkimage-native"
-
-INHIBIT_DEFAULT_DEPS = "1"
-
-SRC_URI = "file://boot.cmd.in"
-
-do_compile() {
- sed -e 's/@@KERNEL_IMAGETYPE@@/${KERNEL_IMAGETYPE}/' \
- -e 's/@@KERNEL_BOOTCMD@@/${KERNEL_BOOTCMD}/' \
- "${WORKDIR}/boot.cmd.in" > "${WORKDIR}/boot.cmd"
- mkimage -A arm -T script -C none -n "Boot script" -d "${WORKDIR}/boot.cmd" boot.scr
-}
-
-inherit deploy nopackages
-
-do_deploy() {
- install -d ${DEPLOYDIR}
- install -m 0644 boot.scr ${DEPLOYDIR}
-}
-
-addtask do_deploy after do_compile before do_build
diff --git a/import-layers/meta-raspberrypi/recipes-bsp/u-boot/u-boot/0002-rpi_0_w-Add-configs-consistent-with-RpI3.patch b/import-layers/meta-raspberrypi/recipes-bsp/u-boot/u-boot/0002-rpi_0_w-Add-configs-consistent-with-RpI3.patch
deleted file mode 100644
index e98fd85ae..000000000
--- a/import-layers/meta-raspberrypi/recipes-bsp/u-boot/u-boot/0002-rpi_0_w-Add-configs-consistent-with-RpI3.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 5d113dc0130ea2ea9faaa000fba9c737266b9747 Mon Sep 17 00:00:00 2001
-From: Drew Moseley <drew.moseley@northern.tech>
-Date: Fri, 9 Feb 2018 18:10:09 -0500
-Subject: [PATCH] rpi_0_w: Add configs consistent with RpI3
-
-Upstream-Status: Accepted [https://patchwork.ozlabs.org/patch/856572/]
-
-Signed-off-by: Drew Moseley <drew.moseley@northern.tech>
----
- configs/rpi_0_w_defconfig | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/configs/rpi_0_w_defconfig b/configs/rpi_0_w_defconfig
-index 9a6d24b..1248294 100644
---- a/configs/rpi_0_w_defconfig
-+++ b/configs/rpi_0_w_defconfig
-@@ -12,14 +12,21 @@ CONFIG_SYS_PROMPT="U-Boot> "
- CONFIG_CMD_GPIO=y
- CONFIG_CMD_MMC=y
- CONFIG_CMD_USB=y
-+CONFIG_OF_EMBED=y
-+CONFIG_ENV_FAT_INTERFACE="mmc"
-+CONFIG_ENV_FAT_DEVICE_AND_PART="0:1"
-+CONFIG_DM_KEYBOARD=y
- CONFIG_DM_MMC=y
- CONFIG_MMC_SDHCI=y
- CONFIG_MMC_SDHCI_BCM2835=y
- CONFIG_DM_ETH=y
- CONFIG_USB=y
- CONFIG_DM_USB=y
-+CONFIG_USB_DWC2=y
- CONFIG_USB_STORAGE=y
- CONFIG_USB_KEYBOARD=y
-+CONFIG_USB_HOST_ETHER=y
-+CONFIG_USB_ETHER_SMSC95XX=y
- CONFIG_DM_VIDEO=y
- CONFIG_SYS_WHITE_ON_BLACK=y
- CONFIG_CONSOLE_SCROLL_LINES=10
---
-2.7.4
-
diff --git a/import-layers/meta-raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend b/import-layers/meta-raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend
deleted file mode 100644
index 7d4a49e23..000000000
--- a/import-layers/meta-raspberrypi/recipes-bsp/u-boot/u-boot_%.bbappend
+++ /dev/null
@@ -1,7 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/u-boot:"
-
-SRC_URI_append_rpi = " \
- file://0002-rpi_0_w-Add-configs-consistent-with-RpI3.patch \
-"
-
-DEPENDS_append_rpi = " rpi-u-boot-scr"
diff --git a/import-layers/meta-raspberrypi/recipes-connectivity/bluez5/bluez5/0001-bcm43xx-Add-bcm43xx-3wire-variant.patch b/import-layers/meta-raspberrypi/recipes-connectivity/bluez5/bluez5/0001-bcm43xx-Add-bcm43xx-3wire-variant.patch
deleted file mode 100644
index 3bc02c49e..000000000
--- a/import-layers/meta-raspberrypi/recipes-connectivity/bluez5/bluez5/0001-bcm43xx-Add-bcm43xx-3wire-variant.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From b4f2b77472aeb967d3a7595e8a965785c7a37c87 Mon Sep 17 00:00:00 2001
-From: Phil Elwell <phil@raspberrypi.org>
-Date: Tue, 16 Feb 2016 16:40:46 +0000
-Subject: [PATCH 1/4] bcm43xx: Add bcm43xx-3wire variant
-
----
- tools/hciattach.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/tools/hciattach.c b/tools/hciattach.c
-index 59a76a7..5861d33 100644
---- a/tools/hciattach.c
-+++ b/tools/hciattach.c
-@@ -1144,6 +1144,9 @@ struct uart_t uart[] = {
- { "bcm43xx", 0x0000, 0x0000, HCI_UART_H4, 115200, 3000000,
- FLOW_CTL, DISABLE_PM, NULL, bcm43xx, NULL },
-
-+ { "bcm43xx-3wire", 0x0000, 0x0000, HCI_UART_3WIRE, 115200, 3000000,
-+ 0, DISABLE_PM, NULL, bcm43xx, NULL },
-+
- { "ath3k", 0x0000, 0x0000, HCI_UART_ATH3K, 115200, 115200,
- FLOW_CTL, DISABLE_PM, NULL, ath3k_ps, ath3k_pm },
-
---
-1.9.1
-
diff --git a/import-layers/meta-raspberrypi/recipes-connectivity/bluez5/bluez5/0002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch b/import-layers/meta-raspberrypi/recipes-connectivity/bluez5/bluez5/0002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
deleted file mode 100644
index 5a0a434a3..000000000
--- a/import-layers/meta-raspberrypi/recipes-connectivity/bluez5/bluez5/0002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From e145c9621f976063e5c573db1f2053d906f63427 Mon Sep 17 00:00:00 2001
-From: Phil Elwell <phil@raspberrypi.org>
-Date: Tue, 16 Feb 2016 16:39:09 +0000
-Subject: [PATCH 2/4] bcm43xx: The UART speed must be reset after the firmware download
-
----
- tools/hciattach_bcm43xx.c | 6 ++----
- 1 file changed, 2 insertions(+), 4 deletions(-)
-
-diff --git a/tools/hciattach_bcm43xx.c b/tools/hciattach_bcm43xx.c
-index 81f38cb..0b792e0 100644
---- a/tools/hciattach_bcm43xx.c
-+++ b/tools/hciattach_bcm43xx.c
-@@ -366,11 +366,8 @@ int bcm43xx_init(int fd, int def_speed, int speed, struct termios *ti,
- return -1;
-
- if (bcm43xx_locate_patch(FIRMWARE_DIR, chip_name, fw_path)) {
-- fprintf(stderr, "Patch not found, continue anyway\n");
-+ fprintf(stderr, "Patch not found for %s, continue anyway\n", chip_name);
- } else {
-- if (bcm43xx_set_speed(fd, ti, speed))
-- return -1;
--
- if (bcm43xx_load_firmware(fd, fw_path))
- return -1;
-
-@@ -380,6 +377,7 @@ int bcm43xx_init(int fd, int def_speed, int speed, struct termios *ti,
- return -1;
- }
-
-+ sleep(1);
- if (bcm43xx_reset(fd))
- return -1;
- }
---
-1.9.1
-
diff --git a/import-layers/meta-raspberrypi/recipes-connectivity/bluez5/bluez5/0003-Increase-firmware-load-timeout-to-30s.patch b/import-layers/meta-raspberrypi/recipes-connectivity/bluez5/bluez5/0003-Increase-firmware-load-timeout-to-30s.patch
deleted file mode 100644
index f9f09ebb0..000000000
--- a/import-layers/meta-raspberrypi/recipes-connectivity/bluez5/bluez5/0003-Increase-firmware-load-timeout-to-30s.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From d41dc2046dd08d8c95197f677e224506f5b39bdd Mon Sep 17 00:00:00 2001
-From: Phil Elwell <phil@raspberrypi.org>
-Date: Wed, 20 Jan 2016 16:00:37 +0000
-Subject: [PATCH 3/4] Increase firmware load timeout to 30s
-
----
- tools/hciattach.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tools/hciattach.c b/tools/hciattach.c
-index 5861d33..4141796 100644
---- a/tools/hciattach.c
-+++ b/tools/hciattach.c
-@@ -1293,7 +1293,7 @@ int main(int argc, char *argv[])
- {
- struct uart_t *u = NULL;
- int detach, printpid, raw, opt, i, n, ld, err;
-- int to = 10;
-+ int to = 30;
- int init_speed = 0;
- int send_break = 0;
- pid_t pid;
---
-1.9.1
-
diff --git a/import-layers/meta-raspberrypi/recipes-connectivity/bluez5/bluez5/0004-Move-the-43xx-firmware-into-lib-firmware.patch b/import-layers/meta-raspberrypi/recipes-connectivity/bluez5/bluez5/0004-Move-the-43xx-firmware-into-lib-firmware.patch
deleted file mode 100644
index dadce354e..000000000
--- a/import-layers/meta-raspberrypi/recipes-connectivity/bluez5/bluez5/0004-Move-the-43xx-firmware-into-lib-firmware.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 76681284b0ea49852041fdb97a35175089a08781 Mon Sep 17 00:00:00 2001
-From: Phil Elwell <phil@raspberrypi.org>
-Date: Tue, 23 Feb 2016 17:52:29 +0000
-Subject: [PATCH 4/4] Move the 43xx firmware into /lib/firmware
-
----
- tools/hciattach_bcm43xx.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/tools/hciattach_bcm43xx.c b/tools/hciattach_bcm43xx.c
-index 0b792e0..207f668 100644
---- a/tools/hciattach_bcm43xx.c
-+++ b/tools/hciattach_bcm43xx.c
-@@ -43,7 +43,7 @@
- #include "hciattach.h"
-
- #ifndef FIRMWARE_DIR
--#define FIRMWARE_DIR "/etc/firmware"
-+#define FIRMWARE_DIR "/lib/firmware"
- #endif
-
- #define FW_EXT ".hcd"
---
-1.9.1
-
diff --git a/import-layers/meta-raspberrypi/recipes-connectivity/bluez5/bluez5/brcm43438.service b/import-layers/meta-raspberrypi/recipes-connectivity/bluez5/bluez5/brcm43438.service
deleted file mode 100644
index a51f6bcbc..000000000
--- a/import-layers/meta-raspberrypi/recipes-connectivity/bluez5/bluez5/brcm43438.service
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description=Broadcom BCM43438 bluetooth HCI
-ConditionPathIsDirectory=/proc/device-tree/soc/gpio@7e200000/bt_pins
-Before=bluetooth.service
-BindsTo=dev-serial1.device
-After=dev-serial1.device
-
-[Service]
-Type=oneshot
-RemainAfterExit=yes
-ExecStart=/usr/bin/btuart
-
-[Install]
-WantedBy=multi-user.target
diff --git a/import-layers/meta-raspberrypi/recipes-connectivity/bluez5/bluez5_%.bbappend b/import-layers/meta-raspberrypi/recipes-connectivity/bluez5/bluez5_%.bbappend
deleted file mode 100644
index d1b84df43..000000000
--- a/import-layers/meta-raspberrypi/recipes-connectivity/bluez5/bluez5_%.bbappend
+++ /dev/null
@@ -1,45 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-BCM_BT_SOURCES = " \
- file://0001-bcm43xx-Add-bcm43xx-3wire-variant.patch \
- file://0002-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch \
- file://0003-Increase-firmware-load-timeout-to-30s.patch \
- file://0004-Move-the-43xx-firmware-into-lib-firmware.patch \
- file://brcm43438.service \
- "
-
-BCM_BT_SERVICE = "brcm43438.service"
-
-enable_bcm_bluetooth() {
- if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/${BCM_BT_SERVICE} ${D}${systemd_unitdir}/system
- fi
-}
-
-BCM_BT_RDEPENDS = "\
- udev-rules-rpi \
- pi-bluetooth \
-"
-
-# for raspberrypi3
-SRC_URI_append_raspberrypi3 = " ${BCM_BT_SOURCES}"
-
-do_install_append_raspberrypi3() {
- enable_bcm_bluetooth
-}
-
-SYSTEMD_SERVICE_${PN}_append_raspberrypi3 = " ${BCM_BT_SERVICE}"
-
-RDEPENDS_${PN}_append_raspberrypi3 = " ${BCM_BT_RDEPENDS}"
-
-# for raspberrypi0-wifi
-SRC_URI_append_raspberrypi0-wifi = " ${BCM_BT_SOURCES}"
-
-do_install_append_raspberrypi0-wifi() {
- enable_bcm_bluetooth
-}
-
-SYSTEMD_SERVICE_${PN}_append_raspberrypi0-wifi = " ${BCM_BT_SERVICE}"
-
-RDEPENDS_${PN}_append_raspberrypi0-wifi = " ${BCM_BT_RDEPENDS}"
diff --git a/import-layers/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth.bb b/import-layers/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth.bb
deleted file mode 100644
index e185f25e2..000000000
--- a/import-layers/meta-raspberrypi/recipes-connectivity/pi-bluetooth/pi-bluetooth.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-SUMMARY = "Script to properly configure BT-HCI on Raspberry Pi"
-HOMEPAGE = "https://github.com/RPi-Distro/pi-bluetooth"
-SECTION = "kernel"
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "\
- file://debian/copyright;md5=6af8de3c8ee71f8e91e9b22f84ff2022 \
-"
-
-SRC_URI = "git://github.com/RPi-Distro/pi-bluetooth"
-SRCREV = "2a7477966bb3c69838b224f3ea92cb49a88124d5"
-UPSTREAM_VERSION_UNKNOWN = "1"
-
-S = "${WORKDIR}/git"
-
-inherit allarch
-
-do_install() {
- install -d ${D}${bindir}
- install -m 0755 ${S}/usr/bin/btuart ${D}${bindir}
-}
-
-FILES_${PN} = "${bindir}"
diff --git a/import-layers/meta-raspberrypi/recipes-core/images/rpi-basic-image.bb b/import-layers/meta-raspberrypi/recipes-core/images/rpi-basic-image.bb
deleted file mode 100644
index 77a3d7b2b..000000000
--- a/import-layers/meta-raspberrypi/recipes-core/images/rpi-basic-image.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-# Base this image on core-image-minimal
-include recipes-core/images/core-image-minimal.bb
-
-# Include modules in rootfs
-IMAGE_INSTALL += " \
- kernel-modules \
- "
-
-SPLASH = "psplash-raspberrypi"
-
-IMAGE_FEATURES += "ssh-server-dropbear splash"
-
-do_image_prepend() {
- bb.warn("The image 'rpi-basic-image' is deprecated, please use 'core-image-base' instead")
-}
diff --git a/import-layers/meta-raspberrypi/recipes-core/images/rpi-hwup-image.bb b/import-layers/meta-raspberrypi/recipes-core/images/rpi-hwup-image.bb
deleted file mode 100644
index d2371ad25..000000000
--- a/import-layers/meta-raspberrypi/recipes-core/images/rpi-hwup-image.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-# Base this image on core-image-minimal
-include recipes-core/images/core-image-minimal.bb
-
-# Include modules in rootfs
-IMAGE_INSTALL += " \
- kernel-modules \
- "
-
-do_image_prepend() {
- bb.warn("The image 'rpi-hwup-image' is deprecated, please use 'core-image-minimal' instead")
-}
diff --git a/import-layers/meta-raspberrypi/recipes-core/images/rpi-test-image.bb b/import-layers/meta-raspberrypi/recipes-core/images/rpi-test-image.bb
deleted file mode 100644
index c2f5f7320..000000000
--- a/import-layers/meta-raspberrypi/recipes-core/images/rpi-test-image.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-# Base this image on core-image-base
-include recipes-core/images/core-image-base.bb
-
-COMPATIBLE_MACHINE = "^rpi$"
-
-IMAGE_INSTALL_append = " packagegroup-rpi-test"
diff --git a/import-layers/meta-raspberrypi/recipes-core/packagegroups/packagegroup-rpi-test.bb b/import-layers/meta-raspberrypi/recipes-core/packagegroups/packagegroup-rpi-test.bb
deleted file mode 100644
index 029c18cb7..000000000
--- a/import-layers/meta-raspberrypi/recipes-core/packagegroups/packagegroup-rpi-test.bb
+++ /dev/null
@@ -1,32 +0,0 @@
-DESCRIPTION = "RaspberryPi Test Packagegroup"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-
-inherit packagegroup
-
-COMPATIBLE_MACHINE = "^rpi$"
-
-OMXPLAYER_rpi = "omxplayer"
-OMXPLAYER_rpi_aarch64 = ""
-
-RDEPENDS_${PN} = "\
- ${OMXPLAYER} \
- bcm2835-tests \
- wiringpi \
- rpio \
- rpi-gpio \
- pi-blaster \
- python-rtimu \
- python-sense-hat \
- connman \
- connman-client \
- crda \
- bluez5 \
-"
-
-RRECOMMENDS_${PN} = "\
- bigbuckbunny-1080p \
- bigbuckbunny-480p \
- bigbuckbunny-720p \
- ${MACHINE_EXTRA_RRECOMMENDS} \
-"
diff --git a/import-layers/meta-raspberrypi/recipes-core/psplash/files/psplash-raspberrypi-img.h b/import-layers/meta-raspberrypi/recipes-core/psplash/files/psplash-raspberrypi-img.h
deleted file mode 100644
index de29ee916..000000000
--- a/import-layers/meta-raspberrypi/recipes-core/psplash/files/psplash-raspberrypi-img.h
+++ /dev/null
@@ -1,3210 +0,0 @@
-/* GdkPixbuf RGBA C-Source image dump 1-byte-run-length-encoded */
-
-#define POKY_IMG_ROWSTRIDE (2280)
-#define POKY_IMG_WIDTH (570)
-#define POKY_IMG_HEIGHT (720)
-#define POKY_IMG_BYTES_PER_PIXEL (4) /* 3:RGB, 4:RGBA */
-#define POKY_IMG_RLE_PIXEL_DATA ((uint8*) \
- "\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\332\0\0\0" \
- "\0\7\0\0\0\7\0\0\0$\0\0\0C\0\0\0U\0\0\0O\0\0\0C\0\0\0\37\377\0\0\0\0" \
- "\372\0\0\0\0\3\0\0\0\4\0\0\0)\0\0\0F\202\0\0\0U\2\0\0\0G\0\0\0\37\377" \
- "\0\0\0\0\377\0\0\0\0\262\0\0\0\0\4\0\0\0\27\0\0\0g\0\0\0\264\0\0\0\366" \
- "\206\0\0\0\377\4\0\0\0\356\0\0\0\271\0\0\0t\0\0\0-\377\0\0\0\0\363\0" \
- "\0\0\0\4\0\0\0-\0\0\0|\0\0\0\311\0\0\0\371\206\0\0\0\377\4\0\0\0\356" \
- "\0\0\0\250\0\0\0\\\0\0\0\10\377\0\0\0\0\377\0\0\0\0\223\0\0\0\0\5\0\0" \
- "\0\10\0\0\0\77\0\0\0i\0\0\0\214\0\0\0\240\202\0\0\0\252\6\0\0\0\241\0" \
- "\0\0\231\0\0\0\214\0\0\0c\0\0\0""7\0\0\0\15\214\0\0\0\0\3\0\0\0\30\0" \
- "\0\0\220\0\0\0\366\215\0\0\0\377\3\0\0\0\320\0\0\0l\0\0\0\17\377\0\0" \
- "\0\0\355\0\0\0\0\3\0\0\0\35\0\0\0\202\0\0\0\335\215\0\0\0\377\3\0\0\0" \
- "\352\0\0\0\204\0\0\0\17\214\0\0\0\0\6\0\0\0\26\0\0\0B\0\0\0l\0\0\0\223" \
- "\0\0\0\231\0\0\0\245\202\0\0\0\252\5\0\0\0\234\0\0\0\205\0\0\0a\0\0\0" \
- "1\0\0\0\2\377\0\0\0\0\364\0\0\0\0\4\0\0\0\12\0\0\0]\0\0\0\267\0\0\0\367" \
- "\214\0\0\0\377\4\0\0\0\333\0\0\0\232\0\0\0V\0\0\0\24\206\0\0\0\0\3\0" \
- "\0\0\6\0\0\0\204\0\0\0\366\221\0\0\0\377\3\0\0\0\363\0\0\0\226\0\0\0" \
- ")\377\0\0\0\0\350\0\0\0\0\4\0\0\0\1\0\0\0F\0\0\0\257\0\0\0\374\221\0" \
- "\0\0\377\3\0\0\0\350\0\0\0a\0\0\0\1\206\0\0\0\0\4\0\0\0!\0\0\0e\0\0\0" \
- "\251\0\0\0\351\214\0\0\0\377\4\0\0\0\357\0\0\0\242\0\0\0G\0\0\0\2\377" \
- "\0\0\0\0\357\0\0\0\0\3\0\0\0\16\0\0\0|\0\0\0\352\222\0\0\0\377\4\0\0" \
- "\0\375\0\0\0\311\0\0\0r\0\0\0\34\202\0\0\0\0\2\0\0\0/\0\0\0\321\225\0" \
- "\0\0\377\4\0\0\0\376\0\0\0\272\0\0\0M\0\0\0\2\213\0\0\0\0\2\0\0\0\17" \
- "\0\0\0\37\202\0\0\0\"\1\0\0\0\12\377\0\0\0\0\303\0\0\0\0\1\0\0\0\23\202" \
- "\0\0\0\"\2\0\0\0\33\0\0\0\13\213\0\0\0\0\3\0\0\0\14\0\0\0j\0\0\0\327" \
- "\226\0\0\0\377\2\0\0\0\271\0\0\0\32\202\0\0\0\0\3\0\0\0.\0\0\0\206\0" \
- "\0\0\334\223\0\0\0\377\3\0\0\0\326\0\0\0_\0\0\0\3\377\0\0\0\0\353\0\0" \
- "\0\0\3\0\0\0\2\0\0\0i\0\0\0\351\227\0\0\0\377\4\0\0\0\375\0\0\0\301\0" \
- "\0\0\223\0\0\0\371\231\0\0\0\377\3\0\0\0\334\0\0\0r\0\0\0\22\203\0\0" \
- "\0\0\6\0\0\0\3\0\0\0""4\0\0\0k\0\0\0\241\0\0\0\313\0\0\0\360\204\0\0" \
- "\0\377\5\0\0\0\376\0\0\0\341\0\0\0\251\0\0\0f\0\0\0\30\377\0\0\0\0\273" \
- "\0\0\0\0\4\0\0\0*\0\0\0w\0\0\0\270\0\0\0\353\205\0\0\0\377\5\0\0\0\350" \
- "\0\0\0\302\0\0\0\224\0\0\0^\0\0\0&\204\0\0\0\0\3\0\0\0""3\0\0\0\222\0" \
- "\0\0\357\231\0\0\0\377\3\0\0\0\354\0\0\0\215\0\0\0\325\230\0\0\0\377" \
- "\2\0\0\0\323\0\0\0F\377\0\0\0\0\351\0\0\0\0\2\0\0\0\34\0\0\0\275\270" \
- "\0\0\0\377\5\0\0\0\372\0\0\0\266\0\0\0r\0\0\0\245\0\0\0\353\215\0\0\0" \
- "\377\3\0\0\0\375\0\0\0\255\0\0\0""5\377\0\0\0\0\266\0\0\0\0\3\0\0\0\2" \
- "\0\0\0Q\0\0\0\311\216\0\0\0\377\4\0\0\0\335\0\0\0\224\0\0\0{\0\0\0\324" \
- "\270\0\0\0\377\3\0\0\0\376\0\0\0\225\0\0\0\11\377\0\0\0\0\346\0\0\0\0" \
- "\2\0\0\0""7\0\0\0\351\316\0\0\0\377\2\0\0\0\272\0\0\0""1\377\0\0\0\0" \
- "\263\0\0\0\0\2\0\0\0P\0\0\0\326\316\0\0\0\377\2\0\0\0\314\0\0\0\31\377" \
- "\0\0\0\0\326\0\0\0\0\6\0\0\0\22\0\0\0V\0\0\0\216\0\0\0\260\0\0\0\323" \
- "\0\0\0\365\203\0\0\0\377\7\0\0\0\372\0\0\0\344\0\0\0\314\0\0\0\264\0" \
- "\0\0\236\0\0\0\217\0\0\0\366\320\0\0\0\377\3\0\0\0\375\0\0\0\240\0\0" \
- "\0\33\377\0\0\0\0\257\0\0\0\0\2\0\0\0""3\0\0\0\300\321\0\0\0\377\7\0" \
- "\0\0\341\0\0\0\214\0\0\0\242\0\0\0\271\0\0\0\322\0\0\0\350\0\0\0\376" \
- "\203\0\0\0\377\6\0\0\0\355\0\0\0\313\0\0\0\250\0\0\0\205\0\0\0E\0\0\0" \
- "\10\377\0\0\0\0\304\0\0\0\0\4\0\0\0\3\0\0\0Y\0\0\0\305\0\0\0\374\341" \
- "\0\0\0\377\3\0\0\0\363\0\0\0y\0\0\0\7\377\0\0\0\0\253\0\0\0\0\3\0\0\0" \
- "\26\0\0\0\233\0\0\0\375\341\0\0\0\377\3\0\0\0\365\0\0\0\261\0\0\0<\377" \
- "\0\0\0\0\301\0\0\0\0\2\0\0\0J\0\0\0\332\346\0\0\0\377\3\0\0\0\337\0\0" \
- "\0o\0\0\0\15\202\0\0\0\0\5\0\0\0\7\0\0\0-\0\0\0G\0\0\0^\0\0\0t\202\0" \
- "\0\0w\4\0\0\0u\0\0\0f\0\0\0H\0\0\0\31\377\0\0\0\0\214\0\0\0\0\4\0\0\0" \
- "\1\0\0\0$\0\0\0T\0\0\0h\203\0\0\0w\5\0\0\0q\0\0\0Z\0\0\0\77\0\0\0&\0" \
- "\0\0\3\202\0\0\0\0\3\0\0\0\34\0\0\0\211\0\0\0\360\346\0\0\0\377\2\0\0" \
- "\0\277\0\0\0)\377\0\0\0\0\275\0\0\0\0\3\0\0\0\6\0\0\0\217\0\0\0\376\351" \
- "\0\0\0\377\4\0\0\0\360\0\0\0\262\0\0\0\327\0\0\0\373\212\0\0\0\377\4" \
- "\0\0\0\342\0\0\0\236\0\0\0O\0\0\0\4\377\0\0\0\0\205\0\0\0\0\4\0\0\0\16" \
- "\0\0\0e\0\0\0\256\0\0\0\357\212\0\0\0\377\4\0\0\0\367\0\0\0\314\0\0\0" \
- "\267\0\0\0\372\351\0\0\0\377\2\0\0\0\365\0\0\0c\377\0\0\0\0\273\0\0\0" \
- "\0\2\0\0\0\11\0\0\0\265\374\0\0\0\377\3\0\0\0\345\0\0\0w\0\0\0\14\377" \
- "\0\0\0\0\4\0\0\0\0\0\0\0\34\0\0\0\225\0\0\0\364\374\0\0\0\377\1\0\0\0" \
- "\203\377\0\0\0\0\271\0\0\0\0\2\0\0\0\6\0\0\0\274\377\0\0\0\377\3\0\0" \
- "\0\351\0\0\0_\0\0\0\1\374\0\0\0\0\3\0\0\0\11\0\0\0\204\0\0\0\370\377" \
- "\0\0\0\377\1\0\0\0\207\377\0\0\0\0\253\0\0\0\0\4\0\0\0\15\0\0\0#\0\0" \
- "\0""8\0\0\0M\203\0\0\0U\7\0\0\0P\0\0\0@\0\0\0""0\0\0\0\37\0\0\0\17\0" \
- "\0\0\0\0\0\0\235\377\0\0\0\377\203\0\0\0\377\2\0\0\0\271\0\0\0\27\372" \
- "\0\0\0\0\2\0\0\0""3\0\0\0\332\377\0\0\0\377\203\0\0\0\377\7\0\0\0c\0" \
- "\0\0\2\0\0\0\22\0\0\0#\0\0\0""3\0\0\0D\0\0\0T\203\0\0\0U\4\0\0\0I\0\0" \
- "\0""2\0\0\0\35\0\0\0\11\377\0\0\0\0\227\0\0\0\0\6\0\0\0\22\0\0\0L\0\0" \
- "\0\202\0\0\0\260\0\0\0\336\0\0\0\367\377\0\0\0\377\222\0\0\0\377\2\0" \
- "\0\0\347\0\0\0""5\370\0\0\0\0\2\0\0\0`\0\0\0\370\377\0\0\0\377\222\0" \
- "\0\0\377\6\0\0\0\363\0\0\0\324\0\0\0\246\0\0\0v\0\0\0>\0\0\0\11\377\0" \
- "\0\0\0\216\0\0\0\0\4\0\0\0*\0\0\0\177\0\0\0\322\0\0\0\376\377\0\0\0\377" \
- "\230\0\0\0\377\2\0\0\0\364\0\0\0I\366\0\0\0\0\2\0\0\0{\0\0\0\376\377" \
- "\0\0\0\377\230\0\0\0\377\4\0\0\0\371\0\0\0\277\0\0\0k\0\0\0\30\377\0" \
- "\0\0\0\210\0\0\0\0\3\0\0\0\3\0\0\0T\0\0\0\307\377\0\0\0\377\235\0\0\0" \
- "\377\2\0\0\0\373\0\0\0`\363\0\0\0\0\2\0\0\0\2\0\0\0\225\377\0\0\0\377" \
- "\235\0\0\0\377\3\0\0\0\374\0\0\0\253\0\0\0""9\377\0\0\0\0\205\0\0\0\0" \
- "\2\0\0\0R\0\0\0\333\332\0\0\0\377\1\5\7\2\377\304\0\0\0\377\2\0\0\0\376" \
- "\0\0\0e\361\0\0\0\0\2\0\0\0\2\0\0\0\236\306\0\0\0\377\1\5\7\2\377\331" \
- "\0\0\0\377\2\0\0\0\300\0\0\0""1\377\0\0\0\0\3\0\0\0\0\0\0\0$\0\0\0\276" \
- "\334\0\0\0\377\4\21\31\6\377V|\35\377/D\20\377\5\7\2\377\302\0\0\0\377" \
- "\2\0\0\0\375\0\0\0_\357\0\0\0\0\2\0\0\0\1\0\0\0\230\304\0\0\0\377\4\0" \
- "\1\0\377\37-\13\377Nq\33\377)<\16\377\332\0\0\0\377\3\0\0\0\375\0\0\0" \
- "\232\0\0\0\16\375\0\0\0\0\2\0\0\0d\0\0\0\366\300\0\0\0\377\6\4\6\1\377" \
- "Dc\27\377Ec\30\377-@\17\377\24\34\7\377\1\2\0\377\230\0\0\0\377\5#3\14" \
- "\377t\250(\377j\231$\377=W\25\377\13\20\4\377\301\0\0\0\377\2\0\0\0\376" \
- "\0\0\0g\355\0\0\0\0\2\0\0\0\2\0\0\0\235\303\0\0\0\377\5\3\4\1\377-B\20" \
- "\377^\207\40\377u\251(\377Fe\30\377\231\0\0\0\377\5\14\22\4\377%5\15" \
- "\377=Y\25\377Or\33\377\21\31\6\377\277\0\0\0\377\2\0\0\0\342\0\0\0""9" \
- "\373\0\0\0\0\1\0\0\0\206\303\0\0\0\377\2\7\13\3\377^\207\40\377\202u" \
- "\251(\377\5o\240&\377X\177\36\377:T\24\377\32&\11\377\2\3\1\377\225\0" \
- "\0\0\377\1""7P\23\377\202u\251(\377\3q\243'\377C`\27\377\14\22\4\377" \
- "\300\0\0\0\377\2\0\0\0\373\0\0\0U\354\0\0\0\0\1\0\0\0\213\302\0\0\0\377" \
- "\3\4\5\1\3771G\21\377h\226#\377\202u\251(\377\2X\177\36\377\2\3\1\377" \
- "\225\0\0\0\377\4\21\30\6\3770F\20\377Or\33\377i\227$\377\202u\251(\377" \
- "\2o\240&\377\32%\11\377\301\0\0\0\377\2\0\0\0\367\0\0\0S\370\0\0\0\0" \
- "\2\0\0\0\2\0\0\0\232\305\0\0\0\377\2\6\11\2\377X\177\36\377\205u\251" \
- "(\377\4n\237&\377Pt\33\3771F\21\377\15\23\5\377\222\0\0\0\377\2\0\1\0" \
- "\377Nq\33\377\203u\251(\377\3r\244'\377Ec\30\377\14\21\4\377\222\0\0" \
- "\0\377\2\10\13\3\377\5\7\2\377\253\0\0\0\377\2\0\0\0\374\0\0\0Z\352\0" \
- "\0\0\0\1\0\0\0\217\256\0\0\0\377\1\14\22\4\377\222\0\0\0\377\3\3\4\1" \
- "\3773J\21\377i\230$\377\203u\251(\377\2h\226$\377\12\16\3\377\222\0\0" \
- "\0\377\4\5\7\2\377'8\15\377Gf\30\377f\224#\377\205u\251(\377\2k\232%" \
- "\377\26\40\10\377\303\0\0\0\377\2\0\0\0\374\0\0\0a\367\0\0\0\0\1\0\0" \
- "\0\212\307\0\0\0\377\2\4\5\1\377Ps\33\377\207u\251(\377\4u\250(\377Z" \
- "\202\37\3772H\21\377\13\21\4\377\220\0\0\0\377\2\6\11\2\377d\220\"\377" \
- "\204u\251(\377\3o\241&\3779R\23\377\4\6\1\377\220\0\0\0\377\3\2\3\1\377" \
- "W}\36\377#3\14\377\253\0\0\0\377\2\0\0\0\371\0\0\0\\\202\0\0\0""3\1\0" \
- "\0\0""7\202\0\0\0D\1\0\0\0F\203\0\0\0U\1\0\0\0\37\324\0\0\0\0\1\0\0\0" \
- "2\202\0\0\0U\1\0\0\0S\203\0\0\0D\1\0\0\0""4\202\0\0\0""3\1\0\0\0\203" \
- "\255\0\0\0\377\3\21\30\6\377Tz\35\377\27!\10\377\221\0\0\0\377\2%6\15" \
- "\377d\221\"\377\204u\251(\377\2t\247(\377\32&\11\377\220\0\0\0\377\4" \
- "\4\6\1\377&6\15\377Np\33\377p\242&\377\207u\251(\377\2e\222#\377\21\31" \
- "\6\377\305\0\0\0\377\2\0\0\0\374\0\0\0Q\365\0\0\0\0\1\0\0\0^\311\0\0" \
- "\0\377\2\1\2\0\377Dc\27\377\211u\251(\377\4t\250(\377W}\36\377)<\16\377" \
- "\4\5\1\377\216\0\0\0\377\1#3\14\377\206u\251(\377\2g\225#\377(:\16\377" \
- "\220\0\0\0\377\4.C\20\377u\251(\377Ps\33\377\14\22\4\377\264\0\0\0\377" \
- "\3\0\0\0\367\0\0\0\200\0\0\0\6\320\0\0\0\0\2\0\0\0\23\0\0\0\252\266\0" \
- "\0\0\377\4\2\3\1\377:T\24\377q\244'\377Rv\34\377\220\0\0\0\377\2\25\36" \
- "\7\377X\177\36\377\206u\251(\377\1Gg\30\377\217\0\0\0\377\3\34(\11\377" \
- "Ij\31\377o\240&\377\211u\251(\377\2^\207\40\377\13\20\4\377\307\0\0\0" \
- "\377\2\0\0\0\364\0\0\0+\351\0\0\0\0\3\0\0\0\20\0\0\0""6\0\0\0]\204\0" \
- "\0\0f\5\0\0\0]\0\0\0M\0\0\0=\0\0\0D\0\0\0\361\256\0\0\0\377\3\15\23\5" \
- "\377\26\40\10\377\4\5\1\377\232\0\0\0\377\1B_\27\377\213u\251(\377\3" \
- "m\236%\377Ca\27\377\24\34\7\377\215\0\0\0\377\1\\\205\40\377\207u\251" \
- "(\377\2Qu\34\377\13\21\4\377\216\0\0\0\377\5\3\4\1\377n\237&\377u\251" \
- "(\377m\236%\377*=\16\377\265\0\0\0\377\2\0\0\0\307\0\0\0+\316\0\0\0\0" \
- "\2\0\0\0K\0\0\0\342\266\0\0\0\377\2\25\36\7\377_\211\40\377\202u\251" \
- "(\377\1\37-\13\377\216\0\0\0\377\3\2\3\1\377:T\24\377r\245'\377\206u" \
- "\251(\377\2t\247(\377\14\22\4\377\214\0\0\0\377\3\10\14\3\3775L\22\377" \
- "b\216\"\377\213u\251(\377\2^\210\40\377\7\12\2\377\231\0\0\0\377\3\1" \
- "\1\0\377\20\27\5\377\26\40\10\377\255\0\0\0\377\5\0\0\0\322\0\0\0""5" \
- "\0\0\0A\0\0\0Q\0\0\0a\204\0\0\0f\3\0\0\0U\0\0\0/\0\0\0\10\332\0\0\0\0" \
- "\4\0\0\0\30\0\0\0d\0\0\0\257\0\0\0\351\272\0\0\0\377\11\2\3\1\377Ij\31" \
- "\377t\247(\377d\221\"\377Qu\34\377>Z\25\377+>\17\377\30\"\10\377\6\10" \
- "\2\377\224\0\0\0\377\2\0\1\0\377Ii\31\377\214u\251(\377\3u\250(\377P" \
- "t\33\377\30\"\10\377\213\0\0\0\377\1""4K\22\377\210u\251(\377\2m\235" \
- "%\377*<\16\377\216\0\0\0\377\1Or\33\377\203u\251(\377\2Ps\33\377\12\17" \
- "\3\377\264\0\0\0\377\3\0\0\0\371\0\0\0~\0\0\0\3\312\0\0\0\0\2\0\0\0\21" \
- "\0\0\0\246\266\0\0\0\377\3\1\2\0\3778P\23\377r\245'\377\202u\251(\377" \
- "\2o\240&\377\3\4\1\377\215\0\0\0\377\2\25\36\7\377^\210\40\377\210u\251" \
- "(\377\1W~\36\377\213\0\0\0\377\3\13\17\4\377\77[\25\377o\240&\377\214" \
- "u\251(\377\2d\220\"\377\11\15\3\377\224\0\0\0\377\11\2\3\1\377\22\32" \
- "\6\377&6\15\3778Q\23\377Lm\32\377_\211\40\377q\243'\377b\216\"\377\16" \
- "\24\5\377\270\0\0\0\377\5\0\0\0\375\0\0\0\337\0\0\0\235\0\0\0R\0\0\0" \
- "\14\323\0\0\0\0\4\0\0\0\2\0\0\0N\0\0\0\275\0\0\0\376\276\0\0\0\377\2" \
- "\0\1\0\377=Y\25\377\205u\251(\377\6t\250(\377`\213!\377Fe\30\377,@\17" \
- "\377\22\33\6\377\0\1\0\377\220\0\0\0\377\2\4\6\1\377b\215!\377\216u\251" \
- "(\377\2Ty\35\377\30\"\10\377\211\0\0\0\377\1\32%\11\377\212u\251(\377" \
- "\2Ln\32\377\6\11\2\377\214\0\0\0\377\1""0F\20\377\204u\251(\377\2i\230" \
- "$\377\35*\12\377\265\0\0\0\377\2\0\0\0\276\0\0\0\27\310\0\0\0\0\2\0\0" \
- "\0""3\0\0\0\336\266\0\0\0\377\2\13\21\4\377W~\36\377\204u\251(\377\1" \
- "Ty\35\377\214\0\0\0\377\3\0\1\0\3772H\21\377r\244'\377\211u\251(\377" \
- "\1=W\25\377\211\0\0\0\377\3\12\17\3\377B_\27\377q\243'\377\215u\251(" \
- "\377\2r\245'\377\27!\10\377\221\0\0\0\377\5\13\17\4\377$4\14\377>Z\25" \
- "\377Y\200\36\377p\242&\377\205u\251(\377\2Z\202\37\377\10\14\3\377\275" \
- "\0\0\0\377\3\0\0\0\370\0\0\0\244\0\0\0""4\320\0\0\0\0\2\0\0\0M\0\0\0" \
- "\333\303\0\0\0\377\2""2H\21\377t\250(\377\210u\251(\377\5m\235%\377S" \
- "x\34\3779S\24\377\35*\12\377\3\4\1\377\215\0\0\0\377\1\33&\11\377\217" \
- "u\251(\377\3u\250(\377Np\33\377\21\31\6\377\207\0\0\0\377\1\33&\11\377" \
- "\213u\251(\377\2e\222#\377\30#\10\377\213\0\0\0\377\1&7\15\377\205u\251" \
- "(\377\3t\247(\3779R\23\377\1\1\0\377\216\0\0\0\377\2,@\17\377\20\27\5" \
- "\377\244\0\0\0\377\2\0\0\0\346\0\0\0>\306\0\0\0\0\2\0\0\0h\0\0\0\370" \
- "\245\0\0\0\377\2\3\5\1\3779R\23\377\217\0\0\0\377\2\40.\13\377j\232$" \
- "\377\205u\251(\377\1Ii\31\377\213\0\0\0\377\2\11\15\3\377Qu\34\377\213" \
- "u\251(\377\1>Y\25\377\207\0\0\0\377\3\6\10\2\377:T\24\377o\240&\377\217" \
- "u\251(\377\1=Y\25\377\216\0\0\0\377\4\24\34\7\3771G\21\377Kl\32\377e" \
- "\222#\377\211u\251(\377\2Pt\33\377\4\6\1\377\301\0\0\0\377\2\0\0\0\300" \
- "\0\0\0,\314\0\0\0\0\2\0\0\0\24\0\0\0\247\306\0\0\0\377\2.B\20\377u\250" \
- "(\377\213u\251(\377\4o\241&\377Rv\34\3771F\21\377\20\27\5\377\213\0\0" \
- "\0\377\1d\220\"\377\220u\251(\377\3s\246'\377@]\26\377\6\11\2\377\205" \
- "\0\0\0\377\1""4L\22\377\214u\251(\377\2r\245'\3770F\20\377\212\0\0\0" \
- "\377\1%5\15\377\207u\251(\377\2Rw\34\377\6\11\2\377\215\0\0\0\377\3""6" \
- "N\23\377l\234%\377\33'\11\377\244\0\0\0\377\3\0\0\0\373\0\0\0v\0\0\0" \
- "\1\302\0\0\0\0\2\0\0\0\13\0\0\0\243\246\0\0\0\377\3\11\15\3\377Y\201" \
- "\37\377Z\203\37\377\216\0\0\0\377\2""6N\23\377t\250(\377\206u\251(\377" \
- "\1Hh\31\377\212\0\0\0\377\2\27\"\10\377h\226#\377\214u\251(\377\1W~\36" \
- "\377\205\0\0\0\377\3\0\1\0\377*=\16\377j\231$\377\221u\251(\377\1\21" \
- "\31\6\377\212\0\0\0\377\4\10\13\3\377'8\15\377Hg\30\377h\226$\377\214" \
- "u\251(\377\2Pt\33\377\2\3\1\377\303\0\0\0\377\3\0\0\0\371\0\0\0\200\0" \
- "\0\0\5\311\0\0\0\0\2\0\0\0$\0\0\0\337\310\0\0\0\377\1""8P\23\377\217" \
- "u\251(\377\4d\221\"\377Db\27\377\"2\14\377\3\5\1\377\207\0\0\0\377\1" \
- "Y\200\36\377\222u\251(\377\2i\227$\377'9\15\377\203\0\0\0\377\2\4\5\1" \
- "\377e\222#\377\216u\251(\377\2Gf\30\377\3\4\1\377\210\0\0\0\377\1:T\24" \
- "\377\210u\251(\377\2a\215!\377\20\27\5\377\214\0\0\0\377\4.B\20\377u" \
- "\251(\377r\244'\377)<\16\377\245\0\0\0\377\2\0\0\0\256\0\0\0\11\300\0" \
- "\0\0\0\2\0\0\0\36\0\0\0\324\246\0\0\0\377\4\22\33\6\377e\222#\377u\251" \
- "(\377Rv\34\377\214\0\0\0\377\2\4\5\1\377Jk\31\377\210u\251(\377\1^\210" \
- "\40\377\211\0\0\0\377\2*=\16\377q\243'\377\215u\251(\377\2u\250(\377" \
- "\30\"\10\377\203\0\0\0\377\2\24\34\7\377X\177\36\377\223u\251(\377\1" \
- "\6\11\2\377\207\0\0\0\377\4\30\"\10\377:T\24\377Z\203\37\377t\247(\377" \
- "\216u\251(\377\2X\177\36\377\3\5\1\377\306\0\0\0\377\2\0\0\0\276\0\0" \
- "\0\15\307\0\0\0\0\2\0\0\0#\0\0\0\341\311\0\0\0\377\2\0\1\0\377Tz\35\377" \
- "\221u\251(\377\4n\236%\377Hh\31\377\37,\13\377\1\2\0\377\203\0\0\0\377" \
- "\2\6\10\2\377o\240&\377\224u\251(\377\4V|\35\377\22\32\6\377\0\0\0\377" \
- "Ca\27\377\220u\251(\377\2Z\203\37\377\12\16\3\377\206\0\0\0\377\2\0\1" \
- "\0\377a\214!\377\211u\251(\377\2l\234%\377\31$\11\377\213\0\0\0\377\1" \
- "%6\15\377\202u\251(\377\2u\250(\3773J\22\377\245\0\0\0\377\2\0\0\0\274" \
- "\0\0\0\16\276\0\0\0\0\2\0\0\0(\0\0\0\337\246\0\0\0\377\2\30#\10\377l" \
- "\234%\377\202u\251(\377\1Ii\31\377\213\0\0\0\377\2\7\13\3\377Z\202\37" \
- "\377\211u\251(\377\2t\250(\377\21\31\6\377\206\0\0\0\377\2\1\1\0\377" \
- "\77[\26\377\220u\251(\377\5a\215!\377\6\11\2\377\6\10\2\377@\\\26\377" \
- "s\246'\377\224u\251(\377\1\"1\14\377\204\0\0\0\377\3\22\33\6\377;U\24" \
- "\377d\220\"\377\221u\251(\377\2m\235%\377\14\22\4\377\310\0\0\0\377\2" \
- "\0\0\0\276\0\0\0\11\305\0\0\0\0\2\0\0\0\16\0\0\0\331\313\0\0\0\377\2" \
- "\16\25\5\377s\246'\377\223u\251(\377\5j\230$\377B_\26\377\31$\10\377" \
- "\0\0\0\377Ca\27\377\226u\251(\377\2r\244'\377Sw\34\377\222u\251(\377" \
- "\2e\222#\377\22\32\6\377\205\0\0\0\377\1(:\16\377\213u\251(\377\2o\241" \
- "&\377\36,\12\377\212\0\0\0\377\1\33'\11\377\204u\251(\377\1:T\24\377" \
- "\245\0\0\0\377\2\0\0\0\326\0\0\0\37\274\0\0\0\0\2\0\0\0G\0\0\0\363\246" \
- "\0\0\0\377\2\34)\12\377o\240&\377\203u\251(\377\1\77[\25\377\212\0\0" \
- "\0\377\2\13\17\4\377_\212!\377\213u\251(\377\1Km\32\377\205\0\0\0\377" \
- "\2\4\6\1\377Or\33\377\222u\251(\377\2\\\205\40\377h\226$\377\226u\251" \
- "(\377\5`\213!\377\6\11\2\377\15\23\4\3775L\22\377^\210\40\377\224u\251" \
- "(\377\1""1F\21\377\312\0\0\0\377\1\0\0\0\250\305\0\0\0\0\1\0\0\0\242" \
- "\251\0\0\0\377\10\21\30\6\377&7\15\3779R\23\377Kl\32\377Ty\35\377_\211" \
- "\40\377h\226$\377q\244'\377\202u\251(\377\1s\246'\377\202m\236%\377\7" \
- "d\221\"\377U{\35\377Gf\30\3778Q\23\377)<\16\377\27!\10\377\4\5\1\377" \
- "\220\0\0\0\377\1Or\33\377\226u\251(\377\1i\230$\377\254u\251(\377\2m" \
- "\235%\377\35*\12\377\203\0\0\0\377\2\15\23\5\377l\234%\377\214u\251(" \
- "\377\2q\244'\377#2\14\377\211\0\0\0\377\1\24\34\7\377\205u\251(\377\2" \
- "@]\26\377\0\1\0\377\244\0\0\0\377\2\0\0\0\341\0\0\0'\272\0\0\0\0\2\0" \
- "\0\0O\0\0\0\367\246\0\0\0\377\2!0\13\377p\242&\377\204u\251(\377\1""7" \
- "P\23\377\211\0\0\0\377\2\15\23\5\377d\220\"\377\215u\251(\377\1(:\16" \
- "\377\203\0\0\0\377\2\12\17\3\377[\204\37\377\254u\251(\377\2j\231$\377" \
- "t\250(\377\225u\251(\377\2m\236%\377\5\7\2\377\217\0\0\0\377\12\1\1\0" \
- "\377\21\30\6\377$4\14\3773J\22\377B_\27\377Qu\34\377`\213!\377l\234%" \
- "\377m\236%\377q\243'\377\202u\251(\377\11t\247(\377j\232$\377a\215!\377" \
- "X\177\36\377Nq\33\377\77[\25\377,@\17\377\27\"\10\377\2\3\1\377\247\0" \
- "\0\0\377\1\0\0\0h\303\0\0\0\0\1\0\0\0E\250\0\0\0\377\2\24\35\7\377j\232" \
- "$\377\223u\251(\377\6t\247(\377d\220\"\377Nq\33\3779S\24\377\35*\12\377" \
- "\4\6\1\377\213\0\0\0\377\1:T\24\377\304u\251(\377\5r\245'\377*=\16\377" \
- "\0\0\0\377\3\5\1\377\\\205\37\377\216u\251(\377\2r\244'\377!/\13\377" \
- "\210\0\0\0\377\1\23\33\6\377\206u\251(\377\1@]\26\377\245\0\0\0\377\2" \
- "\0\0\0\352\0\0\0+\270\0\0\0\0\2\0\0\0X\0\0\0\374\246\0\0\0\377\2\40." \
- "\13\377r\244'\377\205u\251(\377\1""7P\23\377\210\0\0\0\377\2\13\20\4" \
- "\377d\220\"\377\216u\251(\377\5o\241&\377\24\34\7\377\0\0\0\377\22\33" \
- "\6\377e\222#\377\304u\251(\377\1X\177\36\377\213\0\0\0\377\6\1\1\0\377" \
- "\25\36\7\3772H\21\377Hi\31\377]\207\40\377p\242&\377\223u\251(\377\2" \
- "q\244'\3772H\21\377\246\0\0\0\377\2\0\0\0\363\0\0\0\30\301\0\0\0\0\2" \
- "\0\0\0\2\0\0\0\320\251\0\0\0\377\2+>\17\377t\250(\377\227u\251(\377\5" \
- "r\245'\377Y\201\37\377=X\25\377\34)\12\377\1\2\0\377\207\0\0\0\377\1" \
- "=W\25\377\305u\251(\377\3u\250(\377:T\24\377Fe\30\377\220u\251(\377\2" \
- "p\242&\377\35*\12\377\207\0\0\0\377\1\34)\12\377\207u\251(\377\1;U\24" \
- "\377\245\0\0\0\377\2\0\0\0\351\0\0\0*\266\0\0\0\0\2\0\0\0P\0\0\0\372" \
- "\246\0\0\0\377\2\34(\11\377p\242&\377\206u\251(\377\1@]\26\377\207\0" \
- "\0\0\377\2\11\15\3\377a\214!\377\220u\251(\377\3d\220\"\377$4\14\377" \
- "m\236%\377\305u\251(\377\1`\213!\377\210\0\0\0\377\4\21\31\6\3774K\22" \
- "\377Qu\34\377m\235%\377\230u\251(\377\2Mo\32\377\1\2\0\377\247\0\0\0" \
- "\377\1\0\0\0\224\301\0\0\0\0\1\0\0\0>\253\0\0\0\377\2-B\20\377u\250(" \
- "\377\232u\251(\377\4l\234%\377Kl\32\377'8\15\377\6\11\2\377\203\0\0\0" \
- "\377\2\4\6\1\377f\223#\377\331u\251(\377\2o\240&\377\26\37\7\377\206" \
- "\0\0\0\377\1""1F\21\377\210u\251(\377\1""5L\22\377\245\0\0\0\377\2\0" \
- "\0\0\340\0\0\0\37\264\0\0\0\0\2\0\0\0E\0\0\0\367\246\0\0\0\377\2\27\"" \
- "\10\377n\237&\377\207u\251(\377\1Ty\35\377\206\0\0\0\377\2\5\7\2\377" \
- "\\\205\40\377\331u\251(\377\2u\250(\377\31$\10\377\203\0\0\0\377\4\1" \
- "\2\0\377\34)\12\377@\\\26\377c\217\"\377\233u\251(\377\2Os\33\377\2\3" \
- "\1\377\250\0\0\0\377\2\0\0\0\365\0\0\0\15\300\0\0\0\0\1\0\0\0\227\254" \
- "\0\0\0\377\2""0F\20\377u\250(\377\234u\251(\377\5r\245'\377V|\35\377" \
- "2I\21\377\22\32\6\377Or\33\377\333u\251(\377\2h\226$\377\14\22\4\377" \
- "\205\0\0\0\377\1Z\202\37\377\210u\251(\377\2u\250(\377/D\20\377\245\0" \
- "\0\0\377\2\0\0\0\335\0\0\0\30\262\0\0\0\0\2\0\0\0<\0\0\0\365\246\0\0" \
- "\0\377\2\24\34\7\377l\234%\377\210u\251(\377\2s\246'\377\13\20\4\377" \
- "\204\0\0\0\377\2\1\1\0\377Ps\33\377\333u\251(\377\5f\223#\377\26\40\10" \
- "\377'9\15\377Kl\32\377l\234%\377\235u\251(\377\2Rv\34\377\3\4\1\377\252" \
- "\0\0\0\377\1\0\0\0[\300\0\0\0\0\1\0\0\0\351\255\0\0\0\377\1""3J\21\377" \
- "\375u\251(\377\2_\211\40\377\5\7\2\377\203\0\0\0\377\1\40.\13\377\212" \
- "u\251(\377\2t\250(\377*<\16\377\245\0\0\0\377\2\0\0\0\314\0\0\0\14\260" \
- "\0\0\0\0\2\0\0\0(\0\0\0\355\246\0\0\0\377\2\21\30\6\377j\230$\377\212" \
- "u\251(\377\1Db\27\377\204\0\0\0\377\1@]\26\377\375u\251(\377\2Ty\35\377" \
- "\3\5\1\377\253\0\0\0\377\1\0\0\0\257\277\0\0\0\0\1\0\0\0\40\257\0\0\0" \
- "\377\1""6N\22\377\375u\251(\377\1Lm\32\377\202\0\0\0\377\2\16\24\5\377" \
- "k\232%\377\213u\251(\377\2s\246'\377%5\15\377\245\0\0\0\377\2\0\0\0\277" \
- "\0\0\0\7\256\0\0\0\0\2\0\0\0\35\0\0\0\345\246\0\0\0\377\2\15\23\5\377" \
- "g\224#\377\214u\251(\377\1'9\15\377\202\0\0\0\377\1(:\16\377\375u\251" \
- "(\377\2V}\35\377\4\6\1\377\254\0\0\0\377\1\0\0\0\343\277\0\0\0\0\1\0" \
- "\0\0N\260\0\0\0\377\1""8R\23\377\375u\251(\377\3""2H\21\377\31$\10\377" \
- "i\230$\377\215u\251(\377\2r\244'\377\34)\12\377\245\0\0\0\377\2\0\0\0" \
- "\246\0\0\0\1\254\0\0\0\0\2\0\0\0\20\0\0\0\324\246\0\0\0\377\2\10\14\3" \
- "\377b\216\"\377\215u\251(\377\4s\246'\3773J\21\377\23\33\6\377o\241&" \
- "\377\374u\251(\377\2X\177\36\377\5\7\2\377\256\0\0\0\377\1\0\0\0\23\276" \
- "\0\0\0\0\1\0\0\0l\261\0\0\0\377\1<V\24\377\374u\251(\377\2s\246'\377" \
- "q\244'\377\217u\251(\377\2m\236%\377\23\34\7\377\214\0\0\0\377\1\15\23" \
- "\4\377\230\0\0\0\377\1\0\0\0u\253\0\0\0\0\2\0\0\0\2\0\0\0\262\231\0\0" \
- "\0\377\1\15\23\4\377\214\0\0\0\377\2\4\5\1\377Y\201\36\377\220u\251(" \
- "\377\1o\240&\377\374u\251(\377\2Z\203\37\377\6\10\2\377\257\0\0\0\377" \
- "\1\0\0\0""0\276\0\0\0\0\1\0\0\0v\262\0\0\0\377\1A]\26\377\377u\251(\377" \
- "\216u\251(\377\2g\224#\377\14\21\4\377\213\0\0\0\377\2Np\33\3775L\22" \
- "\377\227\0\0\0\377\2\0\0\0\375\0\0\0H\252\0\0\0\0\1\0\0\0\203\231\0\0" \
- "\0\377\3\27\"\10\377i\227$\377\2\3\1\377\212\0\0\0\377\2\1\1\0\377Nq" \
- "\33\377\377u\251(\377\216u\251(\377\2_\211\40\377\7\12\2\377\260\0\0" \
- "\0\377\1\0\0\0;\276\0\0\0\0\1\0\0\0~\221\0\0\0\377\1\1\2\0\377\207\20" \
- "\27\5\377\1\26\40\10\377\206\27\"\10\377\1\34(\11\377\206\37-\13\377" \
- "\14!0\13\377'8\15\377);\16\377/D\20\3770F\20\3777O\23\3778P\23\377>Z" \
- "\25\377\77[\25\377Jk\31\377X\177\36\377j\232$\377\377u\251(\377\217u" \
- "\251(\377\2_\211\40\377\6\11\2\377\212\0\0\0\377\3h\226#\377u\250(\377" \
- "1F\21\377\227\0\0\0\377\2\0\0\0\350\0\0\0\32\250\0\0\0\0\2\0\0\0E\0\0" \
- "\0\375\230\0\0\0\377\4\25\36\7\377l\234%\377u\251(\377\27!\10\377\212" \
- "\0\0\0\377\1A^\26\377\377u\251(\377\217u\251(\377\14p\242&\377\\\205" \
- "\37\377Nq\33\377A^\26\377>Z\25\377:T\24\3777O\23\3772I\21\377/D\20\377" \
- "+>\17\377'8\15\377$4\14\377\206\37-\13\377\1\36,\12\377\207\27\"\10\377" \
- "\1\21\31\6\377\206\20\27\5\377\1\6\11\2\377\220\0\0\0\377\1\0\0\0D\276" \
- "\0\0\0\0\1\0\0\0p\222\0\0\0\377\1Np\33\377\377u\251(\377\260u\251(\377" \
- "\2Y\200\36\377\3\5\1\377\210\0\0\0\377\1\16\25\5\377\202u\251(\377\2" \
- "u\250(\3771F\21\377\227\0\0\0\377\2\0\0\0\311\0\0\0\7\246\0\0\0\0\2\0" \
- "\0\0\"\0\0\0\356\230\0\0\0\377\2\27!\10\377n\236%\377\202u\251(\377\1" \
- "2H\21\377\211\0\0\0\377\1""7P\23\377\377u\251(\377\260u\251(\377\2j\230" \
- "$\377\11\15\3\377\220\0\0\0\377\1\0\0\0""5\276\0\0\0\0\1\0\0\0X\222\0" \
- "\0\0\377\2\13\17\4\377k\232%\377\377u\251(\377\260u\251(\377\2Ij\31\377" \
- "\0\1\0\377\207\0\0\0\377\1(:\16\377\203u\251(\377\2t\247(\377)<\16\377" \
- "\227\0\0\0\377\1\0\0\0\215\245\0\0\0\0\2\0\0\0\5\0\0\0\307\230\0\0\0" \
- "\377\2\21\30\6\377i\230$\377\203u\251(\377\1Ln\32\377\210\0\0\0\377\2" \
- "'8\15\377t\250(\377\377u\251(\377\260u\251(\377\1%5\15\377\221\0\0\0" \
- "\377\1\0\0\0\36\276\0\0\0\0\1\0\0\0>\223\0\0\0\377\1$4\14\377\377u\251" \
- "(\377\261u\251(\377\1<V\24\377\207\0\0\0\377\1Kl\32\377\204u\251(\377" \
- "\2s\246'\377!/\13\377\226\0\0\0\377\2\0\0\0\376\0\0\0E\244\0\0\0\0\1" \
- "\0\0\0\203\230\0\0\0\377\2\13\17\4\377f\224#\377\204u\251(\377\2m\235" \
- "%\377\2\3\1\377\206\0\0\0\377\2\34(\12\377q\244'\377\377u\251(\377\260" \
- "u\251(\377\1Hh\31\377\221\0\0\0\377\2\0\0\0\374\0\0\0\6\276\0\0\0\0\2" \
- "\0\0\0\15\0\0\0\374\223\0\0\0\377\1Ec\30\377\377u\251(\377\261u\251(" \
- "\377\1""2I\21\377\205\0\0\0\377\2\3\4\1\377n\237&\377\205u\251(\377\2" \
- "p\242&\377\30#\10\377\226\0\0\0\377\2\0\0\0\352\0\0\0\27\242\0\0\0\0" \
- "\2\0\0\0A\0\0\0\375\227\0\0\0\377\2\5\7\2\377_\211\40\377\206u\251(\377" \
- "\1\37,\13\377\205\0\0\0\377\2\26\37\7\377o\240&\377\377u\251(\377\260" \
- "u\251(\377\2c\217\"\377\5\7\2\377\221\0\0\0\377\1\0\0\0\317\300\0\0\0" \
- "\0\1\0\0\0\321\223\0\0\0\377\2\6\11\2\377e\222#\377\377u\251(\377\260" \
- "u\251(\377\2s\246'\377\"2\14\377\204\0\0\0\377\1\36,\12\377\207u\251" \
- "(\377\2f\224#\377\13\17\4\377\226\0\0\0\377\1\0\0\0\260\241\0\0\0\0\2" \
- "\0\0\0\21\0\0\0\343\227\0\0\0\377\2\0\1\0\377Mo\32\377\207u\251(\377" \
- "\1B_\27\377\204\0\0\0\377\2\13\20\4\377f\224#\377\377u\251(\377\260u" \
- "\251(\377\2t\247(\377\33'\11\377\222\0\0\0\377\1\0\0\0\226\300\0\0\0" \
- "\0\1\0\0\0\227\224\0\0\0\377\2\34)\12\377t\250(\377\377u\251(\377\260" \
- "u\251(\377\2p\242&\377\30\"\10\377\203\0\0\0\377\1Pt\33\377\210u\251" \
- "(\377\2[\204\37\377\4\6\1\377\226\0\0\0\377\1\0\0\0]\240\0\0\0\0\1\0" \
- "\0\0\235\230\0\0\0\377\1<W\25\377\210u\251(\377\2n\236%\377\6\11\2\377" \
- "\202\0\0\0\377\2\6\10\2\377^\210\40\377\377u\251(\377\261u\251(\377\1" \
- "\77[\25\377\223\0\0\0\377\1\0\0\0]\300\0\0\0\0\1\0\0\0A\225\0\0\0\377" \
- "\1Dc\27\377\377u\251(\377\261u\251(\377\5j\232$\377\20\27\5\377\0\0\0" \
- "\377\23\33\6\377t\250(\377\211u\251(\377\2Mo\32\377\0\1\0\377\225\0\0" \
- "\0\377\2\0\0\0\361\0\0\0\34\236\0\0\0\0\1\0\0\0O\230\0\0\0\377\2+>\17" \
- "\377u\250(\377\211u\251(\377\4""6N\22\377\0\0\0\377\2\3\1\377Ty\35\377" \
- "\377u\251(\377\261u\251(\377\2d\220\"\377\4\6\1\377\222\0\0\0\377\2\0" \
- "\0\0\366\0\0\0\16\300\0\0\0\0\2\0\0\0\2\0\0\0\343\224\0\0\0\377\2\6\11" \
- "\2\377g\225#\377\377u\251(\377\261u\251(\377\3d\220\"\377\13\20\4\377" \
- "W}\36\377\213u\251(\377\1:T\24\377\226\0\0\0\377\1\0\0\0\264\235\0\0" \
- "\0\0\2\0\0\0\17\0\0\0\345\227\0\0\0\377\2\32&\11\377r\244'\377\212u\251" \
- "(\377\3n\236%\377\17\25\5\377Hg\30\377\377u\251(\377\261u\251(\377\2" \
- "t\250(\377\34(\11\377\223\0\0\0\377\1\0\0\0\254\302\0\0\0\0\1\0\0\0\215" \
- "\225\0\0\0\377\1%5\15\377\377u\251(\377\262u\251(\377\1o\240&\377\214" \
- "u\251(\377\2t\250(\377\40.\13\377\226\0\0\0\377\1\0\0\0N\234\0\0\0\0" \
- "\1\0\0\0\216\227\0\0\0\377\2\11\15\3\377h\226#\377\214u\251(\377\1o\240" \
- "&\377\377u\251(\377\262u\251(\377\1Gg\30\377\224\0\0\0\377\1\0\0\0R\302" \
- "\0\0\0\0\2\0\0\0\30\0\0\0\366\225\0\0\0\377\1Qu\34\377\377u\251(\377" \
- "\277u\251(\377\2m\236%\377\17\26\5\377\225\0\0\0\377\2\0\0\0\347\0\0" \
- "\0\21\232\0\0\0\0\2\0\0\0;\0\0\0\375\226\0\0\0\377\2\2\3\1\377X\177\36" \
- "\377\377u\251(\377\277u\251(\377\2k\233%\377\10\13\3\377\223\0\0\0\377" \
- "\2\0\0\0\324\0\0\0\1\303\0\0\0\0\1\0\0\0\233\225\0\0\0\377\2\21\31\6" \
- "\377r\244'\377\377u\251(\377\277u\251(\377\2[\203\37\377\2\3\1\377\225" \
- "\0\0\0\377\1\0\0\0\220\231\0\0\0\0\2\0\0\0\2\0\0\0\314\227\0\0\0\377" \
- "\1:T\24\377\377u\251(\377\300u\251(\377\1""1G\21\377\224\0\0\0\377\1" \
- "\0\0\0b\304\0\0\0\0\1\0\0\0D\226\0\0\0\377\1C`\27\377\377u\251(\377\300" \
- "u\251(\377\1Dc\27\377\225\0\0\0\377\2\0\0\0\372\0\0\0(\230\0\0\0\0\1" \
- "\0\0\0b\227\0\0\0\377\2%5\15\377u\250(\377\377u\251(\377\277u\251(\377" \
- "\2c\217\"\377\1\2\0\377\223\0\0\0\377\2\0\0\0\373\0\0\0\17\303\0\0\0" \
- "\0\2\0\0\0\3\0\0\0\311\226\0\0\0\377\2\13\20\4\377p\242&\377\377u\251" \
- "(\377\300u\251(\377\1+>\17\377\225\0\0\0\377\1\0\0\0\275\227\0\0\0\0" \
- "\2\0\0\0\20\0\0\0\352\226\0\0\0\377\2\17\26\5\377m\236%\377\377u\251" \
- "(\377\300u\251(\377\1+>\17\377\225\0\0\0\377\1\0\0\0\220\303\0\0\0\0" \
- "\1\0\0\0o\230\0\0\0\377\1Ca\27\377\377u\251(\377\300u\251(\377\2n\237" \
- "&\377\16\24\5\377\225\0\0\0\377\1\0\0\0L\226\0\0\0\0\1\0\0\0\215\226" \
- "\0\0\0\377\2\1\1\0\377X\177\36\377\377u\251(\377\300u\251(\377\2d\220" \
- "\"\377\2\3\1\377\225\0\0\0\377\2\0\0\0\375\0\0\0:\301\0\0\0\0\2\0\0\0" \
- "\27\0\0\0\361\230\0\0\0\377\2\14\21\4\377r\245'\377\377u\251(\377\300" \
- "u\251(\377\2Z\202\37\377\1\1\0\377\224\0\0\0\377\2\0\0\0\324\0\0\0\3" \
- "\224\0\0\0\0\2\0\0\0!\0\0\0\370\226\0\0\0\377\1""6N\22\377\377u\251(" \
- "\377\301u\251(\377\1-A\17\377\227\0\0\0\377\2\0\0\0\313\0\0\0\1\300\0" \
- "\0\0\0\1\0\0\0\233\232\0\0\0\377\1Km\32\377\377u\251(\377\301u\251(\377" \
- "\1""2I\21\377\225\0\0\0\377\1\0\0\0b\224\0\0\0\0\1\0\0\0\244\226\0\0" \
- "\0\377\2\24\34\7\377r\244'\377\377u\251(\377\300u\251(\377\2j\231$\377" \
- "\3\5\1\377\230\0\0\0\377\1\0\0\0`\277\0\0\0\0\2\0\0\0-\0\0\0\374\232" \
- "\0\0\0\377\1\27!\10\377\377u\251(\377\301u\251(\377\2p\242&\377\21\31" \
- "\6\377\224\0\0\0\377\2\0\0\0\340\0\0\0\7\222\0\0\0\0\2\0\0\0.\0\0\0\375" \
- "\225\0\0\0\377\2\2\3\1\377^\210\40\377\377u\251(\377\301u\251(\377\1" \
- ";U\24\377\231\0\0\0\377\2\0\0\0\344\0\0\0\12\276\0\0\0\0\1\0\0\0\246" \
- "\234\0\0\0\377\1\\\205\40\377\377u\251(\377\301u\251(\377\2X\177\36\377" \
- "\1\1\0\377\224\0\0\0\377\1\0\0\0f\222\0\0\0\0\1\0\0\0\250\226\0\0\0\377" \
- "\1""5L\22\377\377u\251(\377\301u\251(\377\2t\247(\377\14\22\4\377\232" \
- "\0\0\0\377\1\0\0\0k\275\0\0\0\0\2\0\0\0\26\0\0\0\371\234\0\0\0\377\1" \
- "1F\21\377\377u\251(\377\302u\251(\377\1""5L\22\377\224\0\0\0\377\2\0" \
- "\0\0\342\0\0\0\7\220\0\0\0\0\2\0\0\0/\0\0\0\375\225\0\0\0\377\2\25\36" \
- "\7\377r\245'\377\377u\251(\377\301u\251(\377\1Ty\35\377\233\0\0\0\377" \
- "\1\0\0\0\323\275\0\0\0\0\1\0\0\0|\235\0\0\0\377\2\12\17\3\377s\246'\377" \
- "\377u\251(\377\301u\251(\377\2p\242&\377\20\27\5\377\224\0\0\0\377\1" \
- "\0\0\0l\220\0\0\0\0\1\0\0\0\256\225\0\0\0\377\2\1\1\0\377[\204\37\377" \
- "\377u\251(\377\302u\251(\377\1,\77\17\377\234\0\0\0\377\1\0\0\0@\274" \
- "\0\0\0\0\1\0\0\0\327\236\0\0\0\377\1Rw\34\377\377u\251(\377\302u\251" \
- "(\377\1U{\35\377\224\0\0\0\377\2\0\0\0\335\0\0\0\4\216\0\0\0\0\2\0\0" \
- "\0(\0\0\0\375\225\0\0\0\377\1""1F\21\377\377u\251(\377\302u\251(\377" \
- "\2o\241&\377\5\7\2\377\234\0\0\0\377\1\0\0\0\233\273\0\0\0\0\1\0\0\0" \
- "\35\237\0\0\0\377\1-@\17\377\377u\251(\377\303u\251(\377\1\"2\14\377" \
- "\224\0\0\0\377\1\0\0\0\\\216\0\0\0\0\1\0\0\0\237\225\0\0\0\377\2\10\14" \
- "\3\377l\234%\377\377u\251(\377\302u\251(\377\1Qu\34\377\235\0\0\0\377" \
- "\1\0\0\0\340\273\0\0\0\0\1\0\0\0Q\237\0\0\0\377\2\13\20\4\377u\250(\377" \
- "\377u\251(\377\302u\251(\377\2g\225#\377\5\7\2\377\223\0\0\0\377\2\0" \
- "\0\0\330\0\0\0\2\214\0\0\0\0\2\0\0\0$\0\0\0\374\225\0\0\0\377\1Gg\30" \
- "\377\377u\251(\377\303u\251(\377\1/D\20\377\236\0\0\0\377\1\0\0\0\25" \
- "\272\0\0\0\0\1\0\0\0t\240\0\0\0\377\1`\213!\377\252u\251(\377\4q\244" \
- "'\377_\211\40\377\\\205\40\377u\250(\377\377u\251(\377\225u\251(\377" \
- "\1""8R\23\377\224\0\0\0\377\1\0\0\0L\214\0\0\0\0\1\0\0\0\217\225\0\0" \
- "\0\377\2\26\40\10\377t\247(\377\377u\251(\377\225u\251(\377\3g\225#\377" \
- "X\177\36\377l\234%\377\253u\251(\377\1\17\26\5\377\236\0\0\0\377\1\0" \
- "\0\0:\272\0\0\0\0\1\0\0\0\202\240\0\0\0\377\1>Y\25\377\254u\251(\377" \
- "\5g\225#\377;U\24\3774L\22\377Z\202\37\377u\250(\377\377u\251(\377\222" \
- "u\251(\377\2q\244'\377\20\27\5\377\223\0\0\0\377\1\0\0\0\277\213\0\0" \
- "\0\0\2\0\0\0\20\0\0\0\363\224\0\0\0\377\2\1\1\0\377^\207\40\377\377u" \
- "\251(\377\223u\251(\377\4f\224#\377;U\24\377,\77\17\377V|\35\377\254" \
- "u\251(\377\1c\216\"\377\237\0\0\0\377\1\0\0\0H\272\0\0\0\0\1\0\0\0\206" \
- "\222\0\0\0\377\7\31$\11\3778R\23\377-A\17\377$4\14\377\32&\11\377\21" \
- "\30\6\377\6\11\2\377\206\0\0\0\377\2\12\16\3\377Ca\27\377\256u\251(\377" \
- "\5]\207\40\377\40.\13\377\26\37\7\377\77[\25\377h\226#\377\377u\251(" \
- "\377\221u\251(\377\1Nq\33\377\223\0\0\0\377\2\0\0\0\376\0\0\0-\212\0" \
- "\0\0\0\1\0\0\0o\225\0\0\0\377\1,\77\17\377\377u\251(\377\221u\251(\377" \
- "\6p\242&\377Km\32\377\"2\14\377\22\32\6\377Kl\32\377t\250(\377\255u\251" \
- "(\377\3^\210\40\377\22\33\6\377\1\1\0\377\205\0\0\0\377\7\4\6\1\377\15" \
- "\23\5\377\26\40\10\377!0\13\377+>\17\3774L\22\377,@\17\377\221\0\0\0" \
- "\377\1\0\0\0K\272\0\0\0\0\1\0\0\0s\222\0\0\0\377\2\10\13\3\377n\236%" \
- "\377\205u\251(\377\2s\246'\377j\231$\377\202e\222#\377\2l\234%\377o\240" \
- "&\377\262u\251(\377\6X\177\36\377\32&\11\377\1\1\0\377\34)\12\377Fe\30" \
- "\377n\236%\377\377u\251(\377\217u\251(\377\1\34(\11\377\223\0\0\0\377" \
- "\1\0\0\0\240\211\0\0\0\0\2\0\0\0\4\0\0\0\340\224\0\0\0\377\2\4\6\1\377" \
- "j\230$\377\377u\251(\377\216u\251(\377\7t\247(\377Sx\34\377);\16\377" \
- "\5\7\2\377\13\21\4\377Dc\27\377s\246'\377\261u\251(\377\6q\244'\377m" \
- "\236%\377g\224#\377e\222#\377h\226#\377p\242&\377\206u\251(\377\1%5\15" \
- "\377\221\0\0\0\377\1\0\0\0""7\272\0\0\0\0\1\0\0\0U\223\0\0\0\377\1""8" \
- "Q\23\377\277u\251(\377\7Qu\34\377\25\36\7\377\0\0\0\377\4\5\1\377(:\16" \
- "\377Sx\34\377s\246'\377\377u\251(\377\214u\251(\377\1V}\35\377\223\0" \
- "\0\0\377\2\0\0\0\366\0\0\0\20\210\0\0\0\0\1\0\0\0I\225\0\0\0\377\1""3" \
- "J\22\377\377u\251(\377\215u\251(\377\7`\213!\3775L\22\377\13\20\4\377" \
- "\0\0\0\377\10\14\3\377>Z\25\377p\242&\377\276u\251(\377\2[\204\37\377" \
- "\0\1\0\377\221\0\0\0\377\1\0\0\0\32\272\0\0\0\0\1\0\0\0#\223\0\0\0\377" \
- "\2\3\4\1\377d\220\"\377\300u\251(\377\2V|\35\377\25\36\7\377\202\0\0" \
- "\0\377\4\7\13\3\377/D\20\377Z\202\37\377u\250(\377\377u\251(\377\212" \
- "u\251(\377\1\36+\12\377\223\0\0\0\377\1\0\0\0m\210\0\0\0\0\1\0\0\0\256" \
- "\224\0\0\0\377\2\6\10\2\377l\234%\377\377u\251(\377\212u\251(\377\3f" \
- "\223#\377;U\24\377\22\32\6\377\202\0\0\0\377\3\7\13\3\377>Z\25\377p\242" \
- "&\377\277u\251(\377\2t\247(\377\27!\10\377\221\0\0\0\377\1\0\0\0\345" \
- "\273\0\0\0\0\2\0\0\0\2\0\0\0\347\223\0\0\0\377\1$4\14\377\301u\251(\377" \
- "\3s\246'\377Ec\30\377\13\20\4\377\203\0\0\0\377\3\26\40\10\377B_\26\377" \
- "k\232%\377\377u\251(\377\210u\251(\377\1V}\35\377\223\0\0\0\377\1\0\0" \
- "\0\313\207\0\0\0\0\2\0\0\0\24\0\0\0\371\224\0\0\0\377\1""3J\22\377\377" \
- "u\251(\377\210u\251(\377\4r\244'\377Nq\33\377#3\14\377\2\3\1\377\202" \
- "\0\0\0\377\3\3\4\1\3772H\21\377j\232$\377\301u\251(\377\1Hg\30\377\222" \
- "\0\0\0\377\1\0\0\0\253\274\0\0\0\0\1\0\0\0\225\224\0\0\0\377\1Or\33\377" \
- "\302u\251(\377\3p\242&\377<W\25\377\6\11\2\377\203\0\0\0\377\4\2\3\1" \
- "\377$4\14\377Rv\34\377t\247(\377\377u\251(\377\206u\251(\377\1\34(\12" \
- "\377\223\0\0\0\377\1\0\0\0""1\206\0\0\0\0\1\0\0\0s\224\0\0\0\377\2\4" \
- "\6\1\377j\231$\377\377u\251(\377\206u\251(\377\3_\212!\3772H\21\377\10" \
- "\14\3\377\203\0\0\0\377\3\1\1\0\377);\16\377e\222#\377\302u\251(\377" \
- "\2j\230$\377\11\15\3\377\222\0\0\0\377\1\0\0\0Z\274\0\0\0\0\1\0\0\0\77" \
- "\224\0\0\0\377\2\7\13\3\377h\226#\377\303u\251(\377\3o\241&\377;U\24" \
- "\377\4\6\1\377\204\0\0\0\377\3\7\13\3\377/D\20\377_\212!\377\377u\251" \
- "(\377\204u\251(\377\1Z\202\37\377\223\0\0\0\377\1\0\0\0\217\206\0\0\0" \
- "\0\1\0\0\0\321\224\0\0\0\377\1""6N\22\377\377u\251(\377\204u\251(\377" \
- "\3k\233%\377>Z\25\377\22\33\6\377\204\0\0\0\377\3\0\1\0\377'8\15\377" \
- "c\216\"\377\303u\251(\377\2u\250(\377\37,\13\377\222\0\0\0\377\2\0\0" \
- "\0\363\0\0\0\20\275\0\0\0\0\1\0\0\0\312\224\0\0\0\377\2\37-\13\377s\246" \
- "'\377\304u\251(\377\3f\223#\377*<\16\377\1\1\0\377\204\0\0\0\377\4\0" \
- "\1\0\377\36+\12\377Km\32\377q\244'\377\377u\251(\377\202u\251(\377\1" \
- "\34(\12\377\222\0\0\0\377\2\0\0\0\355\0\0\0\7\204\0\0\0\0\1\0\0\0""7" \
- "\224\0\0\0\377\2\5\7\2\377j\231$\377\377u\251(\377\5u\251(\377u\250(" \
- "\377Y\201\36\377+>\17\377\5\7\2\377\205\0\0\0\377\2\27\"\10\377V|\35" \
- "\377\305u\251(\377\1A]\26\377\223\0\0\0\377\1\0\0\0\220\276\0\0\0\0\1" \
- "\0\0\0[\225\0\0\0\377\1""3J\21\377\306u\251(\377\2_\211\40\377!0\13\377" \
- "\206\0\0\0\377\3\10\13\3\3772H\21\377_\212!\377\377u\251(\377\1U{\35" \
- "\377\223\0\0\0\377\1\0\0\0S\204\0\0\0\0\1\0\0\0\225\224\0\0\0\377\1""2" \
- "H\21\377\377u\251(\377\3j\232$\377\77[\25\377\22\32\6\377\206\0\0\0\377" \
- "\3\21\30\6\377Mo\32\377u\250(\377\305u\251(\377\2Tz\35\377\1\2\0\377" \
- "\222\0\0\0\377\2\0\0\0\372\0\0\0#\276\0\0\0\0\2\0\0\0\2\0\0\0\321\225" \
- "\0\0\0\377\1=X\25\377\307u\251(\377\2\\\205\37\377\35*\12\377\207\0\0" \
- "\0\377\3\23\33\6\377>Z\25\377m\236%\377\375u\251(\377\1\26\40\10\377" \
- "\222\0\0\0\377\1\0\0\0\263\203\0\0\0\0\2\0\0\0\10\0\0\0\356\223\0\0\0" \
- "\377\2\2\3\1\377g\224#\377\374u\251(\377\4t\247(\377Nq\33\377\37-\13" \
- "\377\1\1\0\377\206\0\0\0\377\3\17\26\5\377Nq\33\377t\250(\377\306u\251" \
- "(\377\2Y\201\37\377\5\7\2\377\223\0\0\0\377\1\0\0\0\227\300\0\0\0\0\1" \
- "\0\0\0J\225\0\0\0\377\2\0\1\0\377Ii\31\377\307u\251(\377\3u\250(\377" \
- "Nq\33\377\21\31\6\377\207\0\0\0\377\3\10\14\3\3774L\22\377d\220\"\377" \
- "\373u\251(\377\1Hg\30\377\222\0\0\0\377\2\0\0\0\371\0\0\0\17\202\0\0" \
- "\0\0\1\0\0\0L\224\0\0\0\377\1&6\15\377\373u\251(\377\3n\236%\377B_\27" \
- "\377\23\33\6\377\207\0\0\0\377\3\6\11\2\377;U\24\377o\241&\377\307u\251" \
- "(\377\2c\216\"\377\12\16\3\377\223\0\0\0\377\2\0\0\0\364\0\0\0\32\301" \
- "\0\0\0\0\1\0\0\0\246\225\0\0\0\377\2\2\3\1\377Pt\33\377\310u\251(\377" \
- "\3s\246'\377Ca\27\377\12\16\3\377\207\0\0\0\377\4\0\1\0\377\37,\13\377" \
- "Nq\33\377s\246'\377\370u\251(\377\2q\244'\377\12\17\3\377\222\0\0\0\377" \
- "\1\0\0\0]\202\0\0\0\0\1\0\0\0\237\224\0\0\0\377\1Y\201\37\377\371u\251" \
- "(\377\3]\206\40\377-A\17\377\5\7\2\377\207\0\0\0\377\3\2\3\1\3770E\20" \
- "\377j\232$\377\310u\251(\377\2g\225#\377\15\23\5\377\224\0\0\0\377\1" \
- "\0\0\0l\302\0\0\0\0\2\0\0\0\24\0\0\0\352\225\0\0\0\377\2\3\5\1\377Ps" \
- "\33\377\311u\251(\377\3n\237&\3777P\23\377\4\6\1\377\210\0\0\0\377\3" \
- "\13\21\4\3779R\23\377h\226$\377\367u\251(\377\1""5M\22\377\222\0\0\0" \
- "\377\4\0\0\0\256\0\0\0\0\0\0\0\4\0\0\0\354\223\0\0\0\377\1\24\34\7\377" \
- "\367u\251(\377\3p\242&\377Hg\30\377\27\"\10\377\211\0\0\0\377\2$4\14" \
- "\377c\216\"\377\311u\251(\377\2e\222#\377\21\30\6\377\224\0\0\0\377\2" \
- "\0\0\0\303\0\0\0\2\303\0\0\0\0\1\0\0\0Z\226\0\0\0\377\2\0\1\0\377;U\24" \
- "\377\312u\251(\377\3l\234%\3773J\21\377\2\3\1\377\210\0\0\0\377\4\1\1" \
- "\0\377\37-\13\377Rw\34\377u\250(\377\364u\251(\377\2d\220\"\377\0\1\0" \
- "\377\221\0\0\0\377\3\0\0\0\363\0\0\0\10\0\0\0>\224\0\0\0\377\1B_\27\377" \
- "\365u\251(\377\3b\215!\377/D\20\377\6\11\2\377\211\0\0\0\377\2\35*\12" \
- "\377]\206\40\377\312u\251(\377\2Y\201\36\377\10\14\3\377\224\0\0\0\377" \
- "\2\0\0\0\365\0\0\0*\305\0\0\0\0\1\0\0\0\224\227\0\0\0\377\2""6N\22\377" \
- "u\250(\377\312u\251(\377\2_\211\40\377\37-\13\377\212\0\0\0\377\3\26" \
- "\40\10\377Hi\31\377q\244'\377\363u\251(\377\1\33&\11\377\222\0\0\0\377" \
- "\2\0\0\0P\0\0\0\221\223\0\0\0\377\2\2\3\1\377k\232%\377\363u\251(\377" \
- "\3X\177\36\377&6\15\377\1\2\0\377\211\0\0\0\377\3\17\26\5\377Mo\32\377" \
- "u\250(\377\312u\251(\377\2Ty\35\377\6\10\2\377\225\0\0\0\377\1\0\0\0" \
- "V\306\0\0\0\0\2\0\0\0\11\0\0\0\331\227\0\0\0\377\2&7\15\377p\242&\377" \
- "\313u\251(\377\2Ty\35\377\24\35\7\377\212\0\0\0\377\3\12\16\3\3778Q\23" \
- "\377h\226$\377\361u\251(\377\1Gg\30\377\222\0\0\0\377\2\0\0\0\236\0\0" \
- "\0\337\223\0\0\0\377\1%5\15\377\361u\251(\377\3q\243'\377Gg\30\377\25" \
- "\36\7\377\212\0\0\0\377\3\10\13\3\377@]\26\377r\244'\377\313u\251(\377" \
- "\2Ca\27\377\2\3\1\377\225\0\0\0\377\1\0\0\0\251\307\0\0\0\0\2\0\0\0\7" \
- "\0\0\0\353\230\0\0\0\377\2\27\"\10\377i\227$\377\313u\251(\377\3t\247" \
- "(\377Hg\30\377\14\21\4\377\212\0\0\0\377\3\2\3\1\377'9\15\377Z\203\37" \
- "\377\357u\251(\377\2m\235%\377\2\3\1\377\221\0\0\0\377\1\0\0\0\370\224" \
- "\0\0\0\377\1Mo\32\377\357u\251(\377\3h\226$\3777O\23\377\11\15\3\377" \
- "\212\0\0\0\377\3\3\5\1\3774L\22\377m\235%\377\313u\251(\377\2s\246'\377" \
- "1F\21\377\227\0\0\0\377\1\0\0\0\270\307\0\0\0\0\1\0\0\0Z\232\0\0\0\377" \
- "\2\14\22\4\377^\207\40\377\314u\251(\377\3p\242&\3779R\23\377\4\6\1\377" \
- "\213\0\0\0\377\3\34(\11\377Rv\34\377u\250(\377\355u\251(\377\1!0\13\377" \
- "\245\0\0\0\377\2\5\7\2\377p\242&\377\355u\251(\377\3a\215!\377,\77\17" \
- "\377\3\4\1\377\213\0\0\0\377\2%6\15\377e\222#\377\314u\251(\377\2n\236" \
- "%\377\40.\13\377\230\0\0\0\377\2\0\0\0\376\0\0\0#\306\0\0\0\0\1\0\0\0" \
- "\273\233\0\0\0\377\2\3\5\1\377Jk\31\377\315u\251(\377\3j\230$\377/D\20" \
- "\377\1\1\0\377\213\0\0\0\377\3\17\26\5\377C`\27\377p\242&\377\353u\251" \
- "(\377\1Kl\32\377\245\0\0\0\377\1(:\16\377\353u\251(\377\3u\250(\377R" \
- "w\34\377\34(\11\377\214\0\0\0\377\2\32&\11\377]\206\40\377\315u\251(" \
- "\377\2b\215!\377\20\27\5\377\232\0\0\0\377\1\0\0\0\177\305\0\0\0\0\2" \
- "\0\0\0\15\0\0\0\373\234\0\0\0\377\2\0\1\0\377A^\26\377\316u\251(\377" \
- "\2X\177\36\377\26\40\10\377\214\0\0\0\377\3\15\23\5\377A^\26\377o\241" \
- "&\377\351u\251(\377\2m\235%\377\2\3\1\377\244\0\0\0\377\1Ln\32\377\351" \
- "u\251(\377\3u\250(\377Rv\34\377\33'\11\377\214\0\0\0\377\3\11\15\3\377" \
- "Dc\27\377s\246'\377\315u\251(\377\2]\206\40\377\10\14\3\377\233\0\0\0" \
- "\377\1\0\0\0\314\305\0\0\0\0\1\0\0\0\77\236\0\0\0\377\2\0\1\0\377Ca\27" \
- "\377\316u\251(\377\3t\247(\377Fe\30\377\12\16\3\377\214\0\0\0\377\3\10" \
- "\13\3\3779R\23\377k\232%\377\350u\251(\377\1\34(\11\377\243\0\0\0\377" \
- "\2\1\2\0\377l\234%\377\347u\251(\377\3r\245'\377Ii\31\377\23\34\7\377" \
- "\214\0\0\0\377\3\2\3\1\3772H\21\377m\235%\377\316u\251(\377\2_\211\40" \
- "\377\10\13\3\377\234\0\0\0\377\2\0\0\0\373\0\0\0\10\304\0\0\0\0\1\0\0" \
- "\0d\237\0\0\0\377\2\0\1\0\377Jk\31\377\317u\251(\377\3n\236%\3774L\22" \
- "\377\2\3\1\377\214\0\0\0\377\3\4\6\1\3772H\21\377h\226#\377\346u\251" \
- "(\377\1=X\25\377\243\0\0\0\377\1\32&\11\377\346u\251(\377\3q\243'\377" \
- "Ca\27\377\15\23\5\377\215\0\0\0\377\2\40.\13\377a\215!\377\317u\251(" \
- "\377\2e\222#\377\12\16\3\377\236\0\0\0\377\1\0\0\0*\304\0\0\0\0\1\0\0" \
- "\0y\240\0\0\0\377\2\4\6\1\377d\220\"\377\320u\251(\377\2c\217\"\377\"" \
- "1\14\377\215\0\0\0\377\3\3\4\1\377-B\20\377d\220\"\377\344u\251(\377" \
- "\1_\211\40\377\243\0\0\0\377\1;U\24\377\344u\251(\377\3o\240&\377>Y\25" \
- "\377\12\17\3\377\215\0\0\0\377\2\21\30\6\377Qu\34\377\320u\251(\377\2" \
- "t\250(\377\27\"\10\377\237\0\0\0\377\1\0\0\0>\304\0\0\0\0\1\0\0\0\200" \
- "\222\0\0\0\377\2\15\23\4\377\2\3\1\377\215\0\0\0\377\1@]\26\377\322u" \
- "\251(\377\2Sw\34\377\20\27\5\377\215\0\0\0\377\3\1\2\0\377(:\16\377`" \
- "\213!\377\342u\251(\377\2t\250(\377\10\14\3\377\242\0\0\0\377\1Y\200" \
- "\36\377\342u\251(\377\3l\234%\3779S\24\377\7\13\3\377\215\0\0\0\377\3" \
- "\5\7\2\377=Y\25\377r\244'\377\321u\251(\377\2`\213!\377\4\6\1\377\215" \
- "\0\0\0\377\1\17\26\5\377\221\0\0\0\377\1\0\0\0D\304\0\0\0\0\1\0\0\0s" \
- "\222\0\0\0\377\5\34(\11\377n\236%\377Nq\33\377,@\17\377\13\17\4\377\207" \
- "\0\0\0\377\3\0\1\0\377\35*\12\377Ty\35\377\324u\251(\377\3q\244'\377" \
- ";U\24\377\4\6\1\377\215\0\0\0\377\3\0\1\0\377$4\14\377\\\205\37\377\341" \
- "u\251(\377\1#2\14\377\241\0\0\0\377\2\3\5\1\377q\244'\377\340u\251(\377" \
- "\3i\230$\3774L\22\377\5\7\2\377\216\0\0\0\377\2&7\15\377g\225#\377\324" \
- "u\251(\377\3e\222#\377+>\17\377\4\6\1\377\207\0\0\0\377\5\4\6\1\377!" \
- "0\13\377Db\27\377e\222#\377@\\\26\377\221\0\0\0\377\1\0\0\0""7\304\0" \
- "\0\0\0\1\0\0\0U\223\0\0\0\377\1Ps\33\377\203u\251(\377\10f\224#\377P" \
- "s\33\377B_\26\3778P\23\3777O\23\3779S\24\377Mo\32\377e\222#\377\330u" \
- "\251(\377\2f\223#\377$4\14\377\217\0\0\0\377\2\37-\13\377Z\202\37\377" \
- "\337u\251(\377\1>Y\25\377\241\0\0\0\377\1\33'\11\377\337u\251(\377\3" \
- "h\226$\3770F\20\377\3\5\1\377\216\0\0\0\377\2\22\32\6\377U{\35\377\330" \
- "u\251(\377\3m\236%\377Sx\34\377>Y\25\377\2027O\23\377\4>Y\25\377Kl\32" \
- "\377_\212!\377s\246'\377\202u\251(\377\2l\234%\377\7\13\3\377\221\0\0" \
- "\0\377\1\0\0\0\32\304\0\0\0\0\1\0\0\0!\223\0\0\0\377\2\21\31\6\377s\246" \
- "'\377\344u\251(\377\2Sx\34\377\20\27\5\377\217\0\0\0\377\2!/\13\377\\" \
- "\205\40\377\335u\251(\377\1X\177\36\377\241\0\0\0\377\1""5M\22\377\335" \
- "u\251(\377\3j\230$\3772I\21\377\4\5\1\377\216\0\0\0\377\3\5\7\2\377>" \
- "Y\25\377r\245'\377\344u\251(\377\1""2I\21\377\221\0\0\0\377\1\0\0\0\345" \
- "\306\0\0\0\0\1\0\0\0\354\223\0\0\0\377\1=Y\25\377\345u\251(\377\3q\244" \
- "'\377<V\24\377\4\6\1\377\217\0\0\0\377\2#2\14\377^\210\40\377\333u\251" \
- "(\377\1l\234%\377\241\0\0\0\377\1Jk\31\377\333u\251(\377\3k\232%\377" \
- "5L\22\377\4\6\1\377\217\0\0\0\377\2'8\15\377h\226#\377\345u\251(\377" \
- "\2^\210\40\377\2\3\1\377\221\0\0\0\377\1\0\0\0\262\306\0\0\0\0\1\0\0" \
- "\0\264\223\0\0\0\377\2\2\3\1\377Z\202\37\377\346u\251(\377\3j\230$\377" \
- "+>\17\377\0\1\0\377\217\0\0\0\377\2\37-\13\377\\\205\40\377\332u\251" \
- "(\377\1\14\22\4\377\240\0\0\0\377\1_\211\40\377\331u\251(\377\3i\230" \
- "$\377/D\20\377\3\4\1\377\217\0\0\0\377\2\25\36\7\377Y\201\36\377\346" \
- "u\251(\377\2o\240&\377\20\27\5\377\222\0\0\0\377\1\0\0\0z\306\0\0\0\0" \
- "\1\0\0\0T\224\0\0\0\377\2\20\27\5\377o\240&\377\347u\251(\377\2Rw\34" \
- "\377\17\25\5\377\217\0\0\0\377\3\1\1\0\377'9\15\377b\215!\377\330u\251" \
- "(\377\1\40.\13\377\237\0\0\0\377\2\1\2\0\377q\243'\377\327u\251(\377" \
- "\3n\236%\3779S\24\377\6\11\2\377\217\0\0\0\377\3\4\6\1\377=X\25\377r" \
- "\245'\377\347u\251(\377\1-A\17\377\222\0\0\0\377\2\0\0\0\374\0\0\0\33" \
- "\306\0\0\0\0\2\0\0\0\6\0\0\0\353\224\0\0\0\377\2(:\16\377u\250(\377\347" \
- "u\251(\377\3p\242&\3777P\23\377\2\3\1\377\217\0\0\0\377\3\1\2\0\377-" \
- "B\20\377h\226$\377\326u\251(\377\1""0F\20\377\237\0\0\0\377\1\15\23\5" \
- "\377\326u\251(\377\3r\244'\377@]\26\377\10\14\3\377\220\0\0\0\377\2\"" \
- "1\14\377e\222#\377\350u\251(\377\1Km\32\377\223\0\0\0\377\1\0\0\0\267" \
- "\310\0\0\0\0\1\0\0\0\225\225\0\0\0\377\1""6N\23\377\351u\251(\377\2e" \
- "\222#\377!0\13\377\220\0\0\0\377\3\2\3\1\377/D\20\377j\232$\377\324u" \
- "\251(\377\1=X\25\377\237\0\0\0\377\1\33&\11\377\324u\251(\377\3s\246" \
- "'\377C`\27\377\12\16\3\377\220\0\0\0\377\2\17\26\5\377Sw\34\377\351u" \
- "\251(\377\2U{\35\377\2\3\1\377\223\0\0\0\377\1\0\0\0X\310\0\0\0\0\2\0" \
- "\0\0\33\0\0\0\365\225\0\0\0\377\1Db\27\377\352u\251(\377\2Rw\34\377\15" \
- "\23\5\377\220\0\0\0\377\3\6\10\2\3777O\23\377o\240&\377\322u\251(\377" \
- "\1Ij\31\377\237\0\0\0\377\1'8\15\377\322u\251(\377\3u\250(\377Nq\33\377" \
- "\22\32\6\377\220\0\0\0\377\3\3\5\1\377;U\24\377q\243'\377\351u\251(\377" \
- "\2`\213!\377\6\11\2\377\223\0\0\0\377\2\0\0\0\323\0\0\0\3\311\0\0\0\0" \
- "\1\0\0\0\206\225\0\0\0\377\2\2\3\1\377Tz\35\377\352u\251(\377\3m\235" \
- "%\377.B\20\377\0\1\0\377\220\0\0\0\377\3\16\25\5\377Kl\32\377t\250(\377" \
- "\320u\251(\377\1U{\35\377\237\0\0\0\377\1""3J\21\377\321u\251(\377\2" \
- "]\206\40\377\36+\12\377\221\0\0\0\377\2\31$\11\377_\211\40\377\352u\251" \
- "(\377\2j\231$\377\20\27\5\377\224\0\0\0\377\1\0\0\0K\312\0\0\0\0\2\0" \
- "\0\0\15\0\0\0\351\225\0\0\0\377\2\4\6\1\377V}\35\377\353u\251(\377\2" \
- "Z\202\37\377\25\36\7\377\221\0\0\0\377\2\26\40\10\377U{\35\377\317u\251" \
- "(\377\1[\204\37\377\237\0\0\0\377\1""9S\24\377\317u\251(\377\3e\222#" \
- "\377'9\15\377\0\1\0\377\220\0\0\0\377\3\7\13\3\377Ed\30\377t\250(\377" \
- "\352u\251(\377\2j\232$\377\23\34\7\377\224\0\0\0\377\1\0\0\0\274\314" \
- "\0\0\0\0\1\0\0\0l\226\0\0\0\377\2\3\4\1\377Sw\34\377\353u\251(\377\3" \
- "t\250(\377Fe\30\377\6\10\2\377\221\0\0\0\377\2\36,\12\377`\213!\377\315" \
- "u\251(\377\1`\213!\377\237\0\0\0\377\1=Y\25\377\315u\251(\377\3l\234" \
- "%\377/D\20\377\2\3\1\377\221\0\0\0\377\2/D\20\377m\236%\377\353u\251" \
- "(\377\2i\230$\377\21\31\6\377\224\0\0\0\377\2\0\0\0\373\0\0\0""4\315" \
- "\0\0\0\0\1\0\0\0\262\226\0\0\0\377\2\5\7\2\377W~\36\377\354u\251(\377" \
- "\2c\217\"\377\34(\12\377\221\0\0\0\377\3\3\4\1\3775M\22\377n\237&\377" \
- "\313u\251(\377\1d\221\"\377\237\0\0\0\377\1B_\27\377\313u\251(\377\3" \
- "t\250(\377Hi\31\377\13\21\4\377\221\0\0\0\377\2\14\21\4\377Pt\33\377" \
- "\354u\251(\377\2k\232%\377\25\36\7\377\225\0\0\0\377\1\0\0\0y\316\0\0" \
- "\0\0\2\0\0\0\25\0\0\0\347\226\0\0\0\377\2\4\5\1\377Rv\34\377\354u\251" \
- "(\377\3u\250(\377Ed\30\377\7\12\2\377\221\0\0\0\377\3\12\17\3\377Fe\30" \
- "\377t\247(\377\311u\251(\377\1g\224#\377\237\0\0\0\377\1Db\27\377\312" \
- "u\251(\377\2Z\202\37\377\30\"\10\377\221\0\0\0\377\3\0\1\0\377/D\20\377" \
- "n\237&\377\354u\251(\377\2g\225#\377\21\31\6\377\225\0\0\0\377\2\0\0" \
- "\0\277\0\0\0\2\317\0\0\0\0\2\0\0\0H\0\0\0\376\226\0\0\0\377\2\1\2\0\377" \
- "Gf\30\377\355u\251(\377\2k\232%\377+>\17\377\222\0\0\0\377\2\21\31\6" \
- "\377Rw\34\377\310u\251(\377\1b\216\"\377\237\0\0\0\377\1@\\\26\377\310" \
- "u\251(\377\2b\215!\377\37-\13\377\222\0\0\0\377\2\27!\10\377_\211\40" \
- "\377\355u\251(\377\2_\212!\377\13\20\4\377\225\0\0\0\377\2\0\0\0\356" \
- "\0\0\0\34\321\0\0\0\0\1\0\0\0\217\227\0\0\0\377\2\1\1\0\377Db\27\377" \
- "\356u\251(\377\2Nq\33\377\13\20\4\377\222\0\0\0\377\2&7\15\377g\224#" \
- "\377\306u\251(\377\1^\207\40\377\237\0\0\0\377\1<V\24\377\306u\251(\377" \
- "\3q\243'\377:T\24\377\4\6\1\377\221\0\0\0\377\3\2\3\1\3778Q\23\377q\244" \
- "'\377\355u\251(\377\2_\211\40\377\12\17\3\377\225\0\0\0\377\2\0\0\0\376" \
- "\0\0\0U\322\0\0\0\0\2\0\0\0\2\0\0\0\260\230\0\0\0\377\1=W\25\377\356" \
- "u\251(\377\2m\236%\377,\77\17\377\222\0\0\0\377\3\5\7\2\377=W\25\377" \
- "r\244'\377\304u\251(\377\1Y\201\36\377\237\0\0\0\377\1""7P\23\377\305" \
- "u\251(\377\2Rv\34\377\17\26\5\377\222\0\0\0\377\2\26\40\10\377`\213!" \
- "\377\356u\251(\377\2Y\201\36\377\7\12\2\377\226\0\0\0\377\1\0\0\0w\324" \
- "\0\0\0\0\2\0\0\0\14\0\0\0\320\230\0\0\0\377\2""0E\20\377t\250(\377\356" \
- "u\251(\377\2U{\35\377\16\24\5\377\222\0\0\0\377\2\14\22\4\377Jk\31\377" \
- "\303u\251(\377\1Np\33\377\237\0\0\0\377\1,\77\17\377\303u\251(\377\2" \
- "a\215!\377\35*\12\377\222\0\0\0\377\3\3\5\1\377C`\27\377t\250(\377\356" \
- "u\251(\377\2Nq\33\377\3\4\1\377\226\0\0\0\377\1\0\0\0\233\326\0\0\0\0" \
- "\2\0\0\0\"\0\0\0\354\230\0\0\0\377\2-A\17\377s\246'\377\356u\251(\377" \
- "\2l\234%\377(:\16\377\223\0\0\0\377\2&6\15\377g\225#\377\301u\251(\377" \
- "\1@]\26\377\237\0\0\0\377\1\36+\12\377\301u\251(\377\3q\244'\377:T\24" \
- "\377\4\5\1\377\222\0\0\0\377\2\24\34\7\377^\207\40\377\357u\251(\377" \
- "\2Nq\33\377\3\4\1\377\226\0\0\0\377\2\0\0\0\314\0\0\0\11\327\0\0\0\0" \
- "\1\0\0\0\326\231\0\0\0\377\2\37,\13\377o\240&\377\357u\251(\377\2Ty\35" \
- "\377\14\22\4\377\222\0\0\0\377\3\2\3\1\3773J\21\377o\241&\377\277u\251" \
- "(\377\1""2I\21\377\237\0\0\0\377\1\20\27\5\377\300u\251(\377\2Jk\31\377" \
- "\14\21\4\377\222\0\0\0\377\3\3\4\1\377>Z\25\377s\246'\377\357u\251(\377" \
- "\2C`\27\377\0\1\0\377\227\0\0\0\377\1\0\0\0\234\327\0\0\0\0\2\0\0\0\11" \
- "\0\0\0\373\232\0\0\0\377\2\34(\12\377n\236%\377\357u\251(\377\2j\232" \
- "$\377%6\15\377\223\0\0\0\377\2\22\32\6\377V}\35\377\276u\251(\377\1\"" \
- "1\14\377\237\0\0\0\377\2\3\4\1\377r\244'\377\275u\251(\377\2g\224#\377" \
- "#3\14\377\223\0\0\0\377\2\21\31\6\377[\203\37\377\360u\251(\377\2Ca\27" \
- "\377\0\1\0\377\230\0\0\0\377\1\0\0\0\311\327\0\0\0\0\1\0\0\0+\234\0\0" \
- "\0\377\2\26\40\10\377l\234%\377\360u\251(\377\2Kl\32\377\10\13\3\377" \
- "\222\0\0\0\377\3\0\1\0\377,\77\17\377l\234%\377\274u\251(\377\1\12\16" \
- "\3\377\240\0\0\0\377\1\\\205\40\377\273u\251(\377\3t\247(\377B_\26\377" \
- "\6\10\2\377\222\0\0\0\377\3\0\1\0\3772I\21\377p\242&\377\360u\251(\377" \
- "\1>Y\25\377\232\0\0\0\377\1\0\0\0\356\327\0\0\0\0\1\0\0\0E\235\0\0\0" \
- "\377\2\22\32\6\377i\230$\377\360u\251(\377\2k\232%\377$4\14\377\223\0" \
- "\0\0\377\3\7\13\3\377C`\27\377t\250(\377\271u\251(\377\1e\222#\377\241" \
- "\0\0\0\377\1C`\27\377\272u\251(\377\2\\\205\37\377\25\36\7\377\223\0" \
- "\0\0\377\2\21\30\6\377[\204\37\377\360u\251(\377\2u\250(\3771G\21\377" \
- "\234\0\0\0\377\1\0\0\0\12\326\0\0\0\0\1\0\0\0V\236\0\0\0\377\2\25\36" \
- "\7\377k\233%\377\360u\251(\377\3u\250(\377B_\26\377\4\5\1\377\223\0\0" \
- "\0\377\2!0\13\377f\224#\377\270u\251(\377\1Mo\32\377\241\0\0\0\377\1" \
- "*=\16\377\270u\251(\377\3q\243'\3778P\23\377\2\3\1\377\223\0\0\0\377" \
- "\2(:\16\377m\236%\377\360u\251(\377\2u\250(\3772I\21\377\235\0\0\0\377" \
- "\1\0\0\0\32\326\0\0\0\0\1\0\0\0]\235\0\0\0\377\3\14\21\4\377Ca\27\377" \
- "r\245'\377\362u\251(\377\2a\215!\377\26\40\10\377\223\0\0\0\377\3\5\7" \
- "\2\377A^\26\377t\247(\377\266u\251(\377\1*=\16\377\241\0\0\0\377\2\11" \
- "\15\3\377t\247(\377\266u\251(\377\2W~\36\377\21\31\6\377\223\0\0\0\377" \
- "\2\7\13\3\377Ln\32\377\363u\251(\377\2V}\35\377\32%\11\377\234\0\0\0" \
- "\377\1\0\0\0\40\326\0\0\0\0\1\0\0\0V\222\0\0\0\377\5""2I\21\377Lm\32" \
- "\377Ca\27\377:T\24\3772H\21\377\202/D\20\377\5""6N\22\3777O\23\377Fe" \
- "\30\377^\207\40\377t\250(\377\365u\251(\377\3r\245'\3776N\23\377\1\1" \
- "\0\377\223\0\0\0\377\2\30\"\10\377_\212!\377\264u\251(\377\2s\246'\377" \
- "\10\13\3\377\242\0\0\0\377\1W~\36\377\264u\251(\377\3m\236%\377-A\17" \
- "\377\0\1\0\377\223\0\0\0\377\2\36,\12\377h\226#\377\366u\251(\377\5g" \
- "\224#\377Mo\32\3779S\24\3777O\23\3771F\21\377\202/D\20\377\5""8Q\23\377" \
- "A]\26\377Ij\31\377Fe\30\377\5\7\2\377\220\0\0\0\377\1\0\0\0\31\326\0" \
- "\0\0\0\1\0\0\0F\222\0\0\0\377\2\3\5\1\377Sw\34\377\377u\251(\377\202" \
- "u\251(\377\2Y\200\36\377\16\25\5\377\223\0\0\0\377\3\2\3\1\377;U\24\377" \
- "s\246'\377\262u\251(\377\1U{\35\377\243\0\0\0\377\1""2H\21\377\263u\251" \
- "(\377\2Sx\34\377\14\21\4\377\223\0\0\0\377\3\4\5\1\377A]\26\377t\250" \
- "(\377\377u\251(\377\3u\251(\377i\230$\377\21\31\6\377\221\0\0\0\377\1" \
- "\0\0\0\12\326\0\0\0\0\1\0\0\0%\223\0\0\0\377\2\3\5\1\377Sw\34\377\377" \
- "u\251(\377\202u\251(\377\2n\237&\377(:\16\377\224\0\0\0\377\2\27\"\10" \
- "\377a\214!\377\261u\251(\377\1);\16\377\243\0\0\0\377\2\11\15\3\377q" \
- "\244'\377\260u\251(\377\2n\237&\377-A\17\377\224\0\0\0\377\2\23\33\6" \
- "\377`\213!\377\377u\251(\377\202u\251(\377\2i\230$\377\21\31\6\377\221" \
- "\0\0\0\377\1\0\0\0\350\327\0\0\0\0\2\0\0\0\5\0\0\0\370\223\0\0\0\377" \
- "\2\1\2\0\377Mo\32\377\377u\251(\377\203u\251(\377\2Jk\31\377\6\10\2\377" \
- "\223\0\0\0\377\3\2\3\1\3777O\23\377r\245'\377\256u\251(\377\2h\226#\377" \
- "\2\3\1\377\244\0\0\0\377\1Gf\30\377\257u\251(\377\2Pt\33\377\13\17\4" \
- "\377\224\0\0\0\377\2""3J\21\377r\244'\377\377u\251(\377\202u\251(\377" \
- "\2f\223#\377\16\24\5\377\222\0\0\0\377\1\0\0\0\301\330\0\0\0\0\1\0\0" \
- "\0\302\224\0\0\0\377\2\1\2\0\377Mo\32\377\377u\251(\377\203u\251(\377" \
- "\2d\220\"\377\26\40\10\377\224\0\0\0\377\2\25\36\7\377_\211\40\377\255" \
- "u\251(\377\1""8P\23\377\245\0\0\0\377\2\24\34\7\377u\250(\377\254u\251" \
- "(\377\2m\235%\377'8\15\377\224\0\0\0\377\2\10\13\3\377Pt\33\377\377u" \
- "\251(\377\203u\251(\377\2f\223#\377\16\24\5\377\223\0\0\0\377\1\0\0\0" \
- "\206\330\0\0\0\0\1\0\0\0\200\225\0\0\0\377\2\3\5\1\377Sw\34\377\377u" \
- "\251(\377\203u\251(\377\2p\242&\377,@\17\377\224\0\0\0\377\3\4\6\1\377" \
- "A^\26\377t\250(\377\252u\251(\377\2n\237&\377\11\15\3\377\246\0\0\0\377" \
- "\1Tz\35\377\253u\251(\377\2X\177\36\377\17\26\5\377\224\0\0\0\377\2\26" \
- "\40\10\377c\217\"\377\377u\251(\377\203u\251(\377\2i\227$\377\21\31\6" \
- "\377\224\0\0\0\377\1\0\0\0D\330\0\0\0\0\1\0\0\0)\226\0\0\0\377\2\2\3" \
- "\1\377Hi\31\377\377u\251(\377\204u\251(\377\2Jk\31\377\6\10\2\377\224" \
- "\0\0\0\377\2\34)\12\377g\224#\377\251u\251(\377\1""7O\23\377\247\0\0" \
- "\0\377\2\26\37\7\377t\250(\377\250u\251(\377\3r\244'\3774K\22\377\1\1" \
- "\0\377\224\0\0\0\377\2""0F\20\377q\244'\377\377u\251(\377\203u\251(\377" \
- "\2a\214!\377\16\24\5\377\224\0\0\0\377\2\0\0\0\350\0\0\0\3\331\0\0\0" \
- "\0\1\0\0\0\275\227\0\0\0\377\2:T\24\377u\250(\377\377u\251(\377\203u" \
- "\251(\377\2c\217\"\377\25\36\7\377\224\0\0\0\377\2\7\13\3\377Mo\32\377" \
- "\247u\251(\377\2h\226#\377\4\6\1\377\250\0\0\0\377\1Ii\31\377\247u\251" \
- "(\377\2b\215!\377\26\37\7\377\224\0\0\0\377\2\6\11\2\377Nq\33\377\377" \
- "u\251(\377\204u\251(\377\2W}\36\377\7\13\3\377\225\0\0\0\377\1\0\0\0" \
- "\202\332\0\0\0\0\1\0\0\0L\230\0\0\0\377\2,\77\17\377s\246'\377\377u\251" \
- "(\377\203u\251(\377\2p\242&\377*<\16\377\225\0\0\0\377\2,\77\17\377o" \
- "\240&\377\245u\251(\377\1'8\15\377\251\0\0\0\377\2\14\21\4\377m\236%" \
- "\377\244u\251(\377\3u\250(\377Ec\30\377\4\6\1\377\224\0\0\0\377\2\24" \
- "\34\7\377c\217\"\377\377u\251(\377\204u\251(\377\2Jk\31\377\3\4\1\377" \
- "\225\0\0\0\377\2\0\0\0\366\0\0\0\34\333\0\0\0\0\1\0\0\0\264\230\0\0\0" \
- "\377\2\32&\11\377k\233%\377\377u\251(\377\204u\251(\377\2Jk\31\377\5" \
- "\7\2\377\224\0\0\0\377\2\15\23\5\377X\177\36\377\243u\251(\377\1Hh\31" \
- "\377\253\0\0\0\377\1$4\14\377\243u\251(\377\2i\227$\377\37,\13\377\225" \
- "\0\0\0\377\2.C\20\377q\244'\377\377u\251(\377\203u\251(\377\2t\250(\377" \
- "3J\21\377\227\0\0\0\377\1\0\0\0z\334\0\0\0\0\2\0\0\0#\0\0\0\370\230\0" \
- "\0\0\377\2\21\30\6\377d\220\"\377\377u\251(\377\204u\251(\377\2_\211" \
- "\40\377\20\27\5\377\224\0\0\0\377\3\0\1\0\3773J\21\377r\245'\377\240" \
- "u\251(\377\2d\220\"\377\5\7\2\377\254\0\0\0\377\1Ii\31\377\241u\251(" \
- "\377\2Qu\34\377\11\15\3\377\224\0\0\0\377\2\4\6\1\377Jk\31\377\377u\251" \
- "(\377\204u\251(\377\2q\244'\377'8\15\377\227\0\0\0\377\2\0\0\0\331\0" \
- "\0\0\6\335\0\0\0\0\1\0\0\0\203\231\0\0\0\377\2\14\21\4\377Y\201\36\377" \
- "\377u\251(\377\204u\251(\377\2k\232%\377\36,\12\377\225\0\0\0\377\2\34" \
- ")\12\377g\225#\377\236u\251(\377\2q\244'\377\33'\11\377\255\0\0\0\377" \
- "\2\7\13\3\377b\216\"\377\236u\251(\377\3r\244'\3774L\22\377\0\1\0\377" \
- "\224\0\0\0\377\2\14\21\4\377Z\202\37\377\377u\251(\377\204u\251(\377" \
- "\2k\232%\377\37,\13\377\227\0\0\0\377\2\0\0\0\375\0\0\0I\336\0\0\0\0" \
- "\2\0\0\0\1\0\0\0\253\231\0\0\0\377\3\2\3\1\377>Y\25\377u\250(\377\377" \
- "u\251(\377\203u\251(\377\3t\247(\3776N\23\377\0\1\0\377\224\0\0\0\377" \
- "\2\10\14\3\377Rv\34\377\234u\251(\377\2t\250(\377'8\15\377\257\0\0\0" \
- "\377\2\17\25\5\377j\230$\377\234u\251(\377\2e\222#\377\27\"\10\377\225" \
- "\0\0\0\377\2\34)\12\377j\232$\377\377u\251(\377\204u\251(\377\2X\177" \
- "\36\377\13\21\4\377\230\0\0\0\377\1\0\0\0w\340\0\0\0\0\2\0\0\0\15\0\0" \
- "\0\324\232\0\0\0\377\2\35*\12\377j\230$\377\377u\251(\377\204u\251(\377" \
- "\2Sw\34\377\6\11\2\377\225\0\0\0\377\2/D\20\377r\244'\377\232u\251(\377" \
- "\1/D\20\377\261\0\0\0\377\2\23\34\7\377m\236%\377\232u\251(\377\2Lm\32" \
- "\377\6\10\2\377\225\0\0\0\377\2""7O\23\377t\247(\377\377u\251(\377\203" \
- "u\251(\377\3s\246'\3773J\21\377\0\1\0\377\230\0\0\0\377\2\0\0\0\247\0" \
- "\0\0\1\341\0\0\0\0\2\0\0\0&\0\0\0\344\232\0\0\0\377\2\15\23\4\377Z\202" \
- "\37\377\377u\251(\377\204u\251(\377\2]\207\40\377\15\23\4\377\225\0\0" \
- "\0\377\2\33'\11\377h\226$\377\230u\251(\377\1:T\24\377\263\0\0\0\377" \
- "\2\34)\12\377o\240&\377\227u\251(\377\3s\246'\3774K\22\377\0\1\0\377" \
- "\224\0\0\0\377\2\2\3\1\377Dc\27\377\377u\251(\377\204u\251(\377\2k\232" \
- "%\377\40.\13\377\231\0\0\0\377\2\0\0\0\303\0\0\0\14\343\0\0\0\0\2\0\0" \
- "\0\35\0\0\0\332\232\0\0\0\377\3\0\1\0\3777O\23\377t\247(\377\377u\251" \
- "(\377\203u\251(\377\2l\234%\377\36,\12\377\225\0\0\0\377\2\6\11\2\377" \
- "Nq\33\377\225u\251(\377\2t\250(\377/D\20\377\265\0\0\0\377\2\26\40\10" \
- "\377k\233%\377\225u\251(\377\2d\221\"\377\26\40\10\377\225\0\0\0\377" \
- "\2\13\20\4\377[\203\37\377\377u\251(\377\204u\251(\377\2Ty\35\377\11" \
- "\15\3\377\231\0\0\0\377\2\0\0\0\257\0\0\0\7\345\0\0\0\0\2\0\0\0\35\0" \
- "\0\0\330\233\0\0\0\377\2!0\13\377h\226$\377\377u\251(\377\203u\251(\377" \
- "\2r\244'\377,@\17\377\225\0\0\0\377\3\1\1\0\3779R\23\377t\247(\377\222" \
- "u\251(\377\2t\247(\377/D\20\377\267\0\0\0\377\2\25\36\7\377j\231$\377" \
- "\223u\251(\377\2Sw\34\377\11\15\3\377\225\0\0\0\377\2\24\35\7\377e\222" \
- "#\377\377u\251(\377\203u\251(\377\3r\245'\3779S\24\377\1\2\0\377\231" \
- "\0\0\0\377\2\0\0\0\262\0\0\0\10\347\0\0\0\0\2\0\0\0\14\0\0\0\247\233" \
- "\0\0\0\377\3\7\12\2\377Hh\31\377u\250(\377\377u\251(\377\203u\251(\377" \
- "\2A^\26\377\1\2\0\377\225\0\0\0\377\2\36+\12\377j\231$\377\220u\251(" \
- "\377\2k\232%\377\37,\13\377\271\0\0\0\377\2\14\22\4\377Z\202\37\377\220" \
- "u\251(\377\3s\246'\3777P\23\377\0\1\0\377\225\0\0\0\377\2$4\14\377o\240" \
- "&\377\377u\251(\377\203u\251(\377\2^\210\40\377\25\36\7\377\231\0\0\0" \
- "\377\3\0\0\0\374\0\0\0w\0\0\0\1\352\0\0\0\0\2\0\0\0f\0\0\0\371\233\0" \
- "\0\0\377\2\33'\11\377d\220\"\377\377u\251(\377\203u\251(\377\2V|\35\377" \
- "\7\12\2\377\225\0\0\0\377\2\11\15\3\377W}\36\377\216u\251(\377\2U{\35" \
- "\377\12\16\3\377\273\0\0\0\377\3\1\2\0\377;U\24\377t\250(\377\215u\251" \
- "(\377\2j\230$\377\33'\11\377\226\0\0\0\377\2;U\24\377u\250(\377\377u" \
- "\251(\377\202u\251(\377\3p\242&\377/D\20\377\0\1\0\377\231\0\0\0\377" \
- "\2\0\0\0\347\0\0\0@\355\0\0\0\0\1\0\0\0\214\234\0\0\0\377\3\6\11\2\377" \
- "Gf\30\377u\250(\377\377u\251(\377\202u\251(\377\2]\206\40\377\13\20\4" \
- "\377\225\0\0\0\377\2\3\5\1\377Gg\30\377\213u\251(\377\3s\246'\377=X\25" \
- "\377\2\3\1\377\276\0\0\0\377\2%5\15\377j\230$\377\213u\251(\377\2_\211" \
- "\40\377\17\25\5\377\225\0\0\0\377\2\1\2\0\377C`\27\377\377u\251(\377" \
- "\203u\251(\377\2]\207\40\377\24\35\7\377\233\0\0\0\377\1\0\0\0S\356\0" \
- "\0\0\0\1\0\0\0\216\236\0\0\0\377\2\33&\11\377c\217\"\377\377u\251(\377" \
- "\202u\251(\377\2j\230$\377\27!\10\377\226\0\0\0\377\2*<\16\377p\242&" \
- "\377\210u\251(\377\2U{\35\377\20\27\5\377\301\0\0\0\377\3\5\7\2\377>" \
- "Z\25\377s\246'\377\210u\251(\377\2Gg\30\377\3\5\1\377\225\0\0\0\377\2" \
- "\7\12\2\377V|\35\377\377u\251(\377\202u\251(\377\3o\241&\377/D\20\377" \
- "\0\1\0\377\234\0\0\0\377\1\0\0\0T\356\0\0\0\0\1\0\0\0\230\236\0\0\0\377" \
- "\2\2\3\1\377Ca\27\377\377u\251(\377\203u\251(\377\2n\236%\377\36+\12" \
- "\377\226\0\0\0\377\2\33'\11\377j\230$\377\205u\251(\377\3l\234%\377/" \
- "D\20\377\1\1\0\377\304\0\0\0\377\2\32&\11\377_\211\40\377\205u\251(\377" \
- "\2t\247(\3775M\22\377\226\0\0\0\377\2\13\21\4\377]\207\40\377\377u\251" \
- "(\377\203u\251(\377\2_\211\40\377\13\17\4\377\235\0\0\0\377\1\0\0\0^" \
- "\356\0\0\0\0\1\0\0\0\222\232\0\0\0\377\5\1\1\0\377\17\25\5\377$4\14\377" \
- "Ca\27\377j\230$\377\377u\251(\377\205u\251(\377\2r\245'\377*=\16\377" \
- "\226\0\0\0\377\2\14\21\4\377[\204\37\377\202u\251(\377\3o\241&\377;U" \
- "\24\377\6\11\2\377\307\0\0\0\377\3\1\1\0\377);\16\377d\220\"\377\202" \
- "u\251(\377\2l\234%\377\37-\13\377\226\0\0\0\377\2\23\33\6\377g\224#\377" \
- "\377u\251(\377\205u\251(\377\5q\244'\377Nq\33\377-A\17\377\24\35\7\377" \
- "\3\5\1\377\231\0\0\0\377\1\0\0\0W\356\0\0\0\0\1\0\0\0z\222\0\0\0\377" \
- "\11+>\17\377Nq\33\377Ty\35\377V|\35\377Z\203\37\377_\212!\377e\222#\377" \
- "l\234%\377q\244'\377\377u\251(\377\212u\251(\377\2t\250(\3772H\21\377" \
- "\226\0\0\0\377\4\3\5\1\377Fe\30\377B_\27\377\12\17\3\377\313\0\0\0\377" \
- "\4\2\3\1\377/D\20\377Tz\35\377\17\26\5\377\226\0\0\0\377\2\27\"\10\377" \
- "l\234%\377\377u\251(\377\212u\251(\377\5t\247(\377m\236%\377g\224#\377" \
- "b\215!\377]\206\40\377\202V|\35\377\3Nq\33\377A]\26\377\3\4\1\377\220" \
- "\0\0\0\377\1\0\0\0>\356\0\0\0\0\1\0\0\0`\222\0\0\0\377\2\0\1\0\377@]" \
- "\26\377\377u\251(\377\223u\251(\377\2>Z\25\377\0\1\0\377\374\0\0\0\377" \
- "\2!0\13\377p\242&\377\377u\251(\377\222u\251(\377\2^\207\40\377\13\17" \
- "\4\377\221\0\0\0\377\1\0\0\0%\356\0\0\0\0\1\0\0\0,\224\0\0\0\377\2""3" \
- "J\21\377u\250(\377\377u\251(\377\222u\251(\377\2Fe\30\377\1\1\0\377\372" \
- "\0\0\0\377\2'9\15\377r\245'\377\377u\251(\377\222u\251(\377\2Ty\35\377" \
- "\5\7\2\377\221\0\0\0\377\2\0\0\0\355\0\0\0\1\356\0\0\0\0\2\0\0\0\1\0" \
- "\0\0\355\224\0\0\0\377\2/D\20\377r\245'\377\377u\251(\377\222u\251(\377" \
- "\2Ij\31\377\2\3\1\377\370\0\0\0\377\2*<\16\377s\246'\377\377u\251(\377" \
- "\222u\251(\377\2Mo\32\377\3\5\1\377\222\0\0\0\377\1\0\0\0\263\360\0\0" \
- "\0\0\1\0\0\0\253\225\0\0\0\377\2\32&\11\377i\227$\377\377u\251(\377\222" \
- "u\251(\377\2Os\33\377\2\3\1\377\366\0\0\0\377\2/D\20\377t\250(\377\377" \
- "u\251(\377\221u\251(\377\2s\246'\3773J\22\377\224\0\0\0\377\1\0\0\0n" \
- "\360\0\0\0\0\1\0\0\0M\226\0\0\0\377\2\10\14\3\377Ty\35\377\377u\251(" \
- "\377\222u\251(\377\2Tz\35\377\4\6\1\377\364\0\0\0\377\1""8P\23\377\377" \
- "u\251(\377\222u\251(\377\2f\223#\377\27!\10\377\224\0\0\0\377\2\0\0\0" \
- "\372\0\0\0\25\360\0\0\0\0\2\0\0\0\6\0\0\0\351\226\0\0\0\377\3\1\2\0\377" \
- "<W\25\377s\246'\377\377u\251(\377\221u\251(\377\2Qu\34\377\3\4\1\377" \
- "\362\0\0\0\377\2""1G\21\377u\250(\377\377u\251(\377\221u\251(\377\2T" \
- "z\35\377\13\20\4\377\225\0\0\0\377\1\0\0\0\264\362\0\0\0\0\1\0\0\0r\230" \
- "\0\0\0\377\2\24\34\7\377]\206\40\377\377u\251(\377\221u\251(\377\2U{" \
- "\35\377\4\6\1\377\360\0\0\0\377\1""8R\23\377\377u\251(\377\221u\251(" \
- "\377\2k\233%\377'8\15\377\226\0\0\0\377\2\0\0\0\376\0\0\0""3\362\0\0" \
- "\0\0\2\0\0\0\14\0\0\0\351\230\0\0\0\377\3\3\4\1\377;U\24\377s\246'\377" \
- "\377u\251(\377\220u\251(\377\2Sw\34\377\3\5\1\377\356\0\0\0\377\2""2" \
- "I\21\377u\250(\377\377u\251(\377\220u\251(\377\2Rv\34\377\14\21\4\377" \
- "\227\0\0\0\377\1\0\0\0\270\364\0\0\0\0\1\0\0\0Y\232\0\0\0\377\2\24\34" \
- "\7\377W}\36\377\377u\251(\377\220u\251(\377\2Pt\33\377\2\3\1\377\354" \
- "\0\0\0\377\2.C\20\377u\250(\377\377u\251(\377\217u\251(\377\2g\225#\377" \
- "'8\15\377\230\0\0\0\377\2\0\0\0\366\0\0\0$\364\0\0\0\0\2\0\0\0\1\0\0" \
- "\0\273\233\0\0\0\377\2\37-\13\377b\216\"\377\377u\251(\377\217u\251(" \
- "\377\2Os\33\377\1\2\0\377\352\0\0\0\377\2-@\17\377u\250(\377\377u\251" \
- "(\377\216u\251(\377\3o\240&\3773J\21\377\2\3\1\377\231\0\0\0\377\1\0" \
- "\0\0\177\366\0\0\0\0\2\0\0\0\27\0\0\0\346\233\0\0\0\377\3\5\7\2\377:" \
- "T\24\377o\240&\377\377u\251(\377\216u\251(\377\1A^\26\377\351\0\0\0\377" \
- "\2\40.\13\377r\245'\377\377u\251(\377\215u\251(\377\3u\250(\377Nq\33" \
- "\377\17\26\5\377\232\0\0\0\377\2\0\0\0\273\0\0\0\2\367\0\0\0\0\2\0\0" \
- "\0G\0\0\0\374\234\0\0\0\377\3\6\11\2\3777O\23\377o\240&\377\377u\251" \
- "(\377\215u\251(\377\1=W\25\377\347\0\0\0\377\2\35*\12\377q\243'\377\377" \
- "u\251(\377\214u\251(\377\3u\250(\377Nq\33\377\23\33\6\377\233\0\0\0\377" \
- "\2\0\0\0\352\0\0\0\35\371\0\0\0\0\2\0\0\0\\\0\0\0\376\235\0\0\0\377\3" \
- "\15\23\5\377Gg\30\377s\246'\377\377u\251(\377\214u\251(\377\1#3\14\377" \
- "\345\0\0\0\377\2\7\12\2\377m\235%\377\377u\251(\377\214u\251(\377\2Z" \
- "\202\37\377\34)\12\377\234\0\0\0\377\2\0\0\0\357\0\0\0-\373\0\0\0\0\1" \
- "\0\0\0y\237\0\0\0\377\3\15\23\5\377Fe\30\377s\246'\377\377u\251(\377" \
- "\212u\251(\377\1\26\40\10\377\346\0\0\0\377\1g\224#\377\377u\251(\377" \
- "\212u\251(\377\2Y\200\36\377\33'\11\377\235\0\0\0\377\2\0\0\0\366\0\0" \
- "\0G\375\0\0\0\0\2\0\0\0g\0\0\0\375\237\0\0\0\377\2\26\40\10\377Sw\34" \
- "\377\377u\251(\377\210u\251(\377\2j\230$\377\0\1\0\377\346\0\0\0\377" \
- "\1Fe\30\377\377u\251(\377\210u\251(\377\3d\220\"\377(:\16\377\0\1\0\377" \
- "\235\0\0\0\377\2\0\0\0\354\0\0\0""5\377\0\0\0\0\2\0\0\0X\0\0\0\372\240" \
- "\0\0\0\377\3\24\35\7\377Nq\33\377u\250(\377\377u\251(\377\205u\251(\377" \
- "\1Gf\30\377\347\0\0\0\377\1#2\14\377\377u\251(\377\206u\251(\377\3c\217" \
- "\"\377'8\15\377\0\1\0\377\236\0\0\0\377\2\0\0\0\345\0\0\0+\377\0\0\0" \
- "\0\202\0\0\0\0\2\0\0\0T\0\0\0\366\241\0\0\0\377\2\35*\12\377Z\202\37" \
- "\377\377u\251(\377\204u\251(\377\1$4\14\377\347\0\0\0\377\2\5\7\2\377" \
- "q\243'\377\377u\251(\377\203u\251(\377\3i\227$\3770F\20\377\3\4\1\377" \
- "\237\0\0\0\377\2\0\0\0\343\0\0\0,\377\0\0\0\0\204\0\0\0\0\2\0\0\0(\0" \
- "\0\0\326\242\0\0\0\377\2\33'\11\377W~\36\377\377u\251(\377\3u\251(\377" \
- "j\231$\377\2\3\1\377\350\0\0\0\377\1Jk\31\377\377u\251(\377\4u\251(\377" \
- "f\223#\377+>\17\377\2\3\1\377\240\0\0\0\377\2\0\0\0\270\0\0\0\22\377" \
- "\0\0\0\0\206\0\0\0\0\2\0\0\0\15\0\0\0\255\243\0\0\0\377\2\37-\13\377" \
- "\\\205\40\377\376u\251(\377\1A^\26\377\351\0\0\0\377\1\36,\12\377\376" \
- "u\251(\377\3j\230$\377/D\20\377\3\4\1\377\240\0\0\0\377\3\0\0\0\375\0" \
- "\0\0w\0\0\0\1\377\0\0\0\0\210\0\0\0\0\3\0\0\0\3\0\0\0{\0\0\0\371\242" \
- "\0\0\0\377\2\40.\13\377o\240&\377\375u\251(\377\1\27!\10\377\351\0\0" \
- "\0\377\2\1\1\0\377h\226#\377\375u\251(\377\2=W\25\377\2\3\1\377\240\0" \
- "\0\0\377\2\0\0\0\352\0\0\0S\377\0\0\0\0\214\0\0\0\0\2\0\0\0#\0\0\0\302" \
- "\237\0\0\0\377\2\24\34\7\377Km\32\377\376u\251(\377\1^\207\40\377\353" \
- "\0\0\0\377\1;U\24\377\376u\251(\377\3_\211\40\377\"2\14\377\1\1\0\377" \
- "\235\0\0\0\377\2\0\0\0\231\0\0\0\20\377\0\0\0\0\216\0\0\0\0\3\0\0\0\3" \
- "\0\0\0w\0\0\0\370\231\0\0\0\377\5\0\1\0\377\21\31\6\3772H\21\377X\177" \
- "\36\377u\250(\377\377u\251(\377\1(:\16\377\353\0\0\0\377\2\11\15\3\377" \
- "p\242&\377\377u\251(\377\4e\222#\377=X\25\377\33&\11\377\3\4\1\377\230" \
- "\0\0\0\377\2\0\0\0\345\0\0\0J\377\0\0\0\0\222\0\0\0\0\2\0\0\0""2\0\0" \
- "\0\340\221\0\0\0\377\2\6\11\2\377Hg\30\377\204^\207\40\377\2^\210\40" \
- "\377n\237&\377\377u\251(\377\203u\251(\377\2e\222#\377\1\2\0\377\354" \
- "\0\0\0\377\1Ca\27\377\377u\251(\377\203u\251(\377\2s\246'\377a\214!\377" \
- "\204^\207\40\377\2W}\36\377\25\36\7\377\220\0\0\0\377\2\0\0\0\300\0\0" \
- "\0\31\377\0\0\0\0\224\0\0\0\0\1\0\0\0\205\222\0\0\0\377\3\3\5\1\377@" \
- "]\26\377u\250(\377\377u\251(\377\207u\251(\377\1""0E\20\377\355\0\0\0" \
- "\377\2\17\25\5\377s\246'\377\377u\251(\377\207u\251(\377\2Y\200\36\377" \
- "\16\25\5\377\221\0\0\0\377\1\0\0\0L\377\0\0\0\0\225\0\0\0\0\1\0\0\0J" \
- "\224\0\0\0\377\2\37,\13\377c\217\"\377\377u\251(\377\205u\251(\377\2" \
- "d\221\"\377\3\4\1\377\356\0\0\0\377\1Ec\30\377\377u\251(\377\205u\251" \
- "(\377\3o\240&\3775M\22\377\1\2\0\377\221\0\0\0\377\2\0\0\0\375\0\0\0" \
- "\21\377\0\0\0\0\225\0\0\0\0\2\0\0\0\17\0\0\0\374\224\0\0\0\377\3\1\1" \
- "\0\377+>\17\377j\231$\377\377u\251(\377\203u\251(\377\1#2\14\377\357" \
- "\0\0\0\377\2\10\13\3\377l\234%\377\377u\251(\377\202u\251(\377\3r\245" \
- "'\377>Z\25\377\10\13\3\377\223\0\0\0\377\1\0\0\0\322\377\0\0\0\0\227" \
- "\0\0\0\0\1\0\0\0\304\226\0\0\0\377\3\10\14\3\377@]\26\377o\241&\377\377" \
- "u\251(\377\1W~\36\377\361\0\0\0\377\1""4K\22\377\377u\251(\377\3u\250" \
- "(\377Rv\34\377\26\37\7\377\225\0\0\0\377\1\0\0\0\211\377\0\0\0\0\227" \
- "\0\0\0\0\1\0\0\0h\230\0\0\0\377\3\10\14\3\377:T\24\377l\234%\377\374" \
- "u\251(\377\2r\245'\377\25\36\7\377\361\0\0\0\377\2\3\4\1\377`\213!\377" \
- "\374u\251(\377\3s\246'\377Jk\31\377\24\35\7\377\227\0\0\0\377\1\0\0\0" \
- "-\377\0\0\0\0\227\0\0\0\0\2\0\0\0\22\0\0\0\371\231\0\0\0\377\3\5\7\2" \
- "\3771F\21\377`\213!\377\372u\251(\377\1""8Q\23\377\363\0\0\0\377\2\27" \
- "!\10\377s\246'\377\371u\251(\377\3k\233%\377\77[\26\377\16\24\5\377\230" \
- "\0\0\0\377\1\0\0\0\323\377\0\0\0\0\231\0\0\0\0\1\0\0\0\253\234\0\0\0" \
- "\377\3\23\34\7\377C`\27\377o\240&\377\366u\251(\377\2Y\200\36\377\1\1" \
- "\0\377\364\0\0\0\377\1""8R\23\377\366u\251(\377\4t\247(\377Nq\33\377" \
- "\37-\13\377\1\1\0\377\232\0\0\0\377\1\0\0\0q\377\0\0\0\0\231\0\0\0\0" \
- "\2\0\0\0)\0\0\0\374\235\0\0\0\377\4\10\13\3\377,@\17\377Sw\34\377r\244" \
- "'\377\362u\251(\377\2o\240&\377\22\33\6\377\365\0\0\0\377\2\2\3\1\377" \
- "\\\205\40\377\363u\251(\377\3^\210\40\3778Q\23\377\21\31\6\377\234\0" \
- "\0\0\377\2\0\0\0\343\0\0\0\7\377\0\0\0\0\232\0\0\0\0\1\0\0\0\245\240" \
- "\0\0\0\377\4\4\6\1\377#3\14\377Jk\31\377o\240&\377\356u\251(\377\2t\247" \
- "(\377\40.\13\377\367\0\0\0\377\2\13\17\4\377h\226$\377\356u\251(\377" \
- "\4s\246'\377Rw\34\377+>\17\377\12\16\3\377\237\0\0\0\377\1\0\0\0j\377" \
- "\0\0\0\0\233\0\0\0\0\2\0\0\0'\0\0\0\367\242\0\0\0\377\4\4\5\1\377#3\14" \
- "\377Jk\31\377n\237&\377\353u\251(\377\1""8Q\23\377\371\0\0\0\377\2\26" \
- "\40\10\377p\242&\377\352u\251(\377\4s\246'\377Rw\34\377+>\17\377\11\15" \
- "\3\377\241\0\0\0\377\2\0\0\0\332\0\0\0\10\377\0\0\0\0\234\0\0\0\0\1\0" \
- "\0\0p\245\0\0\0\377\4\5\7\2\377&6\15\377Jk\31\377m\235%\377\347u\251" \
- "(\377\2Np\33\377\1\1\0\377\372\0\0\0\377\2,\77\17\377u\250(\377\346u" \
- "\251(\377\4s\246'\377U{\35\3771F\21\377\14\22\4\377\243\0\0\0\377\2\0" \
- "\0\0\373\0\0\0""8\377\0\0\0\0\236\0\0\0\0\1\0\0\0\235\247\0\0\0\377\4" \
- "\1\1\0\377\27\"\10\377;U\24\377b\215!\377\343u\251(\377\2Sx\34\377\2" \
- "\3\1\377\374\0\0\0\377\1""1F\21\377\343u\251(\377\4j\232$\377Fe\30\377" \
- "#3\14\377\4\6\1\377\246\0\0\0\377\1\0\0\0i\377\0\0\0\0\237\0\0\0\0\2" \
- "\0\0\0\13\0\0\0\305\252\0\0\0\377\4\20\27\5\3773J\21\377Z\202\37\377" \
- "t\250(\377\336u\251(\377\2Y\201\37\377\4\6\1\377\376\0\0\0\377\1=W\25" \
- "\377\337u\251(\377\4d\220\"\377>Z\25\377\34(\11\377\1\2\0\377\250\0\0" \
- "\0\377\1\0\0\0\225\377\0\0\0\0\241\0\0\0\0\2\0\0\0\16\0\0\0\307\253\0" \
- "\0\0\377\2\25\36\7\377q\244'\377\335u\251(\377\2\\\205\37\377\11\15\3" \
- "\377\377\0\0\0\377\2\0\1\0\377A^\26\377\336u\251(\377\1""6N\22\377\252" \
- "\0\0\0\377\2\0\0\0\230\0\0\0\1\377\0\0\0\0\242\0\0\0\0\2\0\0\0\7\0\0" \
- "\0\247\251\0\0\0\377\2\7\12\2\377b\215!\377\335u\251(\377\2V|\35\377" \
- "\6\10\2\377\377\0\0\0\377\203\0\0\0\377\1""8Q\23\377\335u\251(\377\2" \
- "r\244'\377\32&\11\377\247\0\0\0\377\2\0\0\0\375\0\0\0o\377\0\0\0\0\245" \
- "\0\0\0\0\3\0\0\0\3\0\0\0~\0\0\0\373\246\0\0\0\377\2\6\11\2\377W~\36\377" \
- "\335u\251(\377\2Mo\32\377\3\5\1\377\377\0\0\0\377\205\0\0\0\377\2.C\20" \
- "\377s\246'\377\334u\251(\377\2k\233%\377\26\40\10\377\245\0\0\0\377\2" \
- "\0\0\0\354\0\0\0S\377\0\0\0\0\250\0\0\0\0\2\0\0\0""5\0\0\0\313\244\0" \
- "\0\0\377\2\26\40\10\377a\215!\377\334u\251(\377\3u\250(\377:T\24\377" \
- "\0\1\0\377\377\0\0\0\377\207\0\0\0\377\2\37,\13\377m\235%\377\334u\251" \
- "(\377\2o\240&\377,\77\17\377\243\0\0\0\377\2\0\0\0\252\0\0\0\32\377\0" \
- "\0\0\0\252\0\0\0\0\3\0\0\0\2\0\0\0c\0\0\0\344\237\0\0\0\377\4\0\1\0\377" \
- "\33&\11\377Jk\31\377s\246'\377\334u\251(\377\2p\242&\377&7\15\377\377" \
- "\0\0\0\377\212\0\0\0\377\2\21\31\6\377c\216\"\377\335u\251(\377\3\\\205" \
- "\37\377'9\15\377\4\6\1\377\236\0\0\0\377\2\0\0\0\315\0\0\0A\377\0\0\0" \
- "\0\256\0\0\0\0\3\0\0\0\11\0\0\0r\0\0\0\347\232\0\0\0\377\4\15\23\4\377" \
- "2H\21\377Nq\33\377j\231$\377\336u\251(\377\2_\211\40\377\22\32\6\377" \
- "\377\0\0\0\377\214\0\0\0\377\2\6\10\2\377Hi\31\377\336u\251(\377\4p\242" \
- "&\377W~\36\377;U\24\377\32%\11\377\231\0\0\0\377\3\0\0\0\321\0\0\0S\0" \
- "\0\0\1\377\0\0\0\0\261\0\0\0\0\4\0\0\0\5\0\0\0V\0\0\0\276\0\0\0\375\227" \
- "\0\0\0\377\3\2\3\1\377,@\17\377e\222#\377\335u\251(\377\3u\250(\377A" \
- "^\26\377\3\5\1\377\377\0\0\0\377\217\0\0\0\377\2(:\16\377n\237&\377\335" \
- "u\251(\377\3o\241&\377>Y\25\377\11\15\3\377\226\0\0\0\377\3\0\0\0\367" \
- "\0\0\0\246\0\0\0=\377\0\0\0\0\267\0\0\0\0\4\0\0\0\35\0\0\0s\0\0\0\313" \
- "\0\0\0\376\226\0\0\0\377\4\2\3\1\377&7\15\377V|\35\377u\250(\377\331" \
- "u\251(\377\2b\216\"\377\34)\12\377\377\0\0\0\377\222\0\0\0\377\2\14\22" \
- "\4\377Pt\33\377\332u\251(\377\3d\220\"\3775L\22\377\11\15\3\377\225\0" \
- "\0\0\377\4\0\0\0\371\0\0\0\267\0\0\0_\0\0\0\17\377\0\0\0\0\274\0\0\0" \
- "\0\3\0\0\0\31\0\0\0c\0\0\0\264\227\0\0\0\377\4\20\27\5\3774K\22\377V" \
- "}\35\377s\246'\377\324u\251(\377\3r\244'\377:T\24\377\3\5\1\377\377\0" \
- "\0\0\377\225\0\0\0\377\2%5\15\377h\226$\377\325u\251(\377\4a\214!\377" \
- ">Z\25\377\33'\11\377\0\1\0\377\224\0\0\0\377\4\0\0\0\373\0\0\0\234\0" \
- "\0\0R\0\0\0\15\377\0\0\0\0\301\0\0\0\0\2\0\0\0\6\0\0\0\363\231\0\0\0" \
- "\377\5\5\7\2\377\37,\13\377;U\24\377Ty\35\377g\224#\377\317u\251(\377" \
- "\2Nq\33\377\17\26\5\377\377\0\0\0\377\230\0\0\0\377\3\5\7\2\377;U\24" \
- "\377p\242&\377\316u\251(\377\5m\236%\377Y\201\37\377Ca\27\377'9\15\377" \
- "\13\20\4\377\230\0\0\0\377\1\0\0\0\300\377\0\0\0\0\305\0\0\0\0\1\0\0" \
- "\0\263\236\0\0\0\377\10\6\11\2\377\31$\11\377-B\20\377@]\26\377Mo\32" \
- "\377Y\201\36\377d\220\"\377p\242&\377\305u\251(\377\2\\\205\40\377\34" \
- "(\12\377\377\0\0\0\377\234\0\0\0\377\3\15\23\4\377Ij\31\377t\247(\377" \
- "\304u\251(\377\10s\246'\377h\226$\377\\\205\37\377Qu\34\377Dc\27\377" \
- "3J\22\377\37-\13\377\14\21\4\377\235\0\0\0\377\1\0\0\0y\377\0\0\0\0\305" \
- "\0\0\0\0\1\0\0\0e\246\0\0\0\377\14\6\10\2\377\20\27\5\377\27\"\10\377" \
- "\37-\13\377'8\15\377/D\20\3778R\23\377C`\27\377Mo\32\377X\177\36\377" \
- "d\220\"\377t\247(\377\267u\251(\377\2Z\202\37\377!/\13\377\377\0\0\0" \
- "\377\240\0\0\0\377\3\21\31\6\377Ii\31\377s\246'\377\267u\251(\377\13" \
- "i\230$\377Z\203\37\377Qu\34\377Ed\30\377;U\24\3771G\21\377)<\16\377!" \
- "0\13\377\32%\11\377\22\33\6\377\13\17\4\377\245\0\0\0\377\1\0\0\0)\377" \
- "\0\0\0\0\305\0\0\0\0\2\0\0\0\13\0\0\0\362\260\0\0\0\377\5\5\7\2\377\30" \
- "#\10\377.C\20\377Kl\32\377n\236%\377\260u\251(\377\3t\250(\377Rw\34\377" \
- "\35*\12\377\377\0\0\0\377\244\0\0\0\377\3\17\26\5\377Ca\27\377o\240&" \
- "\377\260u\251(\377\5s\246'\377V}\35\3775M\22\377\37-\13\377\12\16\3\377" \
- "\257\0\0\0\377\1\0\0\0\303\377\0\0\0\0\307\0\0\0\0\1\0\0\0\230\264\0" \
- "\0\0\377\2\6\11\2\377Mo\32\377\255u\251(\377\3o\240&\377Db\27\377\21" \
- "\31\6\377\377\0\0\0\377\250\0\0\0\377\3\7\12\2\3775L\22\377e\222#\377" \
- "\255u\251(\377\2e\222#\377\22\33\6\377\263\0\0\0\377\1\0\0\0\\\377\0" \
- "\0\0\0\307\0\0\0\0\2\0\0\0\31\0\0\0\366\264\0\0\0\377\1Tz\35\377\253" \
- "u\251(\377\3Z\203\37\377-A\17\377\5\7\2\377\377\0\0\0\377\254\0\0\0\377" \
- "\4\1\1\0\377\37-\13\377Mo\32\377r\244'\377\252u\251(\377\2p\242&\377" \
- "\10\14\3\377\262\0\0\0\377\2\0\0\0\321\0\0\0\2\377\0\0\0\0\310\0\0\0" \
- "\0\1\0\0\0\210\263\0\0\0\377\1!/\13\377\251u\251(\377\3d\220\"\377;U" \
- "\24\377\22\33\6\377\377\0\0\0\377\262\0\0\0\377\4\11\15\3\377/D\20\377" \
- "X\177\36\377t\250(\377\250u\251(\377\1Dc\27\377\262\0\0\0\377\1\0\0\0" \
- "K\377\0\0\0\0\311\0\0\0\0\2\0\0\0\7\0\0\0\323\261\0\0\0\377\2\14\22\4" \
- "\377i\227$\377\245u\251(\377\4t\247(\377[\204\37\377;U\24\377\30\"\10" \
- "\377\377\0\0\0\377\270\0\0\0\377\4\14\22\4\3771F\21\377Qu\34\377o\241" \
- "&\377\245u\251(\377\2t\250(\377%5\15\377\260\0\0\0\377\1\0\0\0\236\377" \
- "\0\0\0\0\313\0\0\0\0\2\0\0\0\40\0\0\0\352\257\0\0\0\377\2\13\21\4\377" \
- "`\213!\377\243u\251(\377\4h\226#\377Hg\30\377'8\15\377\10\13\3\377\377" \
- "\0\0\0\377\276\0\0\0\377\5\2\3\1\377\35*\12\377=Y\25\377^\210\40\377" \
- "u\250(\377\242u\251(\377\2p\242&\377\37-\13\377\256\0\0\0\377\2\0\0\0" \
- "\310\0\0\0\10\377\0\0\0\0\314\0\0\0\0\2\0\0\0B\0\0\0\365\255\0\0\0\377" \
- "\2\33&\11\377g\224#\377\237u\251(\377\5s\246'\377_\212!\377Gf\30\377" \
- ".B\20\377\23\34\7\377\377\0\0\0\377\306\0\0\0\377\5\12\17\3\377'8\15" \
- "\377\77[\26\377X\177\36\377o\240&\377\237u\251(\377\3r\245'\3772I\21" \
- "\377\0\1\0\377\253\0\0\0\377\2\0\0\0\336\0\0\0\35\377\0\0\0\0\316\0\0" \
- "\0\0\2\0\0\0>\0\0\0\360\252\0\0\0\377\3\2\3\1\377=W\25\377t\247(\377" \
- "\233u\251(\377\6r\244'\377`\213!\377Mo\32\3774K\22\377\34(\11\377\5\7" \
- "\2\377\377\0\0\0\377\316\0\0\0\377\6\1\2\0\377\24\34\7\377-@\17\377E" \
- "d\30\377[\203\37\377m\236%\377\234u\251(\377\2U{\35\377\14\21\4\377\251" \
- "\0\0\0\377\2\0\0\0\326\0\0\0\34\377\0\0\0\0\320\0\0\0\0\2\0\0\0&\0\0" \
- "\0\325\250\0\0\0\377\2#3\14\377`\213!\377\226u\251(\377\10q\243'\377" \
- "e\222#\377Y\200\36\377Gf\30\3775L\22\377\"1\14\377\20\27\5\377\1\2\0" \
- "\377\377\0\0\0\377\331\0\0\0\377\7\12\17\3\377\35*\12\377/D\20\377A]" \
- "\26\377Ty\35\377a\215!\377m\236%\377\226u\251(\377\3m\235%\3776N\23\377" \
- "\5\7\2\377\246\0\0\0\377\2\0\0\0\262\0\0\0\16\377\0\0\0\0\322\0\0\0\0" \
- "\3\0\0\0\11\0\0\0\204\0\0\0\371\244\0\0\0\377\4\14\21\4\377Ec\30\377" \
- "e\222#\377j\232$\377\210m\236%\377\1k\233%\377\202e\222#\377\13c\216" \
- "\"\377[\204\37\377Ty\35\377Ln\32\377Dc\27\377=X\25\3776N\22\377+>\17" \
- "\377\37-\13\377\24\34\7\377\10\13\3\377\377\0\0\0\377\350\0\0\0\377\13" \
- "\4\6\1\377\20\27\5\377\34(\11\377(:\16\3773J\21\377;U\24\377B_\27\377" \
- "Jk\31\377Qu\34\377Y\200\36\377`\213!\377\202e\222#\377\1i\230$\377\210" \
- "m\236%\377\4m\235%\377e\222#\377V|\35\377\33&\11\377\243\0\0\0\377\3" \
- "\0\0\0\353\0\0\0_\0\0\0\1\377\0\0\0\0\325\0\0\0\0\3\0\0\0\25\0\0\0\210" \
- "\0\0\0\366\377\0\0\0\377\377\0\0\0\377\340\0\0\0\377\3\0\0\0\346\0\0" \
- "\0o\0\0\0\12\377\0\0\0\0\331\0\0\0\0\3\0\0\0\40\0\0\0\230\0\0\0\360\377" \
- "\0\0\0\377\245\0\0\0\377\6\1\0\0\377\22\2\6\377\31\2\11\377!\3\14\377" \
- "&\3\15\3771\4\21\377\2022\5\22\377\7.\4\20\377&\3\15\377\"\3\14\377\31" \
- "\2\11\377\27\2\10\377\15\1\4\377\14\1\4\377\377\0\0\0\377\250\0\0\0\377" \
- "\3\0\0\0\342\0\0\0}\0\0\0\17\377\0\0\0\0\335\0\0\0\0\4\0\0\0\11\0\0\0" \
- "V\0\0\0\262\0\0\0\372\377\0\0\0\377\233\0\0\0\377\10\15\1\4\3771\4\21" \
- "\377M\7\33\377f\11$\377\200\14-\377\227\16""5\377\251\17;\377\271\21" \
- "A\377\216\274\21B\377\10\265\20@\377\235\16""7\377\206\14/\377o\12'\377" \
- "X\10\37\377@\6\27\377&\3\15\377\5\0\2\377\377\0\0\0\377\235\0\0\0\377" \
- "\4\0\0\0\360\0\0\0\235\0\0\0@\0\0\0\2\377\0\0\0\0\342\0\0\0\0\4\0\0\0" \
- "\11\0\0\0D\0\0\0\221\0\0\0\341\377\0\0\0\377\222\0\0\0\377\6\1\0\0\377" \
- "\40\3\13\377E\6\30\377k\12&\377\221\15""3\377\257\20>\377\236\274\21" \
- "B\377\5\252\17<\377\204\14.\377^\11!\3779\5\24\377\17\1\5\377\377\0\0" \
- "\0\377\224\0\0\0\377\5\0\0\0\376\0\0\0\314\0\0\0\200\0\0\0""3\0\0\0\2" \
- "\377\0\0\0\0\350\0\0\0\0\5\0\0\0\2\0\0\0""5\0\0\0z\0\0\0\300\0\0\0\371" \
- "\377\0\0\0\377\213\0\0\0\377\4\4\0\2\3771\4\21\377h\11$\377\240\16""8" \
- "\377\247\274\21B\377\5\272\21A\377\223\15""4\377^\11!\377*\4\17\377\2" \
- "\0\1\377\377\0\0\0\377\215\0\0\0\377\4\0\0\0\361\0\0\0\260\0\0\0j\0\0" \
- "\0%\377\0\0\0\0\357\0\0\0\0\3\0\0\0\12\0\0\0\217\0\0\0\376\377\0\0\0" \
- "\377\207\0\0\0\377\4\22\2\6\377H\7\31\377\177\13-\377\262\20\77\377\256" \
- "\274\21B\377\4\257\20>\377}\13,\377I\7\32\377\22\2\6\377\377\0\0\0\377" \
- "\211\0\0\0\377\3\0\0\0\370\0\0\0e\0\0\0\1\377\0\0\0\0\357\0\0\0\0\3\0" \
- "\0\0\1\0\0\0^\0\0\0\346\377\0\0\0\377\206\0\0\0\377\3\17\1\5\377R\7\35" \
- "\377\226\16""5\377\266\274\21B\377\3\235\16""7\377X\10\37\377\22\2\6" \
- "\377\377\0\0\0\377\210\0\0\0\377\2\0\0\0\317\0\0\0""9\377\0\0\0\0\355" \
- "\0\0\0\0\2\0\0\0+\0\0\0\300\377\0\0\0\377\205\0\0\0\377\4\4\0\2\377\77" \
- "\6\26\377\204\14.\377\267\21@\377\272\274\21B\377\4\273\21A\377\221\15" \
- "3\377R\7\35\377\17\1\5\377\377\0\0\0\377\206\0\0\0\377\3\0\0\0\376\0" \
- "\0\0\242\0\0\0\25\377\0\0\0\0\351\0\0\0\0\3\0\0\0\15\0\0\0\221\0\0\0" \
- "\372\377\0\0\0\377\204\0\0\0\377\3\20\1\6\377^\11!\377\250\17;\377\300" \
- "\274\21B\377\3\264\20\77\377o\12'\377\36\3\13\377\377\0\0\0\377\206\0" \
- "\0\0\377\3\0\0\0\356\0\0\0o\0\0\0\3\377\0\0\0\0\346\0\0\0\0\2\0\0\0@" \
- "\0\0\0\333\377\0\0\0\377\204\0\0\0\377\3(\4\16\377}\13,\377\270\21A\377" \
- "\305\274\21B\377\3\226\16""5\377E\6\30\377\3\0\1\377\377\0\0\0\377\205" \
- "\0\0\0\377\2\0\0\0\276\0\0\0#\377\0\0\0\0\343\0\0\0\0\2\0\0\0\24\0\0" \
- "\0\252\377\0\0\0\377\204\0\0\0\377\3/\4\21\377\203\14.\377\273\21A\377" \
- "\311\274\21B\377\3\241\17""8\377P\7\34\377\7\1\3\377\377\0\0\0\377\204" \
- "\0\0\0\377\3\0\0\0\372\0\0\0\210\0\0\0\6\377\0\0\0\0\340\0\0\0\0\2\0" \
- "\0\0^\0\0\0\351\377\0\0\0\377\203\0\0\0\377\2.\4\20\377\221\15""3\377" \
- "\316\274\21B\377\3\252\17<\377R\7\35\377\6\1\2\377\377\0\0\0\377\204" \
- "\0\0\0\377\2\0\0\0\322\0\0\0""5\377\0\0\0\0\335\0\0\0\0\2\0\0\0\34\0" \
- "\0\0\264\377\0\0\0\377\203\0\0\0\377\2""0\4\21\377\222\15""3\377\322" \
- "\274\21B\377\3\255\20=\377^\11!\377\12\1\4\377\377\0\0\0\377\203\0\0" \
- "\0\377\3\0\0\0\373\0\0\0\221\0\0\0\13\377\0\0\0\0\332\0\0\0\0\2\0\0\0" \
- "O\0\0\0\352\377\0\0\0\377\202\0\0\0\377\3\40\3\13\377\200\14-\377\273" \
- "\21B\377\325\274\21B\377\3\247\17:\377L\7\33\377\3\0\1\377\377\0\0\0" \
- "\377\203\0\0\0\377\2\0\0\0\321\0\0\0-\377\0\0\0\0\327\0\0\0\0\2\0\0\0" \
- "\22\0\0\0\252\377\0\0\0\377\202\0\0\0\377\3\12\1\4\377k\12&\377\272\21" \
- "A\377\331\274\21B\377\2\232\16""6\377-\4\20\377\377\0\0\0\377\203\0\0" \
- "\0\377\3\0\0\0\373\0\0\0\200\0\0\0\3\377\0\0\0\0\324\0\0\0\0\2\0\0\0" \
- "@\0\0\0\341\276\0\0\0\377\3\6\1\2\377\15\1\4\377\25\2\7\377\205\31\2" \
- "\11\377\2\15\1\4\377\1\0\1\377\270\0\0\0\377\3\1\0\0\377K\7\32\377\257" \
- "\20=\377\335\274\21B\377\2\204\14.\377\30\2\10\377\377\0\0\0\377\203" \
- "\0\0\0\377\2\0\0\0\307\0\0\0$\377\0\0\0\0\321\0\0\0\0\3\0\0\0\7\0\0\0" \
- "\221\0\0\0\376\264\0\0\0\377\12\24\2\7\377.\4\20\377F\6\31\377Z\10\40" \
- "\377k\12&\377~\13,\377\221\15""3\377\243\17""9\377\257\20>\377\263\20" \
- "\77\377\213\274\21B\377\13\263\20\77\377\250\17;\377\236\16""7\377\223" \
- "\15""4\377\202\14.\377q\12(\377_\11!\377P\7\34\377<\5\25\377+\4\17\377" \
- "\17\1\5\377\254\0\0\0\377\2\35\3\12\377\216\15""2\377\340\274\21B\377" \
- "\3\265\20@\377^\11!\377\6\1\2\377\377\0\0\0\377\202\0\0\0\377\2\0\0\0" \
- "\362\0\0\0f\377\0\0\0\0\317\0\0\0\0\2\0\0\0\35\0\0\0\307\260\0\0\0\377" \
- "\6\23\2\7\377:\5\24\377a\11\"\377\202\14.\377\234\16""7\377\265\20@\377" \
- "\240\274\21B\377\6\260\20>\377\224\15""4\377y\13*\377\\\10\40\377<\5" \
- "\25\377\12\1\4\377\244\0\0\0\377\3\1\0\0\377O\7\34\377\264\20\77\377" \
- "\343\274\21B\377\2\232\16""6\377#\3\14\377\260\0\0\0\377\2\12\1\4\377" \
- "\25\2\7\377\204\31\2\11\377\3\30\2\11\377\15\1\4\377\12\1\3\377\311\0" \
- "\0\0\377\2\0\0\0\237\0\0\0\11\377\0\0\0\0\314\0\0\0\0\2\0\0\0P\0\0\0" \
- "\361\254\0\0\0\377\5\3\0\1\377*\4\17\377X\10\37\377\202\14.\377\251\17" \
- ";\377\253\274\21B\377\2\255\20=\377-\4\20\377\242\0\0\0\377\2\24\2\7" \
- "\377\213\15""1\377\346\274\21B\377\3\271\21A\377d\11#\377\5\0\2\377\242" \
- "\0\0\0\377\14\7\1\3\377#\3\14\3778\5\24\377H\7\31\377[\10\40\377k\12" \
- "&\377}\13,\377\217\15""2\377\231\16""6\377\244\17:\377\257\20>\377\273" \
- "\21B\377\212\274\21B\377\13\270\21@\377\257\20>\377\251\17;\377\226\16" \
- "5\377\204\14.\377r\12(\377^\11!\377M\7\33\3775\5\23\377\33\2\12\377\4" \
- "\0\2\377\276\0\0\0\377\2\0\0\0\330\0\0\0*\377\0\0\0\0\311\0\0\0\0\3\0" \
- "\0\0\2\0\0\0\210\0\0\0\376\251\0\0\0\377\5\1\0\0\377&\3\15\377X\10\37" \
- "\377\210\14""0\377\263\20\77\377\260\274\21B\377\1\236\16""7\377\241" \
- "\0\0\0\377\2:\5\24\377\255\20=\377\351\274\21B\377\2\234\16""7\377%\3" \
- "\15\377\233\0\0\0\377\6\1\0\1\377-\4\20\377T\10\36\377o\12'\377\213\15" \
- "1\377\247\17:\377\240\274\21B\377\7\272\21A\377\244\17""9\377\212\14" \
- "0\377l\12&\377F\6\31\377\40\3\13\377\2\0\1\377\271\0\0\0\377\2\0\0\0" \
- "\362\0\0\0T\377\0\0\0\0\307\0\0\0\0\2\0\0\0\21\0\0\0\265\250\0\0\0\377" \
- "\4\4\0\2\3773\5\22\377n\12'\377\247\17;\377\264\274\21B\377\2\273\21" \
- "B\377\1\0\1\377\236\0\0\0\377\3\4\0\2\377f\11$\377\273\21B\377\353\274" \
- "\21B\377\2\265\20@\377Q\7\34\377\231\0\0\0\377\2\15\1\5\377\221\15""3" \
- "\377\253\274\21B\377\5\263\20\77\377\216\15""2\377f\11$\3778\5\24\377" \
- "\13\1\4\377\266\0\0\0\377\3\0\0\0\376\0\0\0\210\0\0\0\3\377\0\0\0\0\304" \
- "\0\0\0\0\2\0\0\0'\0\0\0\325\246\0\0\0\377\4\1\0\0\377/\4\21\377v\13)" \
- "\377\261\20>\377\267\274\21B\377\1\255\20=\377\236\0\0\0\377\2\25\2\10" \
- "\377\230\16""5\377\357\274\21B\377\2}\13,\377\10\1\3\377\227\0\0\0\377" \
- "\1b\11\"\377\260\274\21B\377\5\272\21A\377\226\16""5\377g\11$\3777\5" \
- "\23\377\7\1\2\377\264\0\0\0\377\2\0\0\0\262\0\0\0\20\377\0\0\0\0\302" \
- "\0\0\0\0\2\0\0\0L\0\0\0\363\245\0\0\0\377\3#\3\14\377k\12&\377\252\17" \
- "<\377\272\274\21B\377\1w\13*\377\235\0\0\0\377\2'\4\16\377\251\17;\377" \
- "\361\274\21B\377\2\232\16""6\377\30\2\10\377\226\0\0\0\377\1\202\14." \
- "\377\264\274\21B\377\4\264\20\77\377\200\14-\377E\6\30\377\16\1\5\377" \
- "\262\0\0\0\377\2\0\0\0\335\0\0\0'\377\0\0\0\0\300\0\0\0\0\2\0\0\0j\0" \
- "\0\0\374\243\0\0\0\377\4\1\0\1\3777\5\23\377\210\14""0\377\273\21B\377" \
- "\274\274\21B\377\1A\6\27\377\234\0\0\0\377\2C\6\30\377\266\20@\377\363" \
- "\274\21B\377\2\256\20=\3770\4\21\377\225\0\0\0\377\1s\12(\377\267\274" \
- "\21B\377\4\272\21A\377\213\15""1\377E\6\30\377\10\1\3\377\260\0\0\0\377" \
- "\2\0\0\0\355\0\0\0>\377\0\0\0\0\275\0\0\0\0\2\0\0\0\2\0\0\0\221\243\0" \
- "\0\0\377\3\17\1\5\377^\11!\377\252\17<\377\276\274\21B\377\2\244\17:" \
- "\377\4\0\1\377\233\0\0\0\377\2T\10\36\377\273\21A\377\365\274\21B\377" \
- "\2\266\20@\377A\6\27\377\224\0\0\0\377\1=\6\25\377\272\274\21B\377\4" \
- "\267\21@\377}\13,\3779\5\24\377\3\0\1\377\256\0\0\0\377\2\0\0\0\370\0" \
- "\0\0Y\377\0\0\0\0\273\0\0\0\0\2\0\0\0\11\0\0\0\254\242\0\0\0\377\3\13" \
- "\1\4\377^\11!\377\261\20>\377\300\274\21B\377\1O\7\34\377\233\0\0\0\377" \
- "\1f\11$\377\370\274\21B\377\2\273\21B\377S\7\35\377\223\0\0\0\377\2\12" \
- "\1\4\377\267\21@\377\274\274\21B\377\3\237\16""8\377P\7\34\377\12\1\3" \
- "\377\255\0\0\0\377\2\0\0\0\376\0\0\0\200\377\0\0\0\0\271\0\0\0\0\2\0" \
- "\0\0\16\0\0\0\274\241\0\0\0\377\3\12\1\4\377\\\10\40\377\257\20>\377" \
- "\301\274\21B\377\2\247\17:\377\5\0\2\377\232\0\0\0\377\1g\11$\377\373" \
- "\274\21B\377\1^\10!\377\223\0\0\0\377\1o\12'\377\276\274\21B\377\3\267" \
- "\21@\377w\13*\377!\3\14\377\255\0\0\0\377\2\0\0\0\214\0\0\0\1\377\0\0" \
- "\0\0\266\0\0\0\0\2\0\0\0\23\0\0\0\317\240\0\0\0\377\3\4\0\1\377T\10\36" \
- "\377\257\20=\377\303\274\21B\377\1=\6\25\377\231\0\0\0\377\2\1\0\0\377" \
- "o\12'\377\375\274\21B\377\1d\11#\377\222\0\0\0\377\2\30\2\11\377\270" \
- "\21A\377\277\274\21B\377\3\273\21A\377|\13+\377\37\3\13\377\254\0\0\0" \
- "\377\2\0\0\0\240\0\0\0\2\377\0\0\0\0\264\0\0\0\0\2\0\0\0\22\0\0\0\317" \
- "\240\0\0\0\377\2E\6\30\377\247\17:\377\304\274\21B\377\1\177\13-\377" \
- "\232\0\0\0\377\1c\11#\377\377\274\21B\377\1_\11!\377\222\0\0\0\377\1" \
- "r\12(\377\301\274\21B\377\3\273\21A\377z\13+\377\35\3\12\377\253\0\0" \
- "\0\377\2\0\0\0\237\0\0\0\2\377\0\0\0\0\262\0\0\0\0\2\0\0\0\22\0\0\0\316" \
- "\237\0\0\0\377\2\30\2\11\377\202\14.\377\305\274\21B\377\2\263\20\77" \
- "\377\26\2\10\377\231\0\0\0\377\1Q\7\34\377\377\274\21B\377\202\274\21" \
- "B\377\1M\7\33\377\221\0\0\0\377\2\20\1\6\377\257\20=\377\302\274\21B" \
- "\377\3\272\21A\377u\13)\377\22\2\6\377\252\0\0\0\377\2\0\0\0\236\0\0" \
- "\0\2\377\0\0\0\0\260\0\0\0\0\2\0\0\0\22\0\0\0\315\236\0\0\0\377\3\1\0" \
- "\1\377S\7\35\377\265\20\77\377\306\274\21B\377\1K\7\32\377\231\0\0\0" \
- "\377\2;\5\25\377\273\21A\377\377\274\21B\377\202\274\21B\377\2\270\21" \
- "A\3771\4\21\377\221\0\0\0\377\1E\6\30\377\304\274\21B\377\3\265\20@\377" \
- "^\11!\377\7\1\2\377\251\0\0\0\377\2\0\0\0\235\0\0\0\2\377\0\0\0\0\256" \
- "\0\0\0\0\2\0\0\0\21\0\0\0\315\236\0\0\0\377\2%\3\15\377\231\16""6\377" \
- "\307\274\21B\377\1w\13*\377\231\0\0\0\377\2)\4\16\377\265\20@\377\377" \
- "\274\21B\377\204\274\21B\377\2\257\20>\377\35\3\12\377\220\0\0\0\377" \
- "\2\1\0\0\377\216\15""2\377\305\274\21B\377\2\237\16""8\3775\5\23\377" \
- "\251\0\0\0\377\2\0\0\0\235\0\0\0\2\377\0\0\0\0\254\0\0\0\0\2\0\0\0\5" \
- "\0\0\0\274\235\0\0\0\377\3\1\0\0\377V\10\36\377\266\20@\377\307\274\21" \
- "B\377\2\243\17""9\377\13\1\4\377\230\0\0\0\377\2\14\1\4\377\245\17:\377" \
- "\377\274\21B\377\206\274\21B\377\2\236\16""7\377\12\1\4\377\220\0\0\0" \
- "\377\2\33\2\11\377\262\20>\377\306\274\21B\377\2x\13*\377\16\1\5\377" \
- "\250\0\0\0\377\1\0\0\0\204\377\0\0\0\0\253\0\0\0\0\2\0\0\0\1\0\0\0\251" \
- "\235\0\0\0\377\2\16\1\5\377\205\14/\377\310\274\21B\377\2\270\21@\377" \
- "(\4\16\377\231\0\0\0\377\1\200\14-\377\377\274\21B\377\210\274\21B\377" \
- "\1\200\14-\377\221\0\0\0\377\1=\6\25\377\307\274\21B\377\2\260\20>\377" \
- "K\7\32\377\250\0\0\0\377\1\0\0\0l\377\0\0\0\0\252\0\0\0\0\1\0\0\0\204" \
- "\235\0\0\0\377\2""2\5\22\377\254\20<\377\311\274\21B\377\1E\6\30\377" \
- "\231\0\0\0\377\1E\6\30\377\377\274\21B\377\212\274\21B\377\1E\6\30\377" \
- "\221\0\0\0\377\1t\12)\377\310\274\21B\377\2}\13,\377\15\1\4\377\246\0" \
- "\0\0\377\2\0\0\0\374\0\0\0O\377\0\0\0\0\250\0\0\0\0\1\0\0\0h\235\0\0" \
- "\0\377\2P\7\34\377\270\21@\377\311\274\21B\377\1o\12'\377\231\0\0\0\377" \
- "\2\30\2\11\377\262\20>\377\377\274\21B\377\212\274\21B\377\2\260\20>" \
- "\377\23\2\7\377\220\0\0\0\377\2\10\1\3\377\236\16""7\377\310\274\21B" \
- "\377\2\244\17:\377(\4\16\377\246\0\0\0\377\2\0\0\0\363\0\0\0""1\377\0" \
- "\0\0\0\246\0\0\0\0\2\0\0\0E\0\0\0\372\233\0\0\0\377\2\6\1\2\377{\13+" \
- "\377\312\274\21B\377\2\207\14/\377\2\0\1\377\231\0\0\0\377\1\200\14-" \
- "\377\377\274\21B\377\214\274\21B\377\1\200\14-\377\221\0\0\0\377\2\30" \
- "\2\10\377\255\20=\377\310\274\21B\377\3\271\21A\377^\11!\377\1\0\1\377" \
- "\245\0\0\0\377\2\0\0\0\346\0\0\0\36\377\0\0\0\0\244\0\0\0\0\2\0\0\0'" \
- "\0\0\0\355\233\0\0\0\377\2\14\1\4\377\211\14""0\377\312\274\21B\377\2" \
- "\246\17:\377\20\1\6\377\231\0\0\0\377\1/\4\21\377\377\274\21B\377\216" \
- "\274\21B\377\1""6\5\23\377\221\0\0\0\377\2""6\5\23\377\272\21A\377\311" \
- "\274\21B\377\2\177\13-\377\11\1\3\377\245\0\0\0\377\2\0\0\0\314\0\0\0" \
- "\13\377\0\0\0\0\242\0\0\0\0\2\0\0\0\20\0\0\0\333\233\0\0\0\377\2\31\2" \
- "\11\377\236\16""7\377\312\274\21B\377\2\261\20>\377\40\3\13\377\232\0" \
- "\0\0\377\1\221\15""3\377\377\274\21B\377\216\274\21B\377\2\233\16""6" \
- "\377\1\0\1\377\221\0\0\0\377\1R\7\35\377\312\274\21B\377\2\241\17""8" \
- "\377\33\2\12\377\245\0\0\0\377\2\0\0\0\261\0\0\0\1\377\0\0\0\0\240\0" \
- "\0\0\0\2\0\0\0\2\0\0\0\263\233\0\0\0\377\2#\3\14\377\254\20<\377\312" \
- "\274\21B\377\2\267\21@\377-\4\20\377\232\0\0\0\377\1""3\5\22\377\377" \
- "\274\21B\377\220\274\21B\377\1:\5\24\377\222\0\0\0\377\1y\13*\377\312" \
- "\274\21B\377\2\251\17;\377&\3\15\377\245\0\0\0\377\1\0\0\0v\377\0\0\0" \
- "\0\240\0\0\0\0\1\0\0\0u\233\0\0\0\377\2*\4\17\377\260\20>\377\312\274" \
- "\21B\377\2\273\21B\377@\6\27\377\233\0\0\0\377\1\206\14/\377\377\274" \
- "\21B\377\220\274\21B\377\1\216\15""2\377\222\0\0\0\377\2\6\1\2\377\221" \
- "\15""3\377\312\274\21B\377\2\265\20\77\377<\5\25\377\244\0\0\0\377\2" \
- "\0\0\0\372\0\0\0<\377\0\0\0\0\236\0\0\0\0\2\0\0\0>\0\0\0\375\232\0\0" \
- "\0\377\2""2\5\22\377\264\20\77\377\313\274\21B\377\1]\10!\377\233\0\0" \
- "\0\377\2\22\2\6\377\272\21A\377\377\274\21B\377\221\274\21B\377\1\40" \
- "\3\13\377\222\0\0\0\377\2\12\1\4\377\233\16""6\377\312\274\21B\377\2" \
- "\273\21B\377R\7\35\377\244\0\0\0\377\2\0\0\0\346\0\0\0\24\377\0\0\0\0" \
- "\234\0\0\0\0\2\0\0\0\15\0\0\0\336\232\0\0\0\377\2)\4\16\377\263\20\77" \
- "\377\313\274\21B\377\2v\13)\377\1\0\0\377\233\0\0\0\377\1J\7\32\377\377" \
- "\274\21B\377\222\274\21B\377\1e\11#\377\223\0\0\0\377\2\30\2\10\377\253" \
- "\17<\377\312\274\21B\377\2\273\21B\377V\10\36\377\244\0\0\0\377\1\0\0" \
- "\0\257\377\0\0\0\0\234\0\0\0\0\1\0\0\0\234\232\0\0\0\377\2%\3\15\377" \
- "\262\20>\377\313\274\21B\377\2|\13+\377\1\0\1\377\234\0\0\0\377\1w\13" \
- "*\377\377\274\21B\377\222\274\21B\377\1\244\17""9\377\224\0\0\0\377\2" \
- "&\3\15\377\264\20\77\377\313\274\21B\377\1d\11#\377\244\0\0\0\377\1\0" \
- "\0\0b\377\0\0\0\0\232\0\0\0\0\2\0\0\0F\0\0\0\376\231\0\0\0\377\2\35\3" \
- "\12\377\255\20=\377\313\274\21B\377\2\207\14/\377\4\0\1\377\235\0\0\0" \
- "\377\1\231\16""6\377\377\274\21B\377\223\274\21B\377\1\33\2\12\377\224" \
- "\0\0\0\377\2>\6\26\377\272\21A\377\313\274\21B\377\1Z\10\40\377\243\0" \
- "\0\0\377\2\0\0\0\357\0\0\0\32\377\0\0\0\0\230\0\0\0\0\2\0\0\0\21\0\0" \
- "\0\346\231\0\0\0\377\2\17\1\5\377\240\16""8\377\313\274\21B\377\2\227" \
- "\16""5\377\12\1\4\377\236\0\0\0\377\1\253\17<\377\377\274\21B\377\223" \
- "\274\21B\377\1K\7\32\377\225\0\0\0\377\2D\6\30\377\273\21A\377\313\274" \
- "\21B\377\1T\10\36\377\243\0\0\0\377\1\0\0\0\266\377\0\0\0\0\230\0\0\0" \
- "\0\1\0\0\0\233\231\0\0\0\377\2\4\0\1\377\217\15""2\377\313\274\21B\377" \
- "\2\237\16""8\377\20\1\6\377\237\0\0\0\377\1\262\20\77\377\377\274\21" \
- "B\377\223\274\21B\377\1n\12'\377\226\0\0\0\377\1O\7\34\377\313\274\21" \
- "B\377\2\273\21B\377G\6\31\377\243\0\0\0\377\1\0\0\0_\377\0\0\0\0\226" \
- "\0\0\0\0\2\0\0\0=\0\0\0\376\231\0\0\0\377\1w\13*\377\313\274\21B\377" \
- "\2\234\16""7\377\17\1\5\377\240\0\0\0\377\1\254\20<\377\377\274\21B\377" \
- "\223\274\21B\377\1\213\15""1\377\227\0\0\0\377\1g\11$\377\313\274\21" \
- "B\377\2\267\21@\3771\4\21\377\242\0\0\0\377\2\0\0\0\353\0\0\0\22\377" \
- "\0\0\0\0\224\0\0\0\0\2\0\0\0\5\0\0\0\325\231\0\0\0\377\1M\7\33\377\313" \
- "\274\21B\377\2\234\16""7\377\20\1\6\377\241\0\0\0\377\1\237\16""8\377" \
- "\377\274\21B\377\223\274\21B\377\1\237\16""8\377\227\0\0\0\377\2\1\0" \
- "\0\377t\12)\377\313\274\21B\377\2\260\20>\377\33\2\12\377\242\0\0\0\377" \
- "\1\0\0\0\231\377\0\0\0\0\224\0\0\0\0\1\0\0\0n\231\0\0\0\377\2(\4\16\377" \
- "\267\21@\377\312\274\21B\377\2\242\17""9\377\25\2\10\377\242\0\0\0\377" \
- "\1\206\14/\377\377\274\21B\377\223\274\21B\377\1\251\17;\377\230\0\0" \
- "\0\377\2\1\0\0\377o\12'\377\313\274\21B\377\2\241\17""8\377\14\1\4\377" \
- "\241\0\0\0\377\2\0\0\0\375\0\0\0""6\377\0\0\0\0\222\0\0\0\0\2\0\0\0\22" \
- "\0\0\0\354\230\0\0\0\377\2\16\1\5\377\247\17;\377\312\274\21B\377\2\235" \
- "\16""7\377\21\2\6\377\243\0\0\0\377\1h\11$\377\377\274\21B\377\223\274" \
- "\21B\377\1\255\20=\377\231\0\0\0\377\2\1\0\0\377o\12'\377\313\274\21" \
- "B\377\2\210\14""0\377\2\0\1\377\241\0\0\0\377\1\0\0\0\301\377\0\0\0\0" \
- "\222\0\0\0\0\1\0\0\0\222\231\0\0\0\377\1\200\14-\377\312\274\21B\377" \
- "\2\236\16""7\377\21\2\6\377\244\0\0\0\377\1>\6\26\377\377\274\21B\377" \
- "\223\274\21B\377\1\244\17:\377\232\0\0\0\377\2\2\0\1\377z\13+\377\313" \
- "\274\21B\377\1]\10!\377\242\0\0\0\377\1\0\0\0V\377\0\0\0\0\220\0\0\0" \
- "\0\2\0\0\0%\0\0\0\372\230\0\0\0\377\1K\7\32\377\312\274\21B\377\2\242" \
- "\17""9\377\25\2\7\377\245\0\0\0\377\2\16\1\5\377\272\21A\377\377\274" \
- "\21B\377\222\274\21B\377\1\226\16""5\377\233\0\0\0\377\2\1\0\1\377v\13" \
- ")\377\312\274\21B\377\2\273\21A\3773\5\22\377\241\0\0\0\377\2\0\0\0\336" \
- "\0\0\0\6\377\0\0\0\0\217\0\0\0\0\1\0\0\0\252\230\0\0\0\377\2\33\2\12" \
- "\377\263\20\77\377\311\274\21B\377\2\247\17:\377\31\2\11\377\247\0\0" \
- "\0\377\1\217\15""2\377\377\274\21B\377\222\274\21B\377\1~\13,\377\234" \
- "\0\0\0\377\2\1\0\1\377w\13*\377\312\274\21B\377\2\253\17<\377\21\2\6" \
- "\377\241\0\0\0\377\1\0\0\0l\377\0\0\0\0\216\0\0\0\0\2\0\0\0""0\0\0\0" \
- "\376\227\0\0\0\377\2\1\0\1\377\223\15""4\377\311\274\21B\377\2\243\17" \
- "9\377\25\2\10\377\250\0\0\0\377\1K\7\32\377\377\274\21B\377\222\274\21" \
- "B\377\1`\11\"\377\235\0\0\0\377\2\2\0\1\377x\13*\377\312\274\21B\377" \
- "\2\206\14/\377\1\0\0\377\240\0\0\0\377\2\0\0\0\346\0\0\0\11\377\0\0\0" \
- "\0\215\0\0\0\0\1\0\0\0\257\230\0\0\0\377\1K\7\32\377\311\274\21B\377" \
- "\2\244\17""9\377\26\2\10\377\251\0\0\0\377\2\12\1\3\377\262\20\77\377" \
- "\377\274\21B\377\221\274\21B\377\1""5\5\23\377\236\0\0\0\377\2\4\0\1" \
- "\377\200\14-\377\312\274\21B\377\1K\7\32\377\241\0\0\0\377\1\0\0\0q\377" \
- "\0\0\0\0\214\0\0\0\0\2\0\0\0-\0\0\0\376\227\0\0\0\377\2\17\1\5\377\255" \
- "\20=\377\310\274\21B\377\2\246\17:\377\33\2\12\377\253\0\0\0\377\1e\11" \
- "#\377\377\274\21B\377\220\274\21B\377\2\266\20@\377\11\1\3\377\237\0" \
- "\0\0\377\2\2\0\1\377z\13+\377\311\274\21B\377\2\265\20\77\377\30\2\11" \
- "\377\240\0\0\0\377\2\0\0\0\347\0\0\0\11\377\0\0\0\0\213\0\0\0\0\1\0\0" \
- "\0\246\230\0\0\0\377\1z\13+\377\310\274\21B\377\2\233\16""6\377\22\2" \
- "\6\377\254\0\0\0\377\2\20\1\6\377\263\20\77\377\377\274\21B\377\217\274" \
- "\21B\377\1\204\14.\377\241\0\0\0\377\2\2\0\1\377z\13+\377\311\274\21" \
- "B\377\1\206\14/\377\241\0\0\0\377\1\0\0\0j\377\0\0\0\0\212\0\0\0\0\2" \
- "\0\0\0\36\0\0\0\373\227\0\0\0\377\2*\4\17\377\273\21B\377\307\274\21" \
- "B\377\2\233\16""6\377\22\2\6\377\256\0\0\0\377\1O\7\34\377\377\274\21" \
- "B\377\217\274\21B\377\1>\6\26\377\242\0\0\0\377\2\5\0\2\377\201\14-\377" \
- "\311\274\21B\377\1:\5\24\377\240\0\0\0\377\2\0\0\0\332\0\0\0\2\377\0" \
- "\0\0\0\211\0\0\0\0\1\0\0\0\215\227\0\0\0\377\2\1\0\0\377\224\15""4\377" \
- "\307\274\21B\377\2\213\15""1\377\11\1\3\377\257\0\0\0\377\2\2\0\1\377" \
- "\227\16""5\377\377\274\21B\377\215\274\21B\377\2\254\20<\377\4\0\2\377" \
- "\243\0\0\0\377\2\2\0\1\377r\12(\377\310\274\21B\377\2\252\17<\377\14" \
- "\1\4\377\240\0\0\0\377\1\0\0\0Q\377\0\0\0\0\210\0\0\0\0\2\0\0\0\16\0" \
- "\0\0\362\227\0\0\0\377\1>\6\26\377\307\274\21B\377\2\207\14/\377\7\1" \
- "\3\377\261\0\0\0\377\2!\3\14\377\270\21A\377\377\274\21B\377\214\274" \
- "\21B\377\1V\10\36\377\245\0\0\0\377\2\1\0\1\377o\12'\377\310\274\21B" \
- "\377\1d\11#\377\240\0\0\0\377\1\0\0\0\300\377\0\0\0\0\210\0\0\0\0\1\0" \
- "\0\0j\227\0\0\0\377\2\4\0\2\377\243\17""9\377\306\274\21B\377\2~\13," \
- "\377\4\0\2\377\263\0\0\0\377\1a\11\"\377\377\274\21B\377\213\274\21B" \
- "\377\2\254\20<\377\11\1\3\377\247\0\0\0\377\1X\10\37\377\307\274\21B" \
- "\377\2\270\21@\377\31\2\11\377\237\0\0\0\377\2\0\0\0\376\0\0\0-\377\0" \
- "\0\0\0\206\0\0\0\0\2\0\0\0\1\0\0\0\330\227\0\0\0\377\1J\7\32\377\306" \
- "\274\21B\377\2}\13,\377\4\0\1\377\264\0\0\0\377\2\1\0\0\377|\13+\377" \
- "\377\274\21B\377\212\274\21B\377\1C\6\30\377\251\0\0\0\377\2P\7\34\377" \
- "\273\21B\377\306\274\21B\377\1w\13*\377\240\0\0\0\377\1\0\0\0\230\377" \
- "\0\0\0\0\206\0\0\0\0\1\0\0\0""9\227\0\0\0\377\2\4\0\2\377\247\17:\377" \
- "\305\274\21B\377\2i\12%\377\1\0\0\377\266\0\0\0\377\2\12\1\4\377\235" \
- "\16""7\377\377\274\21B\377\210\274\21B\377\2\214\15""1\377\1\0\0\377" \
- "\252\0\0\0\377\2K\7\32\377\273\21A\377\305\274\21B\377\2\273\21A\377" \
- "%\3\15\377\237\0\0\0\377\2\0\0\0\361\0\0\0\12\377\0\0\0\0\205\0\0\0\0" \
- "\1\0\0\0\233\227\0\0\0\377\1E\6\30\377\305\274\21B\377\1^\11!\377\271" \
- "\0\0\0\377\2\32\2\11\377\256\20=\377\377\274\21B\377\206\274\21B\377" \
- "\2\261\20>\377\26\2\10\377\254\0\0\0\377\2H\7\31\377\272\21A\377\305" \
- "\274\21B\377\1\204\14.\377\240\0\0\0\377\1\0\0\0]\377\0\0\0\0\204\0\0" \
- "\0\0\2\0\0\0\14\0\0\0\363\226\0\0\0\377\2\1\0\1\377\236\16""7\377\304" \
- "\274\21B\377\1X\10\37\377\273\0\0\0\377\2#\3\14\377\255\20=\377\377\274" \
- "\21B\377\204\274\21B\377\2\272\21A\3779\5\24\377\256\0\0\0\377\2""8\5" \
- "\24\377\266\20@\377\305\274\21B\377\1)\4\16\377\237\0\0\0\377\1\0\0\0" \
- "\300\377\0\0\0\0\204\0\0\0\0\1\0\0\0X\227\0\0\0\377\1""7\5\23\377\303" \
- "\274\21B\377\2\273\21A\377S\10\35\377\275\0\0\0\377\2\34\3\12\377\250" \
- "\17;\377\377\274\21B\377\203\274\21B\377\1H\7\31\377\260\0\0\0\377\2" \
- "/\4\21\377\262\20\77\377\304\274\21B\377\1\177\13-\377\237\0\0\0\377" \
- "\2\0\0\0\375\0\0\0\34\377\0\0\0\0\203\0\0\0\0\1\0\0\0\262\227\0\0\0\377" \
- "\1\214\15""1\377\302\274\21B\377\2\266\20@\377\77\6\26\377\277\0\0\0" \
- "\377\2\30\2\10\377\244\17""9\377\377\274\21B\377\2\274\21B\377_\11!\377" \
- "\262\0\0\0\377\2'\4\16\377\256\20=\377\303\274\21B\377\2\273\21A\377" \
- "\37\3\13\377\237\0\0\0\377\1\0\0\0u\377\0\0\0\0\202\0\0\0\0\2\0\0\0\22" \
- "\0\0\0\372\226\0\0\0\377\1\40\3\13\377\302\274\21B\377\2\253\17<\377" \
- "'\4\16\377\301\0\0\0\377\2\32\2\11\377\234\16""7\377\376\274\21B\377" \
- "\2r\12(\377\1\0\0\377\263\0\0\0\377\2'\4\16\377\254\20<\377\303\274\21" \
- "B\377\1q\12(\377\237\0\0\0\377\1\0\0\0\314\377\0\0\0\0\202\0\0\0\0\1" \
- "\0\0\0b\227\0\0\0\377\1i\12%\377\301\274\21B\377\2\237\16""8\377\30\2" \
- "\11\377\303\0\0\0\377\2\6\1\2\377w\13*\377\374\274\21B\377\1X\10\37\377" \
- "\266\0\0\0\377\2\32\2\11\377\240\16""8\377\302\274\21B\377\2\267\21@" \
- "\377\21\2\6\377\237\0\0\0\377\1\0\0\0%\377\0\0\0\0\2\0\0\0\0\0\0\0\263" \
- "\226\0\0\0\377\2\7\1\3\377\260\20>\377\300\274\21B\377\2\220\15""2\377" \
- "\15\1\5\377\306\0\0\0\377\2R\7\35\377\272\21A\377\370\274\21B\377\2\271" \
- "\21A\377G\6\31\377\270\0\0\0\377\2\14\1\4\377\215\15""1\377\302\274\21" \
- "B\377\1Z\10\40\377\237\0\0\0\377\1\0\0\0u\377\0\0\0\0\2\0\0\0\12\0\0" \
- "\0\367\226\0\0\0\377\1D\6\30\377\300\274\21B\377\2}\13,\377\5\0\2\377" \
- "\310\0\0\0\377\2:\5\24\377\254\20<\377\366\274\21B\377\2\263\20\77\377" \
- "@\6\27\377\272\0\0\0\377\2\4\0\2\377y\13*\377\301\274\21B\377\2\244\17" \
- "9\377\1\0\1\377\236\0\0\0\377\1\0\0\0\303\377\0\0\0\0\1\0\0\0M\227\0" \
- "\0\0\377\1\212\14""0\377\277\274\21B\377\2r\12(\377\3\0\1\377\312\0\0" \
- "\0\377\3\13\1\4\377q\12(\377\273\21B\377\363\274\21B\377\2\221\15""3" \
- "\377\27\2\10\377\274\0\0\0\377\2\1\0\0\377^\11!\377\301\274\21B\377\1" \
- "4\5\22\377\236\0\0\0\377\2\0\0\0\374\0\0\0\24\376\0\0\0\0\1\0\0\0\230" \
- "\226\0\0\0\377\2\20\1\6\377\272\21A\377\275\274\21B\377\2\273\21A\377" \
- "R\7\35\377\316\0\0\0\377\2.\4\20\377\241\17""8\377\360\274\21B\377\3" \
- "\273\21A\377^\11!\377\3\0\1\377\277\0\0\0\377\2I\7\32\377\271\21A\377" \
- "\277\274\21B\377\1~\13,\377\237\0\0\0\377\1\0\0\0\\\376\0\0\0\0\1\0\0" \
- "\0\340\226\0\0\0\377\1L\7\33\377\275\274\21B\377\2\265\20@\377<\5\25" \
- "\377\320\0\0\0\377\3\13\1\4\377m\12&\377\271\21A\377\355\274\21B\377" \
- "\2\245\17:\3778\5\24\377\302\0\0\0\377\2\77\6\26\377\266\20@\377\276" \
- "\274\21B\377\2\267\21@\377\15\1\4\377\236\0\0\0\377\1\0\0\0\244\375\0" \
- "\0\0\0\1\0\0\0'\227\0\0\0\377\1\211\14""0\377\274\274\21B\377\2\255\20" \
- "=\377*\4\17\377\323\0\0\0\377\3\25\2\10\377q\12(\377\273\21A\377\351" \
- "\274\21B\377\3\262\20>\377R\7\35\377\4\0\1\377\304\0\0\0\377\2'\4\16" \
- "\377\253\17<\377\276\274\21B\377\1I\7\32\377\236\0\0\0\377\2\0\0\0\351" \
- "\0\0\0\1\374\0\0\0\0\1\0\0\0i\226\0\0\0\377\2\15\1\4\377\270\21A\377" \
- "\273\274\21B\377\2\245\17:\377\"\3\14\377\326\0\0\0\377\2&\3\15\377\214" \
- "\15""1\377\346\274\21B\377\3\273\21A\377q\12(\377\22\2\6\377\307\0\0" \
- "\0\377\2\30\2\11\377\237\16""8\377\275\274\21B\377\1\206\14/\377\237" \
- "\0\0\0\377\1\0\0\0,\374\0\0\0\0\1\0\0\0\252\226\0\0\0\377\1E\6\30\377" \
- "\273\274\21B\377\2\222\15""3\377\21\2\6\377\330\0\0\0\377\3\1\0\0\377" \
- "<\5\25\377\224\15""4\377\342\274\21B\377\3\273\21B\377\203\14.\377*\4" \
- "\17\377\312\0\0\0\377\2\15\1\5\377\217\15""2\377\274\274\21B\377\2\270" \
- "\21A\377\15\1\5\377\236\0\0\0\377\1\0\0\0m\373\0\0\0\0\2\0\0\0\2\0\0" \
- "\0\354\226\0\0\0\377\1|\13+\377\272\274\21B\377\2m\12&\377\3\0\1\377" \
- "\334\0\0\0\377\3$\3\15\377w\13*\377\272\21A\377\335\274\21B\377\3\266" \
- "\20@\377k\12&\377\31\2\11\377\315\0\0\0\377\2\11\1\3\377\202\14.\377" \
- "\274\274\21B\377\1C\6\30\377\236\0\0\0\377\1\0\0\0\256\373\0\0\0\0\1" \
- "\0\0\0)\226\0\0\0\377\2\1\0\1\377\256\20=\377\270\274\21B\377\2\271\21" \
- "A\377K\7\32\377\340\0\0\0\377\3\"\3\14\377y\13*\377\270\21A\377\331\274" \
- "\21B\377\3\257\20>\377k\12&\377\30\2\11\377\320\0\0\0\377\2\1\0\1\377" \
- "e\11#\377\273\274\21B\377\1\200\14-\377\236\0\0\0\377\1\0\0\0\352\373" \
- "\0\0\0\0\1\0\0\0a\226\0\0\0\377\1%\3\15\377\270\274\21B\377\2\260\20" \
- ">\3774\5\22\377\343\0\0\0\377\4\13\1\4\377E\6\30\377\204\14.\377\272" \
- "\21A\377\323\274\21B\377\4\271\21A\377}\13,\3772\5\22\377\2\0\1\377\324" \
- "\0\0\0\377\2\77\6\26\377\265\20\77\377\271\274\21B\377\2\262\20\77\377" \
- "\4\0\1\377\236\0\0\0\377\1\0\0\0$\372\0\0\0\0\1\0\0\0\230\226\0\0\0\377" \
- "\1X\10\37\377\267\274\21B\377\2\237\16""8\377\33\2\12\377\347\0\0\0\377" \
- "\3\34\3\12\377_\11!\377\243\17""9\377\317\274\21B\377\3\245\17:\377f" \
- "\11$\377\34\3\12\377\330\0\0\0\377\2#\3\14\377\247\17:\377\271\274\21" \
- "B\377\1,\4\20\377\236\0\0\0\377\1\0\0\0[\372\0\0\0\0\1\0\0\0\320\226" \
- "\0\0\0\377\1\210\14""0\377\266\274\21B\377\2\223\15""4\377\22\2\6\377" \
- "\352\0\0\0\377\5\1\0\0\377'\4\16\377^\11!\377\226\16""5\377\273\21B\377" \
- "\307\274\21B\377\4\273\21B\377\227\16""5\377]\10!\377#\3\14\377\334\0" \
- "\0\0\377\2\23\2\7\377\225\15""4\377\270\274\21B\377\1_\11!\377\236\0" \
- "\0\0\377\1\0\0\0\222\371\0\0\0\0\2\0\0\0\12\0\0\0\373\225\0\0\0\377\2" \
- "\3\0\1\377\265\20\77\377\265\274\21B\377\2m\12&\377\3\0\1\377\357\0\0" \
- "\0\377\4\22\2\6\377J\7\32\377\201\14-\377\264\20\77\377\301\274\21B\377" \
- "\4\255\20=\377\202\14.\377N\7\33\377\25\2\10\377\340\0\0\0\377\2\6\1" \
- "\2\377z\13+\377\267\274\21B\377\1\222\15""3\377\236\0\0\0\377\1\0\0\0" \
- "\310\371\0\0\0\0\1\0\0\0""8\226\0\0\0\377\1\40\3\13\377\264\274\21B\377" \
- "\2\271\21A\377K\7\32\377\364\0\0\0\377\5\4\0\2\377*\4\17\377U\10\36\377" \
- "\201\14-\377\253\17<\377\271\274\21B\377\4\241\17""8\377u\13)\377I\7" \
- "\32\377\35\3\12\377\345\0\0\0\377\2\2\0\1\377g\11$\377\266\274\21B\377" \
- "\2\270\21A\377\12\1\4\377\235\0\0\0\377\2\0\0\0\367\0\0\0\4\370\0\0\0" \
- "\0\1\0\0\0e\226\0\0\0\377\1H\7\31\377\263\274\21B\377\2\261\20>\3774" \
- "\5\22\377\372\0\0\0\377\5\33\2\12\377F\6\31\377p\12'\377\222\15""3\377" \
- "\260\20>\377\256\274\21B\377\6\270\21@\377\231\16""6\377w\13*\377V\10" \
- "\36\3773\5\22\377\20\1\6\377\353\0\0\0\377\2\77\6\26\377\265\20@\377" \
- "\265\274\21B\377\1""4\5\22\377\236\0\0\0\377\1\0\0\0(\370\0\0\0\0\1\0" \
- "\0\0\222\226\0\0\0\377\1n\12'\377\262\274\21B\377\2\241\17""8\377\"\3" \
- "\14\377\377\0\0\0\377\10\0\0\0\377\22\2\6\3771\4\21\377P\7\34\377o\12" \
- "'\377\215\15""1\377\247\17:\377\267\21@\377\240\274\21B\377\10\262\20" \
- ">\377\234\16""7\377\205\14/\377o\12'\377Z\10\40\377B\6\27\377!\3\14\377" \
- "\4\0\1\377\361\0\0\0\377\2)\4\16\377\252\17<\377\264\274\21B\377\1[\10" \
- "\40\377\236\0\0\0\377\1\0\0\0U\370\0\0\0\0\1\0\0\0\300\226\0\0\0\377" \
- "\1\226\16""5\377\261\274\21B\377\2{\13+\377\11\1\3\377\377\0\0\0\377" \
- "\211\0\0\0\377\15\15\1\5\377\37\3\13\3770\4\21\377C\6\30\377S\10\35\377" \
- "f\11$\377q\12(\377y\13*\377}\13,\377\212\14""0\377\216\15""2\377\226" \
- "\16""5\377\240\16""8\377\205\243\17""9\377\204\226\16""5\377\12\213\15" \
- "1\377\177\13-\377r\12(\377e\11#\377X\10\37\377L\7\33\377\77\6\26\377" \
- "2\5\22\377\40\3\13\377\13\1\4\377\372\0\0\0\377\2\24\2\7\377\226\16""5" \
- "\377\263\274\21B\377\1\202\14.\377\236\0\0\0\377\1\0\0\0\202\370\0\0" \
- "\0\0\1\0\0\0\353\225\0\0\0\377\2\3\0\1\377\267\21@\377\257\274\21B\377" \
- "\3\271\21A\377W\10\37\377\1\0\0\377\377\0\0\0\377\377\0\0\0\377\246\0" \
- "\0\0\377\2\12\1\3\377~\13,\377\262\274\21B\377\1\251\17;\377\236\0\0" \
- "\0\377\1\0\0\0\255\367\0\0\0\0\1\0\0\0\25\226\0\0\0\377\1\35\3\12\377" \
- "\257\274\21B\377\2\245\17:\377&\3\15\377\377\0\0\0\377\377\0\0\0\377" \
- "\252\0\0\0\377\2K\7\32\377\267\21@\377\261\274\21B\377\1\25\2\10\377" \
- "\235\0\0\0\377\1\0\0\0\326\367\0\0\0\0\1\0\0\0""8\226\0\0\0\377\1:\5" \
- "\24\377\256\274\21B\377\2\211\14""0\377\17\1\5\377\377\0\0\0\377\344" \
- "\0\0\0\377\6\4\0\1\377\23\2\7\377%\3\15\3777\5\23\377\77\6\26\377E\6" \
- "\30\377\205K\7\32\377\5\77\6\26\3775\5\23\377+\4\17\377\"\3\14\377\15" \
- "\1\5\377\267\0\0\0\377\2-\4\20\377\252\17<\377\260\274\21B\377\1:\5\24" \
- "\377\235\0\0\0\377\2\0\0\0\370\0\0\0\3\366\0\0\0\0\1\0\0\0\\\226\0\0" \
- "\0\377\1V\10\36\377\254\274\21B\377\3\273\21A\377^\11!\377\2\0\1\377" \
- "\377\0\0\0\377\337\0\0\0\377\6\13\1\4\3771\4\21\377V\10\36\377r\12(\377" \
- "\215\15""1\377\250\17;\377\220\274\21B\377\7\262\20>\377\232\16""6\377" \
- "\201\14-\377d\11#\377E\6\30\377&\3\15\377\10\1\3\377\261\0\0\0\377\2" \
- "\16\1\5\377\210\14""0\377\257\274\21B\377\1X\10\37\377\236\0\0\0\377" \
- "\1\0\0\0\37\366\0\0\0\0\1\0\0\0\200\226\0\0\0\377\1r\12(\377\253\274" \
- "\21B\377\2\257\20>\3778\5\24\377\377\0\0\0\377\335\0\0\0\377\5\23\2\7" \
- "\377E\6\30\377w\13*\377\240\16""8\377\273\21B\377\233\274\21B\377\5\271" \
- "\21A\377\231\16""6\377p\12'\377H\6\31\377\30\2\11\377\256\0\0\0\377\3" \
- "\1\0\0\377X\10\37\377\273\21A\377\255\274\21B\377\1t\13)\377\236\0\0" \
- "\0\377\1\0\0\0C\366\0\0\0\0\1\0\0\0\242\226\0\0\0\377\1\217\15""2\377" \
- "\252\274\21B\377\2\231\16""6\377\33\2\11\377\377\0\0\0\377\333\0\0\0" \
- "\377\3&\3\15\377d\11#\377\235\16""7\377\245\274\21B\377\4\241\17""9\377" \
- "o\12'\377;\5\25\377\7\1\2\377\254\0\0\0\377\2""7\5\23\377\257\20=\377" \
- "\254\274\21B\377\1\221\15""3\377\236\0\0\0\377\1\0\0\0f\366\0\0\0\0\1" \
- "\0\0\0\302\226\0\0\0\377\1\247\17;\377\251\274\21B\377\2}\13,\377\11" \
- "\1\3\377\306\0\0\0\377\5\17\1\5\377#\3\14\377-\4\20\3777\5\23\377@\6" \
- "\27\377\205K\7\32\377\6E\6\30\377\77\6\26\3776\5\23\377#\3\14\377\22" \
- "\2\6\377\3\0\1\377\377\0\0\0\377\203\0\0\0\377\3\35\3\12\377d\11#\377" \
- "\244\17:\377\253\274\21B\377\4\264\20\77\377}\13,\377@\6\27\377\10\1" \
- "\3\377\252\0\0\0\377\2\25\2\10\377\224\15""4\377\253\274\21B\377\1\256" \
- "\20=\377\236\0\0\0\377\1\0\0\0\206\366\0\0\0\0\1\0\0\0\336\225\0\0\0" \
- "\377\2\1\0\1\377\271\21A\377\247\274\21B\377\2\264\20\77\377E\6\30\377" \
- "\301\0\0\0\377\7\12\1\3\377)\4\16\377H\7\31\377f\11$\377\203\14.\377" \
- "\234\16""7\377\264\20\77\377\217\274\21B\377\7\273\21B\377\246\17:\377" \
- "\213\15""1\377o\12'\377S\7\35\377.\4\20\377\11\1\3\377\371\0\0\0\377" \
- "\4\5\0\2\377E\6\30\377\217\15""2\377\273\21B\377\260\274\21B\377\4\264" \
- "\20\77\377w\13*\3773\5\22\377\1\0\1\377\250\0\0\0\377\2\5\0\2\377k\12" \
- "&\377\253\274\21B\377\1\16\1\5\377\235\0\0\0\377\1\0\0\0\241\365\0\0" \
- "\0\0\2\0\0\0\1\0\0\0\370\225\0\0\0\377\1\17\1\5\377\247\274\21B\377\2" \
- "\231\16""6\377\35\3\12\377\276\0\0\0\377\5\34\3\12\377J\7\32\377t\12" \
- ")\377\234\16""7\377\273\21A\377\233\274\21B\377\5\272\21A\377\234\16" \
- "7\377r\12(\377A\6\27\377\20\1\6\377\363\0\0\0\377\3\14\1\4\377X\10\37" \
- "\377\252\17<\377\266\274\21B\377\3\250\17;\377^\11!\377\22\2\6\377\250" \
- "\0\0\0\377\2O\7\34\377\270\21@\377\251\274\21B\377\1&\3\15\377\235\0" \
- "\0\0\377\1\0\0\0\274\365\0\0\0\0\1\0\0\0\25\226\0\0\0\377\1\"\3\14\377" \
- "\246\274\21B\377\2k\12&\377\6\1\2\377\273\0\0\0\377\4\12\1\3\377\77\6" \
- "\26\377r\12(\377\245\17:\377\244\274\21B\377\4\273\21B\377\231\16""6" \
- "\377^\11!\377!\3\14\377\356\0\0\0\377\3\14\1\4\377b\11\"\377\262\20\77" \
- "\377\272\274\21B\377\3\270\21@\377z\13+\377)\4\16\377\247\0\0\0\377\2" \
- "\37\3\13\377\234\16""7\377\250\274\21B\377\1""9\5\24\377\235\0\0\0\377" \
- "\1\0\0\0\327\365\0\0\0\0\1\0\0\0""0\226\0\0\0\377\1""4\5\22\377\244\274" \
- "\21B\377\2\257\20>\377<\5\25\377\272\0\0\0\377\4\14\1\4\377E\6\30\377" \
- "\202\14.\377\266\20@\377\253\274\21B\377\3\240\16""8\377_\11!\377\30" \
- "\2\10\377\351\0\0\0\377\3\7\1\3\377X\10\37\377\257\20=\377\277\274\21" \
- "B\377\3\216\15""2\3777\5\23\377\1\0\0\377\245\0\0\0\377\2\7\1\2\377q" \
- "\12(\377\247\274\21B\377\1K\7\32\377\235\0\0\0\377\1\0\0\0\362\365\0" \
- "\0\0\0\1\0\0\0I\226\0\0\0\377\1E\6\30\377\243\274\21B\377\2\224\15""4" \
- "\377\35\3\12\377\270\0\0\0\377\4\4\0\1\3778\5\24\377}\13,\377\266\20" \
- "@\377\260\274\21B\377\4\273\21A\377\210\14""0\377\77\6\26\377\3\0\1\377" \
- "\345\0\0\0\377\2""7\5\23\377\245\17:\377\303\274\21B\377\3\232\16""6" \
- "\377=\6\25\377\1\0\0\377\245\0\0\0\377\2E\6\30\377\263\20\77\377\245" \
- "\274\21B\377\1^\10!\377\236\0\0\0\377\1\0\0\0\13\364\0\0\0\0\1\0\0\0" \
- "\\\226\0\0\0\377\1S\10\35\377\241\274\21B\377\3\271\21A\377^\10!\377" \
- "\3\0\1\377\267\0\0\0\377\3\27\2\10\377d\11#\377\254\20<\377\266\274\21" \
- "B\377\3\244\17:\377Q\7\34\377\10\1\3\377\341\0\0\0\377\2\23\2\7\377~" \
- "\13,\377\307\274\21B\377\2\224\15""4\3771\4\21\377\245\0\0\0\377\2\35" \
- "\3\12\377\231\16""6\377\244\274\21B\377\1o\12'\377\236\0\0\0\377\1\0" \
- "\0\0\36\364\0\0\0\0\1\0\0\0n\226\0\0\0\377\1\\\10\40\377\240\274\21B" \
- "\377\2\230\16""5\377\40\3\13\377\267\0\0\0\377\3""0\4\21\377\200\14-" \
- "\377\272\21A\377\272\274\21B\377\3\257\20=\377Z\10\40\377\10\1\3\377" \
- "\336\0\0\0\377\2B\6\27\377\260\20>\377\312\274\21B\377\2\210\14""0\377" \
- "\35\3\12\377\244\0\0\0\377\3\10\1\3\377o\12'\377\273\21B\377\242\274" \
- "\21B\377\1\201\14-\377\236\0\0\0\377\1\0\0\0""1\364\0\0\0\0\1\0\0\0\200" \
- "\226\0\0\0\377\1d\11#\377\236\274\21B\377\3\273\21B\377l\12&\377\7\1" \
- "\2\377\265\0\0\0\377\3\1\0\1\377=\6\25\377\225\15""4\377\277\274\21B" \
- "\377\3\253\17<\377P\7\34\377\4\0\2\377\332\0\0\0\377\2\23\2\7\377\207" \
- "\14/\377\315\274\21B\377\3\273\21A\377w\13*\377\16\1\5\377\244\0\0\0" \
- "\377\2""6\5\23\377\252\17<\377\241\274\21B\377\1\217\15""2\377\236\0" \
- "\0\0\377\1\0\0\0D\364\0\0\0\0\1\0\0\0\223\226\0\0\0\377\1l\12&\377\235" \
- "\274\21B\377\2\236\16""7\377)\4\16\377\265\0\0\0\377\3\1\0\1\377E\6\30" \
- "\377\240\16""8\377\303\274\21B\377\2\237\16""8\377/\4\21\377\330\0\0" \
- "\0\377\2(\4\16\377\247\17;\377\320\274\21B\377\2\250\17;\377<\5\25\377" \
- "\244\0\0\0\377\2\12\1\4\377q\12(\377\240\274\21B\377\1\230\16""5\377" \
- "\236\0\0\0\377\1\0\0\0W\364\0\0\0\0\1\0\0\0\245\226\0\0\0\377\1u\13)" \
- "\377\233\274\21B\377\3\270\21A\377^\11!\377\6\1\2\377\265\0\0\0\377\2" \
- ":\5\24\377\234\16""7\377\306\274\21B\377\3\273\21B\377v\13)\377\17\1" \
- "\5\377\325\0\0\0\377\2X\10\37\377\271\21A\377\323\274\21B\377\2\206\14" \
- "/\377\26\2\10\377\244\0\0\0\377\2C\6\30\377\260\20>\377\236\274\21B\377" \
- "\1\240\16""8\377\236\0\0\0\377\1\0\0\0i\364\0\0\0\0\1\0\0\0\262\226\0" \
- "\0\0\377\1}\13,\377\232\274\21B\377\2\230\16""5\377#\3\14\377\265\0\0" \
- "\0\377\2%\3\15\377\221\15""3\377\312\274\21B\377\2\254\20<\377:\5\24" \
- "\377\322\0\0\0\377\2\2\0\1\377l\12&\377\326\274\21B\377\2\257\20=\377" \
- "D\6\30\377\244\0\0\0\377\2\20\1\6\377w\13*\377\235\274\21B\377\1\251" \
- "\17;\377\236\0\0\0\377\1\0\0\0w\364\0\0\0\0\1\0\0\0\275\226\0\0\0\377" \
- "\1\202\14.\377\230\274\21B\377\3\270\21A\377c\11#\377\7\1\2\377\264\0" \
- "\0\0\377\3\21\2\6\377w\13*\377\273\21B\377\315\274\21B\377\2}\13,\377" \
- "\15\1\5\377\317\0\0\0\377\2\12\1\3\377\211\14""0\377\331\274\21B\377" \
- "\2\201\14-\377\16\1\5\377\244\0\0\0\377\2""8\5\24\377\251\17;\377\233" \
- "\274\21B\377\1\261\20>\377\236\0\0\0\377\1\0\0\0\201\364\0\0\0\0\1\0" \
- "\0\0\310\226\0\0\0\377\1\201\14-\377\227\274\21B\377\2\210\14""0\377" \
- "\32\2\11\377\265\0\0\0\377\2F\6\31\377\255\20=\377\320\274\21B\377\2" \
- "\241\17""8\377\40\3\13\377\315\0\0\0\377\2\15\1\4\377\217\15""2\377\333" \
- "\274\21B\377\2\244\17""9\377*\4\17\377\244\0\0\0\377\2\14\1\4\377q\12" \
- "(\377\232\274\21B\377\1\271\21A\377\236\0\0\0\377\1\0\0\0\214\364\0\0" \
- "\0\0\1\0\0\0\322\226\0\0\0\377\1\200\14-\377\225\274\21B\377\2\247\17" \
- ";\3779\5\24\377\265\0\0\0\377\2\35\3\12\377\221\15""3\377\323\274\21" \
- "B\377\2\266\20@\377G\6\31\377\313\0\0\0\377\2\22\2\6\377\237\16""8\377" \
- "\335\274\21B\377\3\272\21A\377^\11!\377\1\0\1\377\244\0\0\0\377\2>\6" \
- "\26\377\251\17;\377\231\274\21B\377\1\2\0\1\377\235\0\0\0\377\1\0\0\0" \
- "\226\364\0\0\0\0\1\0\0\0\335\226\0\0\0\377\1\177\13-\377\223\274\21B" \
- "\377\3\271\21A\377o\12'\377\17\1\5\377\264\0\0\0\377\3\1\0\0\377P\7\34" \
- "\377\263\20\77\377\325\274\21B\377\3\273\21B\377_\11!\377\1\0\0\377\310" \
- "\0\0\0\377\2\17\1\5\377\232\16""6\377\340\274\21B\377\2\204\14.\377\14" \
- "\1\4\377\244\0\0\0\377\3\7\1\2\377^\11!\377\270\21@\377\227\274\21B\377" \
- "\1\1\0\0\377\235\0\0\0\377\1\0\0\0\241\364\0\0\0\0\1\0\0\0\346\226\0" \
- "\0\0\377\1}\13,\377\221\274\21B\377\3\273\21B\377w\13*\377\26\2\10\377" \
- "\265\0\0\0\377\2\24\2\7\377\214\15""1\377\331\274\21B\377\2\177\13-\377" \
- "\6\1\2\377\306\0\0\0\377\2\12\1\4\377\226\16""5\377\342\274\21B\377\2" \
- "\235\16""7\377\32\2\11\377\245\0\0\0\377\2\34\3\12\377\213\15""1\377" \
- "\226\274\21B\377\236\0\0\0\377\1\0\0\0\253\364\0\0\0\0\1\0\0\0\352\226" \
- "\0\0\0\377\1}\13,\377\220\274\21B\377\2\231\16""6\3773\5\22\377\266\0" \
- "\0\0\377\2""3\5\22\377\252\17<\377\333\274\21B\377\2\205\14/\377\10\1" \
- "\3\377\304\0\0\0\377\2\6\1\2\377\216\15""2\377\344\274\21B\377\2\257" \
- "\20>\3770\4\21\377\245\0\0\0\377\3\2\0\1\377L\7\33\377\254\20<\377\223" \
- "\274\21B\377\1\273\21B\377\236\0\0\0\377\1\0\0\0\257\364\0\0\0\0\1\0" \
- "\0\0\355\226\0\0\0\377\1w\13*\377\216\274\21B\377\3\226\16""5\377;\5" \
- "\25\377\1\0\0\377\265\0\0\0\377\3\4\0\1\377k\12&\377\273\21B\377\335" \
- "\274\21B\377\2\222\15""3\377\12\1\4\377\302\0\0\0\377\2\1\0\1\377}\13" \
- ",\377\346\274\21B\377\2\270\21@\377E\6\30\377\246\0\0\0\377\3\7\1\3\377" \
- "X\10\37\377\262\20\77\377\221\274\21B\377\1\273\21A\377\236\0\0\0\377" \
- "\1\0\0\0\262\364\0\0\0\0\1\0\0\0\360\226\0\0\0\377\1Y\10\37\377\214\274" \
- "\21B\377\2\220\15""2\3777\5\23\377\267\0\0\0\377\2\22\2\6\377\216\15" \
- "2\377\340\274\21B\377\2\222\15""3\377\12\1\4\377\301\0\0\0\377\1^\10" \
- "!\377\350\274\21B\377\2\273\21B\377S\10\35\377\247\0\0\0\377\3\30\2\10" \
- "\377{\13+\377\273\21A\377\217\274\21B\377\1\272\21A\377\236\0\0\0\377" \
- "\1\0\0\0\265\364\0\0\0\0\1\0\0\0\362\226\0\0\0\377\2\26\2\10\377\264" \
- "\20\77\377\210\274\21B\377\3\261\20>\377m\12&\377!\3\14\377\270\0\0\0" \
- "\377\2#\3\14\377\244\17:\377\342\274\21B\377\2\214\15""1\377\6\1\2\377" \
- "\277\0\0\0\377\2>\6\26\377\273\21B\377\352\274\21B\377\2l\12&\377\1\0" \
- "\0\377\247\0\0\0\377\3\37\3\13\377z\13+\377\272\21A\377\215\274\21B\377" \
- "\1\265\20\77\377\236\0\0\0\377\1\0\0\0\270\364\0\0\0\0\1\0\0\0\365\227" \
- "\0\0\0\377\2.\4\20\377\242\17""9\377\204\274\21B\377\4\247\17;\377s\12" \
- "(\377\77\6\26\377\7\1\3\377\271\0\0\0\377\2:\5\24\377\265\20\77\377\344" \
- "\274\21B\377\2\204\14.\377\3\0\1\377\275\0\0\0\377\2\37\3\13\377\263" \
- "\20\77\377\354\274\21B\377\2w\13*\377\3\0\1\377\250\0\0\0\377\3\33\2" \
- "\12\377t\13)\377\267\21@\377\213\274\21B\377\1\225\15""4\377\236\0\0" \
- "\0\377\1\0\0\0\274\363\0\0\0\0\2\0\0\0\12\0\0\0\372\230\0\0\0\377\5\1" \
- "\0\0\377!\3\14\3772\5\22\377*\4\17\377\26\2\10\377\274\0\0\0\377\2^\11" \
- "!\377\273\21B\377\346\274\21B\377\1q\12(\377\274\0\0\0\377\2\4\0\2\377" \
- "\227\16""5\377\356\274\21B\377\2s\12(\377\1\0\0\377\251\0\0\0\377\3\17" \
- "\1\5\377V\10\36\377\240\16""8\377\211\274\21B\377\1I\7\32\377\236\0\0" \
- "\0\377\1\0\0\0\314\363\0\0\0\0\1\0\0\0\203\331\0\0\0\377\1a\11\"\377" \
- "\351\274\21B\377\1M\7\33\377\273\0\0\0\377\1f\11$\377\360\274\21B\377" \
- "\2v\13)\377\1\0\1\377\252\0\0\0\377\5\1\0\0\377-\4\20\377c\11#\377\227" \
- "\16""5\377\273\21A\377\203\274\21B\377\2\262\20\77\377Y\10\37\377\240" \
- "\0\0\0\377\1\0\0\0K\361\0\0\0\0\2\0\0\0\37\0\0\0\366\327\0\0\0\377\2" \
- "\3\0\1\377x\13*\377\352\274\21B\377\2\271\21A\377/\4\21\377\271\0\0\0" \
- "\377\2""1\4\21\377\273\21A\377\361\274\21B\377\2t\12)\377\1\0\0\377\255" \
- "\0\0\0\377\5\15\1\5\377#\3\14\3772\5\22\377*\4\17\377\7\1\3\377\241\0" \
- "\0\0\377\2\0\0\0\327\0\0\0\5\360\0\0\0\0\1\0\0\0\243\327\0\0\0\377\2" \
- "\6\1\2\377\202\14.\377\354\274\21B\377\2\254\20<\377\25\2\7\377\267\0" \
- "\0\0\377\2\6\1\2\377\241\17""8\377\363\274\21B\377\1a\11\"\377\324\0" \
- "\0\0\377\1\0\0\0k\357\0\0\0\0\2\0\0\0""6\0\0\0\376\326\0\0\0\377\2\4" \
- "\0\1\377\200\14-\377\356\274\21B\377\2\213\15""1\377\1\0\1\377\266\0" \
- "\0\0\377\1d\11#\377\365\274\21B\377\1X\10\37\377\323\0\0\0\377\2\0\0" \
- "\0\353\0\0\0\20\355\0\0\0\0\2\0\0\0\1\0\0\0\306\326\0\0\0\377\2\4\0\1" \
- "\377\201\14-\377\360\274\21B\377\1X\10\37\377\265\0\0\0\377\2#\3\14\377" \
- "\271\21A\377\365\274\21B\377\2\273\21B\377J\7\32\377\323\0\0\0\377\1" \
- "\0\0\0\212\355\0\0\0\0\1\0\0\0T\326\0\0\0\377\2\3\0\1\377\200\14-\377" \
- "\361\274\21B\377\2\270\21@\377#\3\14\377\264\0\0\0\377\1\213\15""1\377" \
- "\367\274\21B\377\2\270\21A\3772\5\22\377\322\0\0\0\377\2\0\0\0\371\0" \
- "\0\0$\353\0\0\0\0\2\0\0\0\7\0\0\0\336\326\0\0\0\377\1p\12'\377\363\274" \
- "\21B\377\2\226\16""5\377\2\0\1\377\262\0\0\0\377\1:\5\24\377\371\274" \
- "\21B\377\2\262\20\77\377\37\3\13\377\322\0\0\0\377\1\0\0\0\252\353\0" \
- "\0\0\0\1\0\0\0t\326\0\0\0\377\1l\12&\377\365\274\21B\377\1V\10\36\377" \
- "\261\0\0\0\377\2\4\0\1\377\237\16""8\377\372\274\21B\377\2\237\16""8" \
- "\377\14\1\4\377\322\0\0\0\377\1\0\0\0=\351\0\0\0\0\2\0\0\0(\0\0\0\355" \
- "\325\0\0\0\377\1X\10\37\377\366\274\21B\377\2\265\20\77\377\31\2\11\377" \
- "\260\0\0\0\377\1F\6\31\377\374\274\21B\377\2\201\14-\377\1\0\0\377\321" \
- "\0\0\0\377\2\0\0\0\312\0\0\0\22\346\0\0\0\0\3\0\0\0\6\0\0\0\210\0\0\0" \
- "\372\325\0\0\0\377\2\77\6\26\377\273\21A\377\367\274\21B\377\1}\13,\377" \
- "\257\0\0\0\377\2\3\0\1\377\242\17""9\377\375\274\21B\377\1\\\10\40\377" \
- "\322\0\0\0\377\2\0\0\0\356\0\0\0f\344\0\0\0\0\2\0\0\0""2\0\0\0\322\326" \
- "\0\0\0\377\2(\4\16\377\266\20@\377\371\274\21B\377\1,\4\20\377\256\0" \
- "\0\0\377\1@\6\27\377\376\274\21B\377\2\273\21A\3774\5\22\377\323\0\0" \
- "\0\377\2\0\0\0\263\0\0\0\32\341\0\0\0\0\2\0\0\0j\0\0\0\367\326\0\0\0" \
- "\377\2\24\2\7\377\252\17<\377\372\274\21B\377\2\223\15""4\377\1\0\0\377" \
- "\255\0\0\0\377\1\226\16""5\377\377\274\21B\377\2\252\17<\377\21\2\6\377" \
- "\323\0\0\0\377\2\0\0\0\344\0\0\0A\336\0\0\0\0\2\0\0\0\31\0\0\0\273\327" \
- "\0\0\0\377\2\3\0\1\377\215\15""1\377\374\274\21B\377\1""7\5\23\377\254" \
- "\0\0\0\377\1+\4\17\377\377\274\21B\377\202\274\21B\377\2\210\14""0\377" \
- "\1\0\0\377\323\0\0\0\377\3\0\0\0\376\0\0\0\221\0\0\0\6\333\0\0\0\0\2" \
- "\0\0\0<\0\0\0\342\330\0\0\0\377\1k\12&\377\375\274\21B\377\1\225\15""4" \
- "\377\254\0\0\0\377\1}\13,\377\377\274\21B\377\203\274\21B\377\1S\10\35" \
- "\377\325\0\0\0\377\2\0\0\0\305\0\0\0\35\331\0\0\0\0\2\0\0\0w\0\0\0\374" \
- "\330\0\0\0\377\1C\6\30\377\377\274\21B\377\1""1\4\21\377\252\0\0\0\377" \
- "\2\24\2\7\377\271\21A\377\377\274\21B\377\203\274\21B\377\2\267\21@\377" \
- "!\3\14\377\325\0\0\0\377\2\0\0\0\355\0\0\0B\326\0\0\0\0\2\0\0\0\5\0\0" \
- "\0\232\331\0\0\0\377\2\31\2\11\377\260\20>\377\377\274\21B\377\1\210" \
- "\14""0\377\252\0\0\0\377\1V\10\36\377\377\274\21B\377\205\274\21B\377" \
- "\2\223\15""4\377\3\0\1\377\325\0\0\0\377\2\0\0\0\373\0\0\0k\324\0\0\0" \
- "\0\2\0\0\0\15\0\0\0\266\331\0\0\0\377\2\3\0\1\377\225\15""4\377\377\274" \
- "\21B\377\3\274\21B\377\273\21B\377\35\3\12\377\251\0\0\0\377\1\235\16" \
- "7\377\377\274\21B\377\206\274\21B\377\1X\10\37\377\327\0\0\0\377\2\0" \
- "\0\0\206\0\0\0\1\321\0\0\0\0\2\0\0\0\33\0\0\0\325\332\0\0\0\377\1a\11" \
- "\"\377\377\274\21B\377\203\274\21B\377\1l\12&\377\250\0\0\0\377\1#\3" \
- "\14\377\377\274\21B\377\207\274\21B\377\2\265\20@\377\33\2\11\377\327" \
- "\0\0\0\377\2\0\0\0\256\0\0\0\7\317\0\0\0\0\2\0\0\0$\0\0\0\336\332\0\0" \
- "\0\377\2)\4\16\377\271\21A\377\377\274\21B\377\203\274\21B\377\2\262" \
- "\20\77\377\12\1\4\377\247\0\0\0\377\1b\11\"\377\377\274\21B\377\210\274" \
- "\21B\377\1\205\14/\377\330\0\0\0\377\2\0\0\0\275\0\0\0\15\315\0\0\0\0" \
- "\2\0\0\0(\0\0\0\342\332\0\0\0\377\2\6\1\2\377\235\16""7\377\377\274\21" \
- "B\377\205\274\21B\377\1F\6\31\377\247\0\0\0\377\1\234\16""7\377\377\274" \
- "\21B\377\211\274\21B\377\1\77\6\26\377\330\0\0\0\377\2\0\0\0\277\0\0" \
- "\0\16\313\0\0\0\0\2\0\0\0-\0\0\0\353\333\0\0\0\377\1e\11#\377\377\274" \
- "\21B\377\206\274\21B\377\1\214\15""1\377\246\0\0\0\377\1\33\2\11\377" \
- "\377\274\21B\377\212\274\21B\377\2\250\17;\377\11\1\3\377\330\0\0\0\377" \
- "\2\0\0\0\317\0\0\0\22\311\0\0\0\0\2\0\0\0+\0\0\0\352\333\0\0\0\377\2" \
- "%\3\15\377\271\21A\377\377\274\21B\377\206\274\21B\377\2\273\21A\377" \
- "\25\2\10\377\245\0\0\0\377\1R\7\35\377\377\274\21B\377\213\274\21B\377" \
- "\1a\11\"\377\253\0\0\0\377\5\25\2\7\3776\5\23\377\77\6\26\3775\5\23\377" \
- "\31\2\11\377\251\0\0\0\377\2\0\0\0\310\0\0\0\16\307\0\0\0\0\2\0\0\0)" \
- "\0\0\0\351\333\0\0\0\377\2\1\0\1\377\222\15""3\377\377\274\21B\377\210" \
- "\274\21B\377\1T\10\36\377\245\0\0\0\377\1\204\14.\377\377\274\21B\377" \
- "\213\274\21B\377\2\264\20\77\377\25\2\7\377\247\0\0\0\377\3\1\0\1\377" \
- "C\6\30\377\226\16""5\377\205\274\21B\377\3\254\20<\377J\7\32\377\1\0" \
- "\1\377\247\0\0\0\377\2\0\0\0\306\0\0\0\15\305\0\0\0\0\2\0\0\0\33\0\0" \
- "\0\337\243\0\0\0\377\6\7\1\2\377(\4\16\377:\5\24\377=\6\25\377+\4\17" \
- "\377\5\0\2\377\263\0\0\0\377\1N\7\33\377\377\274\21B\377\211\274\21B" \
- "\377\1\216\15""2\377\244\0\0\0\377\2\2\0\1\377\260\20>\377\377\274\21" \
- "B\377\214\274\21B\377\1v\13)\377\246\0\0\0\377\2\30\2\10\377\220\15""2" \
- "\377\211\274\21B\377\2\223\15""4\377#\3\14\377\247\0\0\0\377\2\0\0\0" \
- "\270\0\0\0\5\303\0\0\0\0\2\0\0\0\22\0\0\0\326\242\0\0\0\377\3\22\2\6" \
- "\377z\13+\377\271\21A\377\204\274\21B\377\3\264\20\77\377u\13)\377\35" \
- "\3\12\377\260\0\0\0\377\2\17\1\5\377\260\20>\377\377\274\21B\377\211" \
- "\274\21B\377\2\272\21A\377\17\1\5\377\243\0\0\0\377\1&\3\15\377\377\274" \
- "\21B\377\215\274\21B\377\2\273\21A\377\"\3\14\377\244\0\0\0\377\2(\4" \
- "\16\377\255\20=\377\213\274\21B\377\3\271\21A\377j\12%\377\12\1\4\377" \
- "\246\0\0\0\377\2\0\0\0\251\0\0\0\2\301\0\0\0\0\2\0\0\0\10\0\0\0\302\241" \
- "\0\0\0\377\3\2\0\1\377Q\7\34\377\261\20>\377\210\274\21B\377\3\267\21" \
- "@\377Z\10\40\377\1\0\1\377\256\0\0\0\377\1o\12'\377\377\274\21B\377\213" \
- "\274\21B\377\1C\6\30\377\243\0\0\0\377\1S\7\35\377\377\274\21B\377\216" \
- "\274\21B\377\1|\13+\377\243\0\0\0\377\2\33\2\11\377\255\20=\377\216\274" \
- "\21B\377\2\251\17;\377:\5\24\377\246\0\0\0\377\1\0\0\0\212\300\0\0\0" \
- "\0\2\0\0\0\2\0\0\0\251\241\0\0\0\377\2)\4\16\377\230\16""5\377\214\274" \
- "\21B\377\2\201\14-\377\4\0\2\377\254\0\0\0\377\2\37\3\13\377\271\21A" \
- "\377\377\274\21B\377\213\274\21B\377\1v\13)\377\243\0\0\0\377\1|\13+" \
- "\377\377\274\21B\377\216\274\21B\377\2\273\21B\377'\4\16\377\241\0\0" \
- "\0\377\2\7\1\2\377\234\16""7\377\221\274\21B\377\2}\13,\377\14\1\4\377" \
- "\245\0\0\0\377\1\0\0\0n\277\0\0\0\0\1\0\0\0~\240\0\0\0\377\3\10\1\3\377" \
- "o\12'\377\273\21A\377\216\274\21B\377\1x\13*\377\254\0\0\0\377\1\205" \
- "\14/\377\377\274\21B\377\214\274\21B\377\1\244\17""9\377\243\0\0\0\377" \
- "\1\240\16""8\377\377\274\21B\377\217\274\21B\377\1~\13,\377\241\0\0\0" \
- "\377\1\\\10\40\377\223\274\21B\377\2\236\16""7\377$\3\15\377\244\0\0" \
- "\0\377\2\0\0\0\373\0\0\0E\275\0\0\0\0\2\0\0\0U\0\0\0\376\237\0\0\0\377" \
- "\2-\4\20\377\245\17:\377\221\274\21B\377\1O\7\34\377\252\0\0\0\377\1" \
- "/\4\21\377\377\274\21B\377\216\274\21B\377\1\30\2\10\377\241\0\0\0\377" \
- "\2\14\1\4\377\273\21B\377\377\274\21B\377\217\274\21B\377\2\273\21B\377" \
- "\40\3\13\377\237\0\0\0\377\2\26\2\10\377\265\20@\377\224\274\21B\377" \
- "\3\267\21@\377V\10\36\377\1\0\1\377\243\0\0\0\377\2\0\0\0\357\0\0\0$" \
- "\273\0\0\0\0\2\0\0\0+\0\0\0\363\236\0\0\0\377\3\1\0\1\377X\10\37\377" \
- "\270\21A\377\222\274\21B\377\2\263\20\77\377\25\2\7\377\251\0\0\0\377" \
- "\1\213\15""1\377\377\274\21B\377\216\274\21B\377\1D\6\30\377\241\0\0" \
- "\0\377\1,\4\20\377\377\274\21B\377\221\274\21B\377\1r\12(\377\237\0\0" \
- "\0\377\1i\11%\377\227\274\21B\377\2\203\14.\377\12\1\4\377\243\0\0\0" \
- "\377\2\0\0\0\327\0\0\0\16\271\0\0\0\0\2\0\0\0\17\0\0\0\331\236\0\0\0" \
- "\377\2\25\2\10\377\214\15""1\377\225\274\21B\377\1{\13+\377\250\0\0\0" \
- "\377\1""4\5\22\377\377\274\21B\377\217\274\21B\377\1m\12&\377\241\0\0" \
- "\0\377\1J\7\32\377\377\274\21B\377\221\274\21B\377\2\270\21A\377\26\2" \
- "\10\377\235\0\0\0\377\2\14\1\4\377\263\20\77\377\230\274\21B\377\2\242" \
- "\17""9\377\40\3\13\377\243\0\0\0\377\2\0\0\0\256\0\0\0\1\270\0\0\0\0" \
- "\1\0\0\0\247\236\0\0\0\377\2""0\4\21\377\255\20=\377\226\274\21B\377" \
- "\2\272\21A\377\32\2\11\377\247\0\0\0\377\1\216\15""2\377\377\274\21B" \
- "\377\217\274\21B\377\1\221\15""3\377\241\0\0\0\377\1d\11#\377\377\274" \
- "\21B\377\222\274\21B\377\1a\11\"\377\235\0\0\0\377\1U\10\36\377\232\274" \
- "\21B\377\2\262\20\77\377;\5\25\377\243\0\0\0\377\1\0\0\0k\267\0\0\0\0" \
- "\1\0\0\0h\236\0\0\0\377\2X\10\37\377\272\21A\377\230\274\21B\377\1m\12" \
- "&\377\246\0\0\0\377\1-\4\20\377\377\274\21B\377\220\274\21B\377\2\265" \
- "\20@\377\3\0\1\377\240\0\0\0\377\1\200\14-\377\377\274\21B\377\222\274" \
- "\21B\377\2\255\20=\377\6\1\2\377\234\0\0\0\377\1\237\16""8\377\233\274" \
- "\21B\377\2\271\21A\377S\7\35\377\242\0\0\0\377\2\0\0\0\372\0\0\0""7\265" \
- "\0\0\0\0\2\0\0\0.\0\0\0\367\234\0\0\0\377\2\7\1\3\377{\13+\377\232\274" \
- "\21B\377\2\265\20\77\377\16\1\5\377\245\0\0\0\377\1\201\14-\377\377\274" \
- "\21B\377\221\274\21B\377\1\36\3\13\377\240\0\0\0\377\1\227\16""5\377" \
- "\377\274\21B\377\223\274\21B\377\1@\6\27\377\233\0\0\0\377\1\"\3\14\377" \
- "\236\274\21B\377\2o\12'\377\1\0\1\377\241\0\0\0\377\2\0\0\0\333\0\0\0" \
- "\15\263\0\0\0\0\2\0\0\0\11\0\0\0\324\234\0\0\0\377\2\20\1\6\377\220\15" \
- "2\377\234\274\21B\377\1O\7\34\377\244\0\0\0\377\2\40\3\13\377\273\21" \
- "B\377\377\274\21B\377\221\274\21B\377\1<\5\25\377\240\0\0\0\377\1\253" \
- "\17<\377\377\274\21B\377\223\274\21B\377\1\220\15""2\377\233\0\0\0\377" \
- "\1]\10!\377\237\274\21B\377\2z\13+\377\4\0\1\377\241\0\0\0\377\1\0\0" \
- "\0\237\263\0\0\0\0\1\0\0\0\214\234\0\0\0\377\2\33\2\12\377\245\17:\377" \
- "\235\274\21B\377\1\215\15""1\377\244\0\0\0\377\1p\12'\377\377\274\21" \
- "B\377\222\274\21B\377\1V\10\36\377\237\0\0\0\377\2\3\0\1\377\273\21A" \
- "\377\377\274\21B\377\223\274\21B\377\2\273\21B\377\33\2\11\377\232\0" \
- "\0\0\377\1\231\16""6\377\240\274\21B\377\2\203\14.\377\6\1\2\377\241" \
- "\0\0\0\377\1\0\0\0R\261\0\0\0\0\2\0\0\0D\0\0\0\376\233\0\0\0\377\2#\3" \
- "\14\377\253\17<\377\236\274\21B\377\2\272\21A\377\17\1\5\377\242\0\0" \
- "\0\377\2\15\1\4\377\265\20@\377\377\274\21B\377\222\274\21B\377\1r\12" \
- "(\377\237\0\0\0\377\1\25\2\7\377\377\274\21B\377\225\274\21B\377\1a\11" \
- "\"\377\231\0\0\0\377\2\24\2\7\377\273\21B\377\241\274\21B\377\2\205\14" \
- "/\377\7\1\2\377\240\0\0\0\377\2\0\0\0\354\0\0\0\27\257\0\0\0\0\2\0\0" \
- "\0\14\0\0\0\336\233\0\0\0\377\2*\4\17\377\257\20>\377\240\274\21B\377" \
- "\1G\6\31\377\242\0\0\0\377\1O\7\34\377\377\274\21B\377\223\274\21B\377" \
- "\1\213\15""1\377\237\0\0\0\377\1#\3\14\377\377\274\21B\377\225\274\21" \
- "B\377\2\241\17""9\377\1\0\0\377\230\0\0\0\377\1\77\6\26\377\243\274\21" \
- "B\377\2\213\15""1\377\6\1\2\377\240\0\0\0\377\1\0\0\0\252\257\0\0\0\0" \
- "\1\0\0\0\217\233\0\0\0\377\2+\4\17\377\260\20>\377\241\274\21B\377\1" \
- "~\13,\377\241\0\0\0\377\2\1\0\0\377\237\16""8\377\377\274\21B\377\223" \
- "\274\21B\377\1\236\16""7\377\237\0\0\0\377\1,\4\20\377\377\274\21B\377" \
- "\226\274\21B\377\1+\4\17\377\230\0\0\0\377\1h\11$\377\244\274\21B\377" \
- "\2\202\14.\377\3\0\1\377\240\0\0\0\377\1\0\0\0S\255\0\0\0\0\2\0\0\0<" \
- "\0\0\0\375\232\0\0\0\377\2-\4\20\377\265\20\77\377\242\274\21B\377\1" \
- "\254\20<\377\241\0\0\0\377\1)\4\16\377\377\274\21B\377\224\274\21B\377" \
- "\1\257\20>\377\237\0\0\0\377\1""6\5\23\377\377\274\21B\377\226\274\21" \
- "B\377\1l\12&\377\230\0\0\0\377\1\221\15""3\377\245\274\21B\377\2x\13" \
- "*\377\1\0\1\377\237\0\0\0\377\2\0\0\0\347\0\0\0\22\253\0\0\0\0\2\0\0" \
- "\0\3\0\0\0\320\232\0\0\0\377\2&\3\15\377\261\20>\377\244\274\21B\377" \
- "\1\27\2\10\377\240\0\0\0\377\1p\12'\377\377\274\21B\377\225\274\21B\377" \
- "\1\7\1\2\377\236\0\0\0\377\1\77\6\26\377\377\274\21B\377\226\274\21B" \
- "\377\1\244\17:\377\227\0\0\0\377\2\3\0\1\377\264\20\77\377\246\274\21" \
- "B\377\1f\11$\377\240\0\0\0\377\1\0\0\0\226\253\0\0\0\0\1\0\0\0q\232\0" \
- "\0\0\377\2\36\3\13\377\255\20=\377\245\274\21B\377\1@\6\27\377\237\0" \
- "\0\0\377\2\4\0\2\377\255\20=\377\377\274\21B\377\225\274\21B\377\1\25" \
- "\2\7\377\236\0\0\0\377\1E\6\30\377\377\274\21B\377\227\274\21B\377\1" \
- "%\3\15\377\226\0\0\0\377\1\40\3\13\377\250\274\21B\377\1M\7\33\377\237" \
- "\0\0\0\377\2\0\0\0\375\0\0\0""7\251\0\0\0\0\2\0\0\0\31\0\0\0\362\231" \
- "\0\0\0\377\2\24\2\7\377\244\17""9\377\246\274\21B\377\1g\11$\377\237" \
- "\0\0\0\377\1:\5\24\377\377\274\21B\377\226\274\21B\377\1\35\3\12\377" \
- "\236\0\0\0\377\1E\6\30\377\377\274\21B\377\227\274\21B\377\1^\10!\377" \
- "\226\0\0\0\377\1=\6\25\377\250\274\21B\377\2\272\21A\3776\5\23\377\237" \
- "\0\0\0\377\2\0\0\0\314\0\0\0\2\250\0\0\0\0\1\0\0\0\240\231\0\0\0\377" \
- "\2\7\1\3\377\230\16""5\377\247\274\21B\377\1\215\15""1\377\237\0\0\0" \
- "\377\1{\13+\377\377\274\21B\377\226\274\21B\377\1(\4\16\377\236\0\0\0" \
- "\377\1G\6\31\377\377\274\21B\377\227\274\21B\377\1\226\16""5\377\226" \
- "\0\0\0\377\1Y\10\37\377\251\274\21B\377\2\257\20=\377\33\2\11\377\237" \
- "\0\0\0\377\1\0\0\0d\247\0\0\0\0\2\0\0\0""5\0\0\0\375\230\0\0\0\377\2" \
- "\1\0\1\377\202\14.\377\250\274\21B\377\1\252\17<\377\236\0\0\0\377\2" \
- "\4\0\1\377\260\20>\377\377\274\21B\377\226\274\21B\377\1""1\4\21\377" \
- "\236\0\0\0\377\1H\6\31\377\377\274\21B\377\227\274\21B\377\2\272\21A" \
- "\377\15\1\5\377\225\0\0\0\377\1t\13)\377\252\274\21B\377\2\236\16""7" \
- "\377\12\1\4\377\236\0\0\0\377\2\0\0\0\347\0\0\0\16\245\0\0\0\0\2\0\0" \
- "\0\1\0\0\0\310\231\0\0\0\377\1^\10!\377\252\274\21B\377\1\12\1\3\377" \
- "\235\0\0\0\377\1""5\5\23\377\377\274\21B\377\227\274\21B\377\1""6\5\23" \
- "\377\236\0\0\0\377\1C\6\30\377\377\274\21B\377\230\274\21B\377\1\77\6" \
- "\26\377\225\0\0\0\377\1\217\15""2\377\253\274\21B\377\1w\13*\377\237" \
- "\0\0\0\377\1\0\0\0\210\245\0\0\0\0\1\0\0\0P\231\0\0\0\377\2\77\6\26\377" \
- "\273\21B\377\252\274\21B\377\1#\3\14\377\235\0\0\0\377\1m\12&\377\377" \
- "\274\21B\377\227\274\21B\377\1""7\5\23\377\236\0\0\0\377\1<\5\25\377" \
- "\377\274\21B\377\230\274\21B\377\1q\12(\377\225\0\0\0\377\1\252\17<\377" \
- "\254\274\21B\377\1\77\6\26\377\236\0\0\0\377\2\0\0\0\367\0\0\0\35\243" \
- "\0\0\0\0\2\0\0\0\4\0\0\0\330\230\0\0\0\377\2\30\2\10\377\261\20>\377" \
- "\253\274\21B\377\1>\6\26\377\235\0\0\0\377\1\246\17:\377\377\274\21B" \
- "\377\227\274\21B\377\1""7\5\23\377\236\0\0\0\377\1""4\5\22\377\377\274" \
- "\21B\377\230\274\21B\377\1\237\16""8\377\224\0\0\0\377\2\2\0\1\377\272" \
- "\21A\377\254\274\21B\377\2\261\20>\377\26\2\10\377\236\0\0\0\377\1\0" \
- "\0\0\234\243\0\0\0\0\1\0\0\0e\230\0\0\0\377\2\1\0\1\377\216\15""2\377" \
- "\254\274\21B\377\1X\10\37\377\234\0\0\0\377\1\33\2\11\377\377\274\21" \
- "B\377\230\274\21B\377\1""9\5\24\377\236\0\0\0\377\1,\4\20\377\377\274" \
- "\21B\377\230\274\21B\377\2\273\21B\377\15\1\4\377\223\0\0\0\377\1\20" \
- "\1\6\377\256\274\21B\377\2\217\15""2\377\1\0\1\377\235\0\0\0\377\2\0" \
- "\0\0\374\0\0\0+\241\0\0\0\0\2\0\0\0\7\0\0\0\341\230\0\0\0\377\1[\10\40" \
- "\377\255\274\21B\377\1j\12%\377\234\0\0\0\377\1N\7\33\377\377\274\21" \
- "B\377\230\274\21B\377\1""4\5\22\377\236\0\0\0\377\1\36\3\13\377\377\274" \
- "\21B\377\231\274\21B\377\1""7\5\23\377\223\0\0\0\377\1\40\3\13\377\257" \
- "\274\21B\377\1O\7\34\377\236\0\0\0\377\1\0\0\0\252\241\0\0\0\0\1\0\0" \
- "\0h\230\0\0\0\377\2(\4\16\377\271\21A\377\255\274\21B\377\1{\13+\377" \
- "\234\0\0\0\377\1\177\13-\377\377\274\21B\377\230\274\21B\377\1-\4\20" \
- "\377\236\0\0\0\377\1\17\1\5\377\377\274\21B\377\231\274\21B\377\1^\11" \
- "!\377\223\0\0\0\377\1""1\4\21\377\257\274\21B\377\2\265\20\77\377\30" \
- "\2\11\377\235\0\0\0\377\2\0\0\0\376\0\0\0,\237\0\0\0\0\2\0\0\0\4\0\0" \
- "\0\335\227\0\0\0\377\2\5\0\2\377\233\16""6\377\256\274\21B\377\1\213" \
- "\15""1\377\233\0\0\0\377\2\1\0\0\377\256\20=\377\377\274\21B\377\230" \
- "\274\21B\377\1&\3\15\377\236\0\0\0\377\2\1\0\1\377\271\21A\377\377\274" \
- "\21B\377\230\274\21B\377\1\203\14.\377\223\0\0\0\377\1A\6\27\377\260" \
- "\274\21B\377\1\201\14-\377\236\0\0\0\377\1\0\0\0\242\237\0\0\0\0\1\0" \
- "\0\0Y\230\0\0\0\377\1`\11\"\377\257\274\21B\377\1\234\16""7\377\233\0" \
- "\0\0\377\1\32\2\11\377\377\274\21B\377\231\274\21B\377\1\36\3\13\377" \
- "\237\0\0\0\377\1\253\17<\377\377\274\21B\377\230\274\21B\377\1\243\17" \
- "9\377\223\0\0\0\377\1O\7\34\377\261\274\21B\377\1""4\5\22\377\235\0\0" \
- "\0\377\2\0\0\0\373\0\0\0\40\235\0\0\0\0\2\0\0\0\1\0\0\0\321\227\0\0\0" \
- "\377\2\35\3\12\377\270\21@\377\257\274\21B\377\1\255\20=\377\233\0\0" \
- "\0\377\1E\6\30\377\377\274\21B\377\231\274\21B\377\1\20\1\6\377\237\0" \
- "\0\0\377\1\224\15""4\377\377\274\21B\377\230\274\21B\377\2\273\21B\377" \
- "\12\1\4\377\222\0\0\0\377\1W\10\37\377\261\274\21B\377\2\245\17:\377" \
- "\10\1\3\377\235\0\0\0\377\1\0\0\0\224\235\0\0\0\0\1\0\0\0E\230\0\0\0" \
- "\377\1\204\14.\377\260\274\21B\377\1\272\21A\377\233\0\0\0\377\1m\12" \
- "&\377\377\274\21B\377\230\274\21B\377\2\272\21A\377\2\0\1\377\237\0\0" \
- "\0\377\1}\13,\377\377\274\21B\377\231\274\21B\377\1)\4\16\377\222\0\0" \
- "\0\377\1^\11!\377\262\274\21B\377\1Z\10\40\377\235\0\0\0\377\2\0\0\0" \
- "\364\0\0\0\23\234\0\0\0\0\1\0\0\0\266\227\0\0\0\377\1>\6\26\377\262\274" \
- "\21B\377\1\6\1\2\377\232\0\0\0\377\1\223\15""4\377\377\274\21B\377\230" \
- "\274\21B\377\1\253\17<\377\240\0\0\0\377\1c\11#\377\377\274\21B\377\231" \
- "\274\21B\377\1F\6\31\377\222\0\0\0\377\1f\11$\377\262\274\21B\377\2\263" \
- "\20\77\377\17\1\5\377\235\0\0\0\377\1\0\0\0y\233\0\0\0\0\2\0\0\0&\0\0" \
- "\0\376\226\0\0\0\377\2\5\0\2\377\244\17:\377\262\274\21B\377\1\15\1\5" \
- "\377\231\0\0\0\377\2\1\0\0\377\262\20>\377\377\274\21B\377\230\274\21" \
- "B\377\1\233\16""6\377\240\0\0\0\377\1K\7\32\377\377\274\21B\377\231\274" \
- "\21B\377\1^\10!\377\222\0\0\0\377\1n\12'\377\263\274\21B\377\1e\11#\377" \
- "\235\0\0\0\377\2\0\0\0\341\0\0\0\3\232\0\0\0\0\1\0\0\0\215\227\0\0\0" \
- "\377\1T\10\36\377\263\274\21B\377\1\25\2\7\377\231\0\0\0\377\1\30\2\10" \
- "\377\377\274\21B\377\231\274\21B\377\1\205\14/\377\240\0\0\0\377\1+\4" \
- "\17\377\377\274\21B\377\231\274\21B\377\1w\13*\377\222\0\0\0\377\1u\13" \
- ")\377\263\274\21B\377\2\265\20@\377\24\2\7\377\235\0\0\0\377\1\0\0\0" \
- "O\231\0\0\0\0\2\0\0\0\13\0\0\0\357\226\0\0\0\377\2\12\1\4\377\255\20" \
- "=\377\263\274\21B\377\1\35\3\12\377\231\0\0\0\377\1""8\5\24\377\377\274" \
- "\21B\377\231\274\21B\377\1m\12&\377\240\0\0\0\377\2\14\1\4\377\273\21" \
- "B\377\377\274\21B\377\230\274\21B\377\1\216\15""2\377\222\0\0\0\377\1" \
- "{\13+\377\264\274\21B\377\1i\11%\377\235\0\0\0\377\1\0\0\0\272\231\0" \
- "\0\0\0\1\0\0\0_\227\0\0\0\377\1\\\10\40\377\264\274\21B\377\1$\3\15\377" \
- "\231\0\0\0\377\1U\10\36\377\377\274\21B\377\231\274\21B\377\1T\10\36" \
- "\377\241\0\0\0\377\1\245\17:\377\377\274\21B\377\230\274\21B\377\1\242" \
- "\17""9\377\222\0\0\0\377\1{\13+\377\264\274\21B\377\2\265\20@\377\17" \
- "\1\5\377\234\0\0\0\377\2\0\0\0\375\0\0\0#\230\0\0\0\0\1\0\0\0\304\226" \
- "\0\0\0\377\2\13\1\4\377\257\20=\377\264\274\21B\377\1*\4\17\377\231\0" \
- "\0\0\377\1l\12&\377\377\274\21B\377\231\274\21B\377\1<\5\25\377\241\0" \
- "\0\0\377\1\205\14/\377\377\274\21B\377\230\274\21B\377\1\262\20>\377" \
- "\222\0\0\0\377\1{\13+\377\265\274\21B\377\1_\11!\377\235\0\0\0\377\1" \
- "\0\0\0\206\227\0\0\0\0\2\0\0\0#\0\0\0\376\226\0\0\0\377\1[\10\40\377" \
- "\265\274\21B\377\1+\4\17\377\231\0\0\0\377\1\206\14/\377\377\274\21B" \
- "\377\231\274\21B\377\1\34\3\12\377\241\0\0\0\377\1[\10\40\377\377\274" \
- "\21B\377\231\274\21B\377\1\7\1\2\377\221\0\0\0\377\1{\13+\377\265\274" \
- "\21B\377\2\255\20=\377\7\1\2\377\234\0\0\0\377\2\0\0\0\344\0\0\0\3\226" \
- "\0\0\0\0\1\0\0\0\177\226\0\0\0\377\2\6\1\2\377\255\20=\377\265\274\21" \
- "B\377\1+\4\17\377\231\0\0\0\377\1\237\16""8\377\377\274\21B\377\230\274" \
- "\21B\377\2\265\20@\377\2\0\1\377\241\0\0\0\377\1""3\5\22\377\377\274" \
- "\21B\377\231\274\21B\377\1\26\2\10\377\221\0\0\0\377\1{\13+\377\266\274" \
- "\21B\377\1I\7\32\377\235\0\0\0\377\1\0\0\0A\225\0\0\0\0\2\0\0\0\1\0\0" \
- "\0\334\226\0\0\0\377\1H\7\31\377\266\274\21B\377\1+\4\17\377\231\0\0" \
- "\0\377\1\262\20\77\377\377\274\21B\377\230\274\21B\377\1\226\16""5\377" \
- "\242\0\0\0\377\2\12\1\3\377\272\21A\377\377\274\21B\377\230\274\21B\377" \
- "\1!\3\14\377\221\0\0\0\377\1{\13+\377\266\274\21B\377\1\231\16""6\377" \
- "\235\0\0\0\377\1\0\0\0\236\225\0\0\0\0\1\0\0\0""9\226\0\0\0\377\2\1\0" \
- "\0\377\234\16""7\377\266\274\21B\377\1+\4\17\377\230\0\0\0\377\1\5\0" \
- "\2\377\377\274\21B\377\231\274\21B\377\1u\13)\377\243\0\0\0\377\1\233" \
- "\16""6\377\377\274\21B\377\230\274\21B\377\1(\4\16\377\221\0\0\0\377" \
- "\1{\13+\377\267\274\21B\377\1)\4\16\377\234\0\0\0\377\2\0\0\0\361\0\0" \
- "\0\12\224\0\0\0\0\1\0\0\0\216\226\0\0\0\377\1/\4\21\377\267\274\21B\377" \
- "\1+\4\17\377\230\0\0\0\377\1\25\2\7\377\377\274\21B\377\231\274\21B\377" \
- "\1M\7\33\377\243\0\0\0\377\1i\12%\377\377\274\21B\377\230\274\21B\377" \
- "\1""0\4\21\377\221\0\0\0\377\1w\13*\377\267\274\21B\377\1o\12'\377\235" \
- "\0\0\0\377\1\0\0\0P\223\0\0\0\0\2\0\0\0\1\0\0\0\340\226\0\0\0\377\1{" \
- "\13+\377\267\274\21B\377\1+\4\17\377\230\0\0\0\377\1$\3\15\377\377\274" \
- "\21B\377\231\274\21B\377\1$\3\15\377\243\0\0\0\377\1:\5\24\377\377\274" \
- "\21B\377\230\274\21B\377\1""7\5\23\377\221\0\0\0\377\1p\12'\377\267\274" \
- "\21B\377\2\257\20>\377\5\0\2\377\234\0\0\0\377\1\0\0\0\242\223\0\0\0" \
- "\0\1\0\0\0""0\226\0\0\0\377\2\14\1\4\377\266\20@\377\267\274\21B\377" \
- "\1&\3\15\377\230\0\0\0\377\1/\4\21\377\377\274\21B\377\230\274\21B\377" \
- "\2\263\20\77\377\2\0\1\377\243\0\0\0\377\2\12\1\3\377\270\21A\377\377" \
- "\274\21B\377\227\274\21B\377\1""8\5\24\377\221\0\0\0\377\1i\12%\377\270" \
- "\274\21B\377\1<\5\25\377\234\0\0\0\377\2\0\0\0\355\0\0\0\4\222\0\0\0" \
- "\0\1\0\0\0\177\226\0\0\0\377\1J\7\32\377\270\274\21B\377\1\37\3\13\377" \
- "\230\0\0\0\377\1""7\5\23\377\377\274\21B\377\230\274\21B\377\1\216\15" \
- "2\377\245\0\0\0\377\1\222\15""3\377\377\274\21B\377\227\274\21B\377\1" \
- "7\5\23\377\221\0\0\0\377\1d\11#\377\270\274\21B\377\1~\13,\377\235\0" \
- "\0\0\377\1\0\0\0A\222\0\0\0\0\1\0\0\0\316\226\0\0\0\377\1\216\15""2\377" \
- "\270\274\21B\377\1\30\2\11\377\230\0\0\0\377\1\77\6\26\377\377\274\21" \
- "B\377\230\274\21B\377\1\\\10\40\377\245\0\0\0\377\1W\10\37\377\377\274" \
- "\21B\377\227\274\21B\377\1""7\5\23\377\221\0\0\0\377\1\\\10\40\377\270" \
- "\274\21B\377\2\265\20@\377\10\1\3\377\234\0\0\0\377\1\0\0\0\220\221\0" \
- "\0\0\0\2\0\0\0\33\0\0\0\376\225\0\0\0\377\2\26\2\10\377\273\21A\377\270" \
- "\274\21B\377\1\22\2\6\377\230\0\0\0\377\1F\6\31\377\377\274\21B\377\230" \
- "\274\21B\377\1+\4\17\377\245\0\0\0\377\1\35\3\12\377\377\274\21B\377" \
- "\227\274\21B\377\1""5\5\23\377\221\0\0\0\377\1V\10\36\377\271\274\21" \
- "B\377\1:\5\24\377\234\0\0\0\377\1\0\0\0\333\221\0\0\0\0\1\0\0\0_\226" \
- "\0\0\0\377\1T\10\36\377\271\274\21B\377\1\13\1\4\377\230\0\0\0\377\1" \
- "H\6\31\377\377\274\21B\377\227\274\21B\377\2\257\20>\377\2\0\1\377\246" \
- "\0\0\0\377\1\234\16""7\377\377\274\21B\377\226\274\21B\377\1,\4\20\377" \
- "\221\0\0\0\377\1N\7\33\377\271\274\21B\377\1p\12'\377\235\0\0\0\377\1" \
- "\0\0\0!\220\0\0\0\0\1\0\0\0\237\226\0\0\0\377\1\214\15""1\377\271\274" \
- "\21B\377\1\4\0\2\377\230\0\0\0\377\1F\6\31\377\377\274\21B\377\227\274" \
- "\21B\377\1\202\14.\377\247\0\0\0\377\1a\11\"\377\377\274\21B\377\226" \
- "\274\21B\377\1#\3\14\377\221\0\0\0\377\1B\6\27\377\271\274\21B\377\2" \
- "\252\17<\377\1\0\0\377\234\0\0\0\377\1\0\0\0b\220\0\0\0\0\1\0\0\0\337" \
- "\225\0\0\0\377\2\12\1\4\377\270\21@\377\270\274\21B\377\1\270\21A\377" \
- "\231\0\0\0\377\1E\6\30\377\377\274\21B\377\227\274\21B\377\1G\6\31\377" \
- "\247\0\0\0\377\2\33\2\12\377\273\21B\377\377\274\21B\377\225\274\21B" \
- "\377\1\32\2\11\377\221\0\0\0\377\1""6\5\23\377\272\274\21B\377\1$\3\15" \
- "\377\234\0\0\0\377\1\0\0\0\243\217\0\0\0\0\1\0\0\0\40\226\0\0\0\377\1" \
- "@\6\27\377\271\274\21B\377\1\255\20=\377\231\0\0\0\377\1D\6\30\377\377" \
- "\274\21B\377\226\274\21B\377\2\272\21A\377\17\1\5\377\250\0\0\0\377\1" \
- "\226\16""5\377\377\274\21B\377\225\274\21B\377\1\17\1\5\377\221\0\0\0" \
- "\377\1)\4\16\377\272\274\21B\377\1V\10\36\377\234\0\0\0\377\1\0\0\0\345" \
- "\217\0\0\0\0\1\0\0\0a\226\0\0\0\377\1v\13)\377\271\274\21B\377\1\240" \
- "\16""8\377\231\0\0\0\377\1;\5\25\377\377\274\21B\377\226\274\21B\377" \
- "\1\214\15""1\377\251\0\0\0\377\1P\7\34\377\377\274\21B\377\224\274\21" \
- "B\377\2\271\21A\377\1\0\1\377\221\0\0\0\377\1\33\2\12\377\272\274\21" \
- "B\377\1\202\14.\377\235\0\0\0\377\1\0\0\0%\216\0\0\0\0\1\0\0\0\234\226" \
- "\0\0\0\377\1\250\17;\377\271\274\21B\377\1\223\15""4\377\231\0\0\0\377" \
- "\1""2\5\22\377\377\274\21B\377\226\274\21B\377\1R\7\35\377\251\0\0\0" \
- "\377\2\21\2\6\377\270\21A\377\377\274\21B\377\223\274\21B\377\1\251\17" \
- ";\377\222\0\0\0\377\1\17\1\5\377\272\274\21B\377\2\255\20=\377\1\0\0" \
- "\377\234\0\0\0\377\1\0\0\0a\216\0\0\0\0\1\0\0\0\321\225\0\0\0\377\1\30" \
- "\2\10\377\272\274\21B\377\1\206\14/\377\231\0\0\0\377\1)\4\16\377\377" \
- "\274\21B\377\225\274\21B\377\2\270\21A\377\17\1\5\377\252\0\0\0\377\1" \
- "z\13+\377\377\274\21B\377\223\274\21B\377\1\226\16""5\377\222\0\0\0\377" \
- "\2\3\0\1\377\273\21B\377\272\274\21B\377\1\36\3\13\377\234\0\0\0\377" \
- "\1\0\0\0\226\215\0\0\0\0\2\0\0\0\13\0\0\0\374\225\0\0\0\377\1D\6\30\377" \
- "\272\274\21B\377\1z\13+\377\231\0\0\0\377\1\36\3\13\377\377\274\21B\377" \
- "\225\274\21B\377\1\207\14/\377\253\0\0\0\377\1""0\4\21\377\377\274\21" \
- "B\377\223\274\21B\377\1\203\14.\377\223\0\0\0\377\1\260\20>\377\272\274" \
- "\21B\377\1H\7\31\377\234\0\0\0\377\1\0\0\0\311\215\0\0\0\0\1\0\0\0""9" \
- "\226\0\0\0\377\1o\12'\377\272\274\21B\377\1m\12&\377\231\0\0\0\377\1" \
- "\14\1\4\377\377\274\21B\377\225\274\21B\377\1@\6\27\377\254\0\0\0\377" \
- "\1\233\16""6\377\377\274\21B\377\222\274\21B\377\1f\11$\377\223\0\0\0" \
- "\377\1\236\16""7\377\272\274\21B\377\1n\12'\377\234\0\0\0\377\2\0\0\0" \
- "\367\0\0\0\5\214\0\0\0\0\1\0\0\0m\226\0\0\0\377\1\232\16""6\377\272\274" \
- "\21B\377\1_\11!\377\232\0\0\0\377\1\266\20@\377\377\274\21B\377\223\274" \
- "\21B\377\2\262\20>\377\7\1\3\377\254\0\0\0\377\1P\7\34\377\377\274\21" \
- "B\377\222\274\21B\377\1L\7\33\377\223\0\0\0\377\1\213\15""1\377\272\274" \
- "\21B\377\1\217\15""2\377\235\0\0\0\377\1\0\0\0/\214\0\0\0\0\1\0\0\0\240" \
- "\225\0\0\0\377\2\7\1\2\377\272\21A\377\272\274\21B\377\1L\7\33\377\232" \
- "\0\0\0\377\1\244\17""9\377\377\274\21B\377\223\274\21B\377\1l\12&\377" \
- "\255\0\0\0\377\2\7\1\3\377\255\20=\377\377\274\21B\377\221\274\21B\377" \
- "\1/\4\21\377\223\0\0\0\377\1z\13+\377\272\274\21B\377\1\257\20>\377\235" \
- "\0\0\0\377\1\0\0\0c\214\0\0\0\0\1\0\0\0\313\225\0\0\0\377\1%\3\15\377" \
- "\273\274\21B\377\1:\5\24\377\232\0\0\0\377\1\220\15""2\377\377\274\21" \
- "B\377\223\274\21B\377\1!\3\14\377\256\0\0\0\377\1a\11\"\377\377\274\21" \
- "B\377\221\274\21B\377\1\21\2\6\377\223\0\0\0\377\1g\11$\377\273\274\21" \
- "B\377\1\24\2\7\377\234\0\0\0\377\1\0\0\0\216\213\0\0\0\0\2\0\0\0\1\0" \
- "\0\0\362\225\0\0\0\377\1E\6\30\377\273\274\21B\377\1(\4\16\377\232\0" \
- "\0\0\377\1t\12)\377\377\274\21B\377\222\274\21B\377\1\216\15""2\377\257" \
- "\0\0\0\377\2\16\1\5\377\264\20\77\377\377\274\21B\377\217\274\21B\377" \
- "\1\247\17;\377\224\0\0\0\377\1V\10\36\377\273\274\21B\377\1""4\5\22\377" \
- "\234\0\0\0\377\1\0\0\0\264\213\0\0\0\0\1\0\0\0\31\226\0\0\0\377\1f\11" \
- "$\377\273\274\21B\377\1\25\2\10\377\232\0\0\0\377\1Z\10\40\377\377\274" \
- "\21B\377\222\274\21B\377\1B\6\27\377\260\0\0\0\377\1o\12'\377\377\274" \
- "\21B\377\217\274\21B\377\1\204\14.\377\224\0\0\0\377\1C\6\30\377\273" \
- "\274\21B\377\1N\7\33\377\234\0\0\0\377\1\0\0\0\332\213\0\0\0\0\1\0\0" \
- "\0\77\226\0\0\0\377\1\205\14/\377\272\274\21B\377\2\273\21B\377\5\0\2" \
- "\377\232\0\0\0\377\1=\6\25\377\377\274\21B\377\221\274\21B\377\2\241" \
- "\17""9\377\2\0\1\377\260\0\0\0\377\2\25\2\7\377\266\20@\377\377\274\21" \
- "B\377\216\274\21B\377\1_\11!\377\224\0\0\0\377\1/\4\21\377\273\274\21" \
- "B\377\1c\11#\377\234\0\0\0\377\2\0\0\0\373\0\0\0\5\212\0\0\0\0\1\0\0" \
- "\0d\226\0\0\0\377\1\237\16""8\377\272\274\21B\377\1\256\20=\377\233\0" \
- "\0\0\377\1\37\3\13\377\377\274\21B\377\221\274\21B\377\1R\7\35\377\262" \
- "\0\0\0\377\1d\11#\377\377\274\21B\377\216\274\21B\377\1""3\5\22\377\224" \
- "\0\0\0\377\1\27\2\10\377\273\274\21B\377\1y\13*\377\235\0\0\0\377\1\0" \
- "\0\0'\212\0\0\0\0\1\0\0\0\210\226\0\0\0\377\1\264\20\77\377\272\274\21" \
- "B\377\1\232\16""6\377\233\0\0\0\377\2\1\0\1\377\263\20\77\377\377\274" \
- "\21B\377\217\274\21B\377\2\255\20=\377\7\1\3\377\262\0\0\0\377\2\14\1" \
- "\4\377\257\20>\377\377\274\21B\377\214\274\21B\377\2\270\21@\377\7\1" \
- "\3\377\224\0\0\0\377\2\2\0\1\377\270\21A\377\272\274\21B\377\1\216\15" \
- "2\377\235\0\0\0\377\1\0\0\0K\212\0\0\0\0\1\0\0\0\245\225\0\0\0\377\1" \
- "\16\1\5\377\273\274\21B\377\1\202\14.\377\234\0\0\0\377\1\223\15""4\377" \
- "\377\274\21B\377\217\274\21B\377\1`\11\"\377\264\0\0\0\377\1\\\10\40" \
- "\377\377\274\21B\377\214\274\21B\377\1\222\15""3\377\226\0\0\0\377\1" \
- "\244\17:\377\272\274\21B\377\1\243\17""9\377\235\0\0\0\377\1\0\0\0i\212" \
- "\0\0\0\0\1\0\0\0\275\225\0\0\0\377\1#\3\14\377\273\274\21B\377\1j\12" \
- "%\377\234\0\0\0\377\1n\12'\377\377\274\21B\377\216\274\21B\377\2\257" \
- "\20=\377\14\1\4\377\264\0\0\0\377\2\7\1\3\377\247\17;\377\377\274\21" \
- "B\377\213\274\21B\377\1b\11\"\377\226\0\0\0\377\1\214\15""1\377\272\274" \
- "\21B\377\1\263\20\77\377\235\0\0\0\377\1\0\0\0\200\212\0\0\0\0\1\0\0" \
- "\0\324\225\0\0\0\377\1""9\5\24\377\273\274\21B\377\1T\10\36\377\234\0" \
- "\0\0\377\1B\6\27\377\377\274\21B\377\216\274\21B\377\1V\10\36\377\266" \
- "\0\0\0\377\1A\6\27\377\377\274\21B\377\213\274\21B\377\1)\4\16\377\226" \
- "\0\0\0\377\1t\13)\377\272\274\21B\377\2\273\21B\377\3\0\1\377\234\0\0" \
- "\0\377\1\0\0\0\227\212\0\0\0\0\1\0\0\0\354\225\0\0\0\377\1H\6\31\377" \
- "\273\274\21B\377\1<\5\25\377\234\0\0\0\377\1\22\2\6\377\377\274\21B\377" \
- "\215\274\21B\377\2\247\17;\377\6\1\2\377\266\0\0\0\377\2\1\0\0\377\221" \
- "\15""3\377\377\274\21B\377\211\274\21B\377\2\253\17<\377\1\0\1\377\226" \
- "\0\0\0\377\1^\10!\377\273\274\21B\377\1\15\1\5\377\234\0\0\0\377\1\0" \
- "\0\0\256\211\0\0\0\0\2\0\0\0\6\0\0\0\376\225\0\0\0\377\1S\7\35\377\273" \
- "\274\21B\377\1%\3\15\377\235\0\0\0\377\1\241\17""8\377\377\274\21B\377" \
- "\214\274\21B\377\1M\7\33\377\270\0\0\0\377\2)\4\16\377\273\21A\377\377" \
- "\274\21B\377\210\274\21B\377\1w\13*\377\227\0\0\0\377\1D\6\30\377\273" \
- "\274\21B\377\1\31\2\11\377\234\0\0\0\377\1\0\0\0\306\211\0\0\0\0\1\0" \
- "\0\0\33\226\0\0\0\377\1^\10!\377\273\274\21B\377\1\15\1\5\377\235\0\0" \
- "\0\377\1q\12(\377\377\274\21B\377\213\274\21B\377\2\235\16""7\377\3\0" \
- "\1\377\271\0\0\0\377\1l\12&\377\377\274\21B\377\210\274\21B\377\1:\5" \
- "\24\377\227\0\0\0\377\1'\4\16\377\273\274\21B\377\1$\3\15\377\234\0\0" \
- "\0\377\1\0\0\0\334\211\0\0\0\0\1\0\0\0(\226\0\0\0\377\1h\11$\377\272" \
- "\274\21B\377\1\261\20>\377\236\0\0\0\377\1""8\5\24\377\377\274\21B\377" \
- "\213\274\21B\377\1""1\4\21\377\272\0\0\0\377\2\7\1\3\377\243\17""9\377" \
- "\377\274\21B\377\206\274\21B\377\2\253\17<\377\3\0\1\377\227\0\0\0\377" \
- "\2\12\1\3\377\273\21B\377\272\274\21B\377\1)\4\16\377\234\0\0\0\377\1" \
- "\0\0\0\352\211\0\0\0\0\1\0\0\0""1\226\0\0\0\377\1s\12(\377\272\274\21" \
- "B\377\1\223\15""4\377\236\0\0\0\377\2\7\1\2\377\265\20\77\377\377\274" \
- "\21B\377\211\274\21B\377\1\204\14.\377\274\0\0\0\377\1:\5\24\377\377" \
- "\274\21B\377\206\274\21B\377\1o\12'\377\231\0\0\0\377\1\251\17;\377\272" \
- "\274\21B\377\1*\4\17\377\234\0\0\0\377\1\0\0\0\363\211\0\0\0\0\1\0\0" \
- "\0:\226\0\0\0\377\1y\13*\377\272\274\21B\377\1v\13)\377\237\0\0\0\377" \
- "\1\205\14/\377\377\274\21B\377\210\274\21B\377\2\267\21@\377\35\3\12" \
- "\377\275\0\0\0\377\1w\13*\377\377\274\21B\377\205\274\21B\377\1*\4\17" \
- "\377\231\0\0\0\377\1\214\15""1\377\272\274\21B\377\1+\4\17\377\234\0" \
- "\0\0\377\1\0\0\0\374\211\0\0\0\0\1\0\0\0C\226\0\0\0\377\1z\13+\377\272" \
- "\274\21B\377\1Y\10\37\377\237\0\0\0\377\1H\7\31\377\377\274\21B\377\210" \
- "\274\21B\377\1^\11!\377\276\0\0\0\377\2\10\1\3\377\240\16""8\377\377" \
- "\274\21B\377\203\274\21B\377\1\226\16""5\377\232\0\0\0\377\1o\12'\377" \
- "\272\274\21B\377\1+\4\17\377\235\0\0\0\377\1\0\0\0\6\210\0\0\0\0\1\0" \
- "\0\0L\226\0\0\0\377\1{\13+\377\272\274\21B\377\1<\5\25\377\237\0\0\0" \
- "\377\2\12\1\3\377\265\20\77\377\377\274\21B\377\206\274\21B\377\2\231" \
- "\16""6\377\3\0\1\377\277\0\0\0\377\2&\3\15\377\270\21A\377\377\274\21" \
- "B\377\202\274\21B\377\1I\7\32\377\232\0\0\0\377\1S\10\35\377\272\274" \
- "\21B\377\1,\4\20\377\235\0\0\0\377\1\0\0\0\20\210\0\0\0\0\1\0\0\0T\226" \
- "\0\0\0\377\1}\13,\377\272\274\21B\377\1\37\3\13\377\240\0\0\0\377\1~" \
- "\13,\377\377\274\21B\377\205\274\21B\377\2\273\21B\377.\4\20\377\301" \
- "\0\0\0\377\1c\11#\377\377\274\21B\377\3\274\21B\377\261\20>\377\10\1" \
- "\3\377\232\0\0\0\377\1""4\5\22\377\272\274\21B\377\1'\4\16\377\235\0" \
- "\0\0\377\1\0\0\0\31\210\0\0\0\0\1\0\0\0S\226\0\0\0\377\1}\13,\377\271" \
- "\274\21B\377\2\272\21A\377\5\0\2\377\240\0\0\0\377\1:\5\24\377\377\274" \
- "\21B\377\205\274\21B\377\1i\12%\377\302\0\0\0\377\2\1\0\1\377\211\14" \
- "0\377\377\274\21B\377\1a\11\"\377\233\0\0\0\377\1\21\2\6\377\272\274" \
- "\21B\377\1\35\3\12\377\235\0\0\0\377\1\0\0\0\27\210\0\0\0\0\1\0\0\0N" \
- "\226\0\0\0\377\1x\13*\377\271\274\21B\377\1\237\16""8\377\241\0\0\0\377" \
- "\2\1\0\1\377\244\17""9\377\377\274\21B\377\203\274\21B\377\2\231\16""6" \
- "\377\4\0\2\377\303\0\0\0\377\2\21\2\6\377\252\17<\377\375\274\21B\377" \
- "\2\263\20\77\377\16\1\5\377\234\0\0\0\377\1\253\17<\377\271\274\21B\377" \
- "\1\25\2\7\377\235\0\0\0\377\1\0\0\0\21\210\0\0\0\0\1\0\0\0H\226\0\0\0" \
- "\377\1o\12'\377\271\274\21B\377\1|\13+\377\242\0\0\0\377\1X\10\37\377" \
- "\377\274\21B\377\202\274\21B\377\2\265\20@\377\36\3\13\377\305\0\0\0" \
- "\377\2""6\5\23\377\273\21A\377\374\274\21B\377\1m\12&\377\235\0\0\0\377" \
- "\1\211\14""0\377\271\274\21B\377\1\14\1\4\377\235\0\0\0\377\1\0\0\0\14" \
- "\210\0\0\0\0\1\0\0\0C\226\0\0\0\377\1f\11$\377\271\274\21B\377\1[\10" \
- "\40\377\242\0\0\0\377\2\21\2\6\377\267\21@\377\377\274\21B\377\2\274" \
- "\21B\377T\10\36\377\307\0\0\0\377\1\\\10\40\377\373\274\21B\377\2\266" \
- "\20@\377\26\2\10\377\235\0\0\0\377\1i\11%\377\271\274\21B\377\1\3\0\1" \
- "\377\235\0\0\0\377\1\0\0\0\6\210\0\0\0\0\1\0\0\0>\226\0\0\0\377\1^\10" \
- "!\377\271\274\21B\377\1""9\5\24\377\243\0\0\0\377\1p\12'\377\377\274" \
- "\21B\377\1\177\13-\377\311\0\0\0\377\1r\12(\377\372\274\21B\377\1b\11" \
- "\"\377\236\0\0\0\377\1F\6\31\377\270\274\21B\377\1\257\20>\377\236\0" \
- "\0\0\377\1\0\0\0\1\210\0\0\0\0\1\0\0\0""8\226\0\0\0\377\1U\10\36\377" \
- "\271\274\21B\377\1\30\2\10\377\243\0\0\0\377\2\31\2\11\377\271\21A\377" \
- "\375\274\21B\377\2\243\17""9\377\13\1\4\377\311\0\0\0\377\2\4\0\2\377" \
- "\216\15""2\377\370\274\21B\377\2\253\17<\377\12\1\3\377\236\0\0\0\377" \
- "\1%\3\15\377\270\274\21B\377\1\235\16""7\377\235\0\0\0\377\1\0\0\0\372" \
- "\211\0\0\0\0\1\0\0\0(\226\0\0\0\377\1E\6\30\377\270\274\21B\377\2\260" \
- "\20>\377\1\0\0\377\244\0\0\0\377\1}\13,\377\374\274\21B\377\2\270\21" \
- "A\377*\4\17\377\313\0\0\0\377\2\24\2\7\377\246\17:\377\367\274\21B\377" \
- "\1S\7\35\377\237\0\0\0\377\2\4\0\1\377\265\20@\377\267\274\21B\377\1" \
- "\212\14""0\377\235\0\0\0\377\1\0\0\0\351\211\0\0\0\0\1\0\0\0\24\226\0" \
- "\0\0\377\1""3\5\22\377\270\274\21B\377\1\220\15""2\377\245\0\0\0\377" \
- "\2!\3\14\377\272\21A\377\373\274\21B\377\1M\7\33\377\315\0\0\0\377\2" \
- "\32\2\11\377\253\17<\377\365\274\21B\377\2\223\15""4\377\1\0\1\377\240" \
- "\0\0\0\377\1\223\15""4\377\267\274\21B\377\1w\13*\377\235\0\0\0\377\1" \
- "\0\0\0\325\211\0\0\0\0\2\0\0\0\2\0\0\0\374\225\0\0\0\377\1\40\3\13\377" \
- "\270\274\21B\377\1i\12%\377\246\0\0\0\377\1q\12(\377\372\274\21B\377" \
- "\1h\11$\377\317\0\0\0\377\2&\3\15\377\263\20\77\377\363\274\21B\377\2" \
- "\272\21A\377&\3\15\377\241\0\0\0\377\1l\12&\377\267\274\21B\377\1d\11" \
- "#\377\235\0\0\0\377\1\0\0\0\301\212\0\0\0\0\1\0\0\0\352\225\0\0\0\377" \
- "\1\15\1\4\377\270\274\21B\377\1B\6\27\377\246\0\0\0\377\2\20\1\6\377" \
- "\262\20\77\377\370\274\21B\377\2\204\14.\377\1\0\1\377\320\0\0\0\377" \
- "\2""9\5\24\377\270\21A\377\362\274\21B\377\1o\12'\377\242\0\0\0\377\1" \
- "D\6\30\377\267\274\21B\377\1J\7\32\377\235\0\0\0\377\1\0\0\0\254\212" \
- "\0\0\0\0\1\0\0\0\326\225\0\0\0\377\2\1\0\0\377\266\20@\377\267\274\21" \
- "B\377\1\33\2\12\377\247\0\0\0\377\1`\11\"\377\367\274\21B\377\2\236\16" \
- "7\377\15\1\4\377\322\0\0\0\377\2""4\5\22\377\266\20@\377\360\274\21B" \
- "\377\2\234\16""7\377\6\1\2\377\242\0\0\0\377\1\34\3\12\377\267\274\21" \
- "B\377\1.\4\20\377\235\0\0\0\377\1\0\0\0\230\212\0\0\0\0\1\0\0\0\303\226" \
- "\0\0\0\377\1\234\16""7\377\266\274\21B\377\2\255\20=\377\1\0\0\377\247" \
- "\0\0\0\377\2\4\0\2\377\237\16""8\377\365\274\21B\377\2\244\17:\377\23" \
- "\2\7\377\324\0\0\0\377\2""5\5\23\377\266\20@\377\356\274\21B\377\2\270" \
- "\21A\377%\3\15\377\243\0\0\0\377\2\1\0\0\377\257\20>\377\266\274\21B" \
- "\377\1\20\1\6\377\235\0\0\0\377\1\0\0\0\205\212\0\0\0\0\1\0\0\0\244\226" \
- "\0\0\0\377\1\200\14-\377\266\274\21B\377\1\206\14/\377\251\0\0\0\377" \
- "\1""3\5\22\377\364\274\21B\377\2\254\20<\377\33\2\11\377\326\0\0\0\377" \
- "\2=\6\25\377\270\21@\377\355\274\21B\377\1_\11!\377\245\0\0\0\377\1\211" \
- "\14""0\377\265\274\21B\377\1\261\20>\377\236\0\0\0\377\1\0\0\0g\212\0" \
- "\0\0\0\1\0\0\0\200\226\0\0\0\377\1b\11\"\377\266\274\21B\377\1^\11!\377" \
- "\252\0\0\0\377\1~\13,\377\362\274\21B\377\2\265\20\77\377.\4\20\377\330" \
- "\0\0\0\377\2.\4\20\377\262\20>\377\353\274\21B\377\2\200\14-\377\1\0" \
- "\0\377\245\0\0\0\377\1^\10!\377\265\274\21B\377\1\223\15""4\377\236\0" \
- "\0\0\377\1\0\0\0C\212\0\0\0\0\1\0\0\0]\226\0\0\0\377\1G\6\31\377\266" \
- "\274\21B\377\1""8\5\24\377\252\0\0\0\377\2\14\1\4\377\247\17:\377\360" \
- "\274\21B\377\2\262\20\77\377+\4\17\377\332\0\0\0\377\2&\3\15\377\255" \
- "\20=\377\351\274\21B\377\2\236\16""7\377\12\1\3\377\246\0\0\0\377\1." \
- "\4\20\377\265\274\21B\377\1m\12&\377\236\0\0\0\377\1\0\0\0\37\212\0\0" \
- "\0\0\1\0\0\0""9\226\0\0\0\377\1)\4\16\377\265\274\21B\377\2\273\21A\377" \
- "\15\1\5\377\253\0\0\0\377\2""2\5\22\377\273\21B\377\356\274\21B\377\2" \
- "\262\20\77\377+\4\17\377\334\0\0\0\377\2\"\3\14\377\250\17;\377\347\274" \
- "\21B\377\2\262\20\77\377#\3\14\377\247\0\0\0\377\2\6\1\2\377\266\20@" \
- "\377\264\274\21B\377\1F\6\31\377\235\0\0\0\377\2\0\0\0\367\0\0\0\2\212" \
- "\0\0\0\0\1\0\0\0\25\226\0\0\0\377\2\6\1\2\377\270\21A\377\264\274\21" \
- "B\377\1\231\16""6\377\255\0\0\0\377\1o\12'\377\355\274\21B\377\2\264" \
- "\20\77\3771\4\21\377\336\0\0\0\377\2\22\2\6\377\225\15""4\377\345\274" \
- "\21B\377\2\267\21@\377.\4\20\377\251\0\0\0\377\1\220\15""2\377\264\274" \
- "\21B\377\1\37\3\13\377\235\0\0\0\377\1\0\0\0\326\214\0\0\0\0\1\0\0\0" \
- "\360\226\0\0\0\377\1\231\16""6\377\264\274\21B\377\1l\12&\377\255\0\0" \
- "\0\377\2\4\0\1\377\216\15""2\377\353\274\21B\377\2\255\20=\377%\3\15" \
- "\377\340\0\0\0\377\2\6\1\2\377|\13+\377\343\274\21B\377\2\273\21A\377" \
- "@\6\27\377\252\0\0\0\377\1c\11#\377\263\274\21B\377\2\262\20>\377\1\0" \
- "\1\377\235\0\0\0\377\1\0\0\0\263\214\0\0\0\0\1\0\0\0\306\226\0\0\0\377" \
- "\1r\12(\377\264\274\21B\377\1\77\6\26\377\256\0\0\0\377\2\21\2\6\377" \
- "\250\17;\377\351\274\21B\377\2\247\17:\377\35\3\12\377\342\0\0\0\377" \
- "\3\3\0\1\377f\11$\377\273\21B\377\341\274\21B\377\1V\10\36\377\253\0" \
- "\0\0\377\1""7\5\23\377\263\274\21B\377\1\215\15""1\377\236\0\0\0\377" \
- "\1\0\0\0\211\214\0\0\0\0\1\0\0\0\220\226\0\0\0\377\1K\7\32\377\264\274" \
- "\21B\377\1\22\2\6\377\257\0\0\0\377\2.\4\20\377\270\21@\377\347\274\21" \
- "B\377\2\241\17""8\377\32\2\11\377\345\0\0\0\377\2""7\5\23\377\257\20" \
- ">\377\336\274\21B\377\2\273\21B\377K\7\32\377\254\0\0\0\377\2\13\1\4" \
- "\377\271\21A\377\262\274\21B\377\1]\10!\377\236\0\0\0\377\1\0\0\0T\214" \
- "\0\0\0\0\1\0\0\0]\226\0\0\0\377\1$\3\15\377\263\274\21B\377\1\243\17" \
- "9\377\261\0\0\0\377\2""9\5\24\377\272\21A\377\345\274\21B\377\2\206\14" \
- "/\377\12\1\3\377\347\0\0\0\377\2\35\3\12\377\234\16""7\377\335\274\21" \
- "B\377\1W\10\37\377\256\0\0\0\377\1\217\15""2\377\262\274\21B\377\1+\4" \
- "\17\377\236\0\0\0\377\1\0\0\0\40\214\0\0\0\0\1\0\0\0)\226\0\0\0\377\2" \
- "\1\0\1\377\257\20=\377\262\274\21B\377\1t\12)\377\262\0\0\0\377\1M\7" \
- "\33\377\344\274\21B\377\2o\12'\377\3\0\1\377\351\0\0\0\377\3\4\0\1\377" \
- "^\11!\377\273\21A\377\331\274\21B\377\2\270\21@\377D\6\30\377\257\0\0" \
- "\0\377\1[\10\40\377\261\274\21B\377\2\262\20\77\377\3\0\1\377\235\0\0" \
- "\0\377\1\0\0\0\354\215\0\0\0\0\2\0\0\0\2\0\0\0\361\226\0\0\0\377\1}\13" \
- ",\377\262\274\21B\377\1>\6\26\377\263\0\0\0\377\1d\11#\377\341\274\21" \
- "B\377\3\272\21A\377Z\10\40\377\1\0\0\377\354\0\0\0\377\2""2\5\22\377" \
- "\251\17;\377\327\274\21B\377\2\262\20>\3771\4\21\377\260\0\0\0\377\1" \
- "&\3\15\377\261\274\21B\377\1\207\14/\377\236\0\0\0\377\1\0\0\0\270\216" \
- "\0\0\0\0\1\0\0\0\300\226\0\0\0\377\1M\7\33\377\261\274\21B\377\2\271" \
- "\21A\377\14\1\4\377\264\0\0\0\377\1^\11!\377\337\274\21B\377\2\252\17" \
- "<\377,\4\20\377\357\0\0\0\377\2\22\2\6\377\200\14-\377\325\274\21B\377" \
- "\2\247\17:\377(\4\16\377\261\0\0\0\377\2\2\0\1\377\256\20=\377\260\274" \
- "\21B\377\1S\7\35\377\236\0\0\0\377\1\0\0\0\205\216\0\0\0\0\1\0\0\0\211" \
- "\226\0\0\0\377\1\35\3\12\377\261\274\21B\377\1\222\15""3\377\266\0\0" \
- "\0\377\1e\11#\377\335\274\21B\377\2\223\15""4\377\26\2\10\377\362\0\0" \
- "\0\377\2""6\5\23\377\246\17:\377\322\274\21B\377\2\200\14-\377\12\1\4" \
- "\377\263\0\0\0\377\1z\13+\377\257\274\21B\377\2\273\21B\377\24\2\7\377" \
- "\236\0\0\0\377\1\0\0\0N\216\0\0\0\0\1\0\0\0C\227\0\0\0\377\1\244\17:" \
- "\377\260\274\21B\377\1_\11!\377\267\0\0\0\377\2P\7\34\377\273\21A\377" \
- "\331\274\21B\377\3\270\21A\377R\7\35\377\1\0\1\377\364\0\0\0\377\3\15" \
- "\1\4\377o\12'\377\273\21A\377\316\274\21B\377\3\272\21A\377`\11\"\377" \
- "\2\0\1\377\264\0\0\0\377\1H\6\31\377\257\274\21B\377\1\227\16""5\377" \
- "\236\0\0\0\377\2\0\0\0\372\0\0\0\15\216\0\0\0\0\2\0\0\0\10\0\0\0\366" \
- "\226\0\0\0\377\1g\11$\377\260\274\21B\377\1)\4\16\377\270\0\0\0\377\2" \
- ";\5\25\377\265\20@\377\327\274\21B\377\2\242\17""9\377(\4\16\377\370" \
- "\0\0\0\377\2\35\3\12\377\210\14""0\377\314\274\21B\377\2\241\17""8\377" \
- "'\4\16\377\266\0\0\0\377\2\16\1\5\377\271\21A\377\256\274\21B\377\1Y" \
- "\10\37\377\236\0\0\0\377\1\0\0\0\303\220\0\0\0\0\1\0\0\0\272\226\0\0" \
- "\0\377\1-\4\20\377\257\274\21B\377\2\257\20>\377\3\0\1\377\271\0\0\0" \
- "\377\2""1\4\21\377\255\20=\377\324\274\21B\377\3\273\21B\377u\13)\377" \
- "\15\1\4\377\260\0\0\0\377\12\1\0\1\377\23\2\7\377)\4\16\377<\5\25\377" \
- "H\7\31\377T\10\36\377`\11\"\377l\12&\377q\12(\377w\13*\377\203}\13,\377" \
- "\12y\13*\377q\12(\377n\12'\377a\11\"\377V\10\36\377I\7\32\377=\6\25\377" \
- "+\4\17\377\25\2\7\377\2\0\1\377\263\0\0\0\377\3\1\0\0\377E\6\30\377\245" \
- "\17:\377\311\274\21B\377\2{\13+\377\15\1\4\377\270\0\0\0\377\1\216\15" \
- "2\377\256\274\21B\377\1\36\3\13\377\236\0\0\0\377\1\0\0\0~\220\0\0\0" \
- "\0\1\0\0\0v\226\0\0\0\377\2\1\0\1\377\252\17<\377\256\274\21B\377\1v" \
- "\13)\377\273\0\0\0\377\2\17\1\5\377\212\14""0\377\322\274\21B\377\2\237" \
- "\16""8\377+\4\17\377\254\0\0\0\377\7\11\1\3\377*\4\17\377J\7\32\377i" \
- "\11%\377\210\14""0\377\244\17:\377\270\21A\377\225\274\21B\377\7\271" \
- "\21A\377\247\17:\377\213\15""1\377l\12&\377M\7\33\377.\4\20\377\13\1" \
- "\4\377\257\0\0\0\377\3\3\0\1\377K\7\32\377\250\17;\377\305\274\21B\377" \
- "\2\233\16""6\377-\4\20\377\272\0\0\0\377\1Q\7\34\377\255\274\21B\377" \
- "\1\223\15""4\377\237\0\0\0\377\1\0\0\0""9\220\0\0\0\0\1\0\0\0""2\227" \
- "\0\0\0\377\1p\12'\377\256\274\21B\377\1=\6\25\377\274\0\0\0\377\3\4\0" \
- "\2\377k\12&\377\273\21B\377\316\274\21B\377\3\270\21A\377f\11$\377\10" \
- "\1\3\377\251\0\0\0\377\5\40\3\13\377P\7\34\377w\13*\377\234\16""7\377" \
- "\272\21A\377\241\274\21B\377\6\273\21B\377\240\16""8\377z\13+\377S\10" \
- "\35\377%\3\15\377\1\0\1\377\254\0\0\0\377\3\12\1\3\377V\10\36\377\251" \
- "\17;\377\301\274\21B\377\3\262\20>\377Y\10\37\377\4\0\2\377\273\0\0\0" \
- "\377\2\26\2\10\377\273\21B\377\254\274\21B\377\1N\7\33\377\236\0\0\0" \
- "\377\2\0\0\0\360\0\0\0\4\220\0\0\0\0\2\0\0\0\2\0\0\0\352\226\0\0\0\377" \
- "\1)\4\16\377\255\274\21B\377\2\264\20\77\377\7\1\2\377\276\0\0\0\377" \
- "\2""0\4\21\377\247\17;\377\314\274\21B\377\2\204\14.\377\31\2\11\377" \
- "\247\0\0\0\377\4\15\1\4\377@\6\27\377t\13)\377\250\17;\377\253\274\21" \
- "B\377\4\254\20<\377z\13+\377E\6\30\377\17\1\5\377\253\0\0\0\377\3\5\0" \
- "\2\377J\7\32\377\240\16""8\377\275\274\21B\377\3\266\20@\377h\11$\377" \
- "\17\1\5\377\276\0\0\0\377\1\227\16""5\377\253\274\21B\377\2\267\21@\377" \
- "\15\1\5\377\236\0\0\0\377\1\0\0\0\257\222\0\0\0\0\1\0\0\0\225\227\0\0" \
- "\0\377\1\237\16""8\377\254\274\21B\377\1\201\14-\377\300\0\0\0\377\2" \
- "\21\2\6\377\203\14.\377\311\274\21B\377\2\237\16""8\377<\5\25\377\246" \
- "\0\0\0\377\4\32\2\11\377U\10\36\377\214\15""1\377\271\21A\377\261\274" \
- "\21B\377\4\273\21A\377\222\15""3\377Y\10\37\377\40\3\13\377\252\0\0\0" \
- "\377\4\1\0\1\3775\5\23\377\205\14/\377\273\21A\377\270\274\21B\377\3" \
- "\266\20@\377n\12'\377\25\2\7\377\300\0\0\0\377\1]\10!\377\253\274\21" \
- "B\377\1\202\14.\377\237\0\0\0\377\1\0\0\0X\222\0\0\0\0\1\0\0\0@\227\0" \
- "\0\0\377\1Y\10\37\377\254\274\21B\377\1F\6\31\377\302\0\0\0\377\2""1" \
- "\4\21\377\236\16""7\377\305\274\21B\377\3\241\17""9\377\77\6\26\377\1" \
- "\0\0\377\244\0\0\0\377\3\17\1\5\377X\10\37\377\235\16""7\377\271\274" \
- "\21B\377\3\237\16""8\377X\10\37\377\22\2\6\377\252\0\0\0\377\3\33\2\11" \
- "\377f\11$\377\252\17<\377\264\274\21B\377\3\262\20\77\377e\11#\377\22" \
- "\2\6\377\302\0\0\0\377\2\27\2\10\377\273\21B\377\252\274\21B\377\1""1" \
- "\4\21\377\236\0\0\0\377\2\0\0\0\364\0\0\0\12\222\0\0\0\0\2\0\0\0\2\0" \
- "\0\0\345\226\0\0\0\377\2\27\2\10\377\273\21A\377\252\274\21B\377\2\271" \
- "\21A\377\17\1\5\377\303\0\0\0\377\3\7\1\3\377b\11\"\377\265\20\77\377" \
- "\301\274\21B\377\3\244\17:\377O\7\34\377\7\1\2\377\244\0\0\0\377\3'\4" \
- "\16\377t\12)\377\264\20\77\377\275\274\21B\377\4\267\21@\377{\13+\377" \
- "/\4\21\377\1\0\0\377\251\0\0\0\377\4\4\0\1\377:\5\24\377\202\14.\377" \
- "\266\20@\377\257\274\21B\377\3\223\15""4\377J\7\32\377\12\1\3\377\305" \
- "\0\0\0\377\1\217\15""2\377\251\274\21B\377\1\231\16""6\377\237\0\0\0" \
- "\377\1\0\0\0\253\224\0\0\0\0\1\0\0\0\222\227\0\0\0\377\1\201\14-\377" \
- "\252\274\21B\377\1\202\14.\377\306\0\0\0\377\3\23\2\7\377o\12'\377\270" \
- "\21A\377\275\274\21B\377\3\231\16""6\377C\6\30\377\3\0\1\377\243\0\0" \
- "\0\377\3\6\1\2\377J\7\32\377\227\16""5\377\303\274\21B\377\3\236\16""7" \
- "\377R\7\35\377\12\1\3\377\252\0\0\0\377\4\11\1\3\377=\6\25\377w\13*\377" \
- "\256\20=\377\251\274\21B\377\3\237\16""8\377a\11\"\377\40\3\13\377\310" \
- "\0\0\0\377\1J\7\32\377\251\274\21B\377\1F\6\31\377\237\0\0\0\377\1\0" \
- "\0\0V\224\0\0\0\0\1\0\0\0=\227\0\0\0\377\1.\4\20\377\252\274\21B\377" \
- "\1>\6\26\377\310\0\0\0\377\3\33\2\11\377t\13)\377\270\21A\377\270\274" \
- "\21B\377\3\271\21A\377\177\13-\377/\4\21\377\244\0\0\0\377\3\16\1\5\377" \
- "d\11#\377\262\20>\377\307\274\21B\377\3\263\20\77\377k\12&\377\24\2\7" \
- "\377\253\0\0\0\377\5\2\0\1\377'\4\16\377Z\10\40\377\215\15""1\377\267" \
- "\21@\377\241\274\21B\377\4\267\21@\377\214\15""1\377Z\10\40\377\40\3" \
- "\13\377\313\0\0\0\377\2\13\1\4\377\265\20@\377\247\274\21B\377\2\252" \
- "\17<\377\4\0\2\377\236\0\0\0\377\2\0\0\0\364\0\0\0\12\224\0\0\0\0\2\0" \
- "\0\0\3\0\0\0\345\227\0\0\0\377\1\225\15""4\377\250\274\21B\377\2\260" \
- "\20>\377\6\1\2\377\312\0\0\0\377\3\26\2\10\377l\12&\377\265\20@\377\264" \
- "\274\21B\377\3\247\17:\377`\11\"\377\25\2\10\377\244\0\0\0\377\3\12\1" \
- "\3\377^\11!\377\260\20>\377\313\274\21B\377\3\264\20\77\377g\11$\377" \
- "\17\1\5\377\255\0\0\0\377\6\4\0\2\377)\4\16\377P\7\34\377y\13*\377\231" \
- "\16""6\377\267\21@\377\227\274\21B\377\6\273\21B\377\242\17""9\377~\13" \
- ",\377[\10\40\3774\5\22\377\7\1\3\377\317\0\0\0\377\1\200\14-\377\247" \
- "\274\21B\377\1X\10\37\377\237\0\0\0\377\1\0\0\0\253\226\0\0\0\0\1\0\0" \
- "\0\177\227\0\0\0\377\1D\6\30\377\250\274\21B\377\1q\12(\377\315\0\0\0" \
- "\377\3\15\1\4\377P\7\34\377\231\16""6\377\257\274\21B\377\4\265\20\77" \
- "\377}\13,\3774\5\22\377\1\0\1\377\244\0\0\0\377\3\12\1\4\377d\11#\377" \
- "\263\20\77\377\317\274\21B\377\3\265\20\77\377d\11#\377\15\1\4\377\260" \
- "\0\0\0\377\11\2\0\1\377\33\2\11\3778\5\24\377Q\7\34\377i\11%\377\200" \
- "\14-\377\224\15""4\377\241\17""9\377\257\20>\377\206\274\21B\377\12\265" \
- "\20@\377\257\20>\377\247\17:\377\223\15""4\377\203\14.\377s\12(\377[" \
- "\10\40\377\77\6\26\377$\3\15\377\11\1\3\377\324\0\0\0\377\1""7\5\23\377" \
- "\246\274\21B\377\2\256\20=\377\12\1\3\377\237\0\0\0\377\1\0\0\0B\226" \
- "\0\0\0\0\2\0\0\0\31\0\0\0\372\226\0\0\0\377\2\4\0\2\377\246\17:\377\247" \
- "\274\21B\377\1.\4\20\377\320\0\0\0\377\3&\3\15\377f\11$\377\244\17""9" \
- "\377\251\274\21B\377\4\253\17<\377r\12(\3779\5\24\377\7\1\2\377\246\0" \
- "\0\0\377\2@\6\27\377\247\17:\377\323\274\21B\377\3\254\20<\377J\7\32" \
- "\377\1\0\1\377\377\0\0\0\377\234\0\0\0\377\2\1\0\0\377\240\16""8\377" \
- "\245\274\21B\377\1V\10\36\377\237\0\0\0\377\1\0\0\0\324\230\0\0\0\0\1" \
- "\0\0\0\254\227\0\0\0\377\1M\7\33\377\246\274\21B\377\2\241\17""9\377" \
- "\1\0\0\377\323\0\0\0\377\4%\3\15\377^\11!\377\221\15""3\377\271\21A\377" \
- "\241\274\21B\377\5\265\20\77\377\211\14""0\377V\10\36\377#\3\14\377\1" \
- "\0\0\377\247\0\0\0\377\2*\4\17\377\226\16""5\377\327\274\21B\377\2\237" \
- "\16""8\3775\5\23\377\377\0\0\0\377\234\0\0\0\377\1T\10\36\377\244\274" \
- "\21B\377\2\254\20<\377\10\1\3\377\237\0\0\0\377\1\0\0\0o\230\0\0\0\0" \
- "\1\0\0\0C\227\0\0\0\377\2\4\0\1\377\244\17""9\377\245\274\21B\377\1R" \
- "\7\35\377\327\0\0\0\377\5\12\1\3\3778\5\24\377^\11!\377\202\14.\377\244" \
- "\17:\377\230\274\21B\377\6\265\20\77\377\227\16""5\377v\13)\377M\7\33" \
- "\377%\3\15\377\3\0\1\377\251\0\0\0\377\3\6\1\2\377e\11#\377\272\21A\377" \
- "\331\274\21B\377\3\273\21B\377q\12(\377\12\1\4\377\377\0\0\0\377\232" \
- "\0\0\0\377\2\16\1\5\377\266\20@\377\243\274\21B\377\1T\10\36\377\237" \
- "\0\0\0\377\2\0\0\0\364\0\0\0\20\230\0\0\0\0\2\0\0\0\1\0\0\0\330\227\0" \
- "\0\0\377\1J\7\32\377\244\274\21B\377\2\264\20\77\377\13\1\4\377\334\0" \
- "\0\0\377\12\12\1\4\377&\3\15\377B\6\27\377]\10!\377t\13)\377\204\14." \
- "\377\226\16""5\377\247\17;\377\257\20>\377\266\20@\377\205\274\21B\377" \
- "\12\273\21B\377\256\20=\377\241\17""8\377\223\15""4\377~\13,\377f\11" \
- "$\377O\7\34\3776\5\23\377\30\2\11\377\1\0\1\377\255\0\0\0\377\2""0\4" \
- "\21\377\244\17""9\377\335\274\21B\377\2\253\17<\377;\5\25\377\377\0\0" \
- "\0\377\232\0\0\0\377\1s\12(\377\242\274\21B\377\2\233\16""6\377\2\0\1" \
- "\377\237\0\0\0\377\1\0\0\0\234\232\0\0\0\0\1\0\0\0t\227\0\0\0\377\2\4" \
- "\0\2\377\241\17""8\377\243\274\21B\377\1t\12)\377\377\0\0\0\377\242\0" \
- "\0\0\377\3\3\0\1\377a\11\"\377\272\21A\377\337\274\21B\377\3\273\21B" \
- "\377m\12&\377\7\1\2\377\377\0\0\0\377\230\0\0\0\377\2$\3\15\377\273\21" \
- "B\377\241\274\21B\377\1""5\5\23\377\240\0\0\0\377\1\0\0\0""6\232\0\0" \
- "\0\0\2\0\0\0\13\0\0\0\353\227\0\0\0\377\1""2\5\22\377\243\274\21B\377" \
- "\1#\3\14\377\377\0\0\0\377\241\0\0\0\377\2!\3\14\377\234\16""7\377\343" \
- "\274\21B\377\2\244\17""9\377+\4\17\377\377\0\0\0\377\230\0\0\0\377\1" \
- "\205\14/\377\240\274\21B\377\1\204\14.\377\240\0\0\0\377\1\0\0\0\274" \
- "\234\0\0\0\0\1\0\0\0\177\230\0\0\0\377\1\207\14/\377\241\274\21B\377" \
- "\1\220\15""2\377\377\0\0\0\377\241\0\0\0\377\2B\6\27\377\262\20\77\377" \
- "\345\274\21B\377\2\266\20@\377O\7\34\377\377\0\0\0\377\227\0\0\0\377" \
- "\1'\4\16\377\237\274\21B\377\2\260\20>\377\23\2\7\377\240\0\0\0\377\1" \
- "\0\0\0A\234\0\0\0\0\2\0\0\0\17\0\0\0\360\227\0\0\0\377\2\35\3\12\377" \
- "\270\21A\377\240\274\21B\377\1""5\5\23\377\377\0\0\0\377\237\0\0\0\377" \
- "\2\4\0\2\377q\12(\377\351\274\21B\377\2\202\14.\377\13\1\4\377\377\0" \
- "\0\0\377\226\0\0\0\377\1\210\14""0\377\236\274\21B\377\1M\7\33\377\240" \
- "\0\0\0\377\1\0\0\0\304\236\0\0\0\0\1\0\0\0\210\230\0\0\0\377\1]\10!\377" \
- "\237\274\21B\377\1\221\15""3\377\377\0\0\0\377\237\0\0\0\377\2\17\1\5" \
- "\377\216\15""2\377\353\274\21B\377\2\230\16""5\377\27\2\10\377\377\0" \
- "\0\0\377\225\0\0\0\377\1""1\4\21\377\235\274\21B\377\2\222\15""3\377" \
- "\1\0\1\377\240\0\0\0\377\1\0\0\0L\236\0\0\0\0\2\0\0\0\26\0\0\0\365\227" \
- "\0\0\0\377\2\3\0\1\377\230\16""5\377\236\274\21B\377\1""9\5\24\377\377" \
- "\0\0\0\377\236\0\0\0\377\2\35\3\12\377\245\17:\377\355\274\21B\377\2" \
- "\257\20=\377+\4\17\377\377\0\0\0\377\225\0\0\0\377\1\206\14/\377\233" \
- "\274\21B\377\2\265\20\77\377\36\3\13\377\240\0\0\0\377\1\0\0\0\315\240" \
- "\0\0\0\0\1\0\0\0\226\230\0\0\0\377\2*\4\17\377\273\21A\377\234\274\21" \
- "B\377\2\234\16""7\377\1\0\0\377\377\0\0\0\377\235\0\0\0\377\2+\4\17\377" \
- "\257\20=\377\357\274\21B\377\2\264\20\77\3777\5\23\377\377\0\0\0\377" \
- "\224\0\0\0\377\2\31\2\11\377\266\20@\377\232\274\21B\377\1@\6\27\377" \
- "\241\0\0\0\377\1\0\0\0[\240\0\0\0\0\2\0\0\0\26\0\0\0\361\230\0\0\0\377" \
- "\1g\11$\377\234\274\21B\377\1""6\5\23\377\377\0\0\0\377\235\0\0\0\377" \
- "\2/\4\21\377\262\20\77\377\361\274\21B\377\2\270\21@\377>\6\26\377\377" \
- "\0\0\0\377\224\0\0\0\377\1a\11\"\377\231\274\21B\377\1n\12'\377\241\0" \
- "\0\0\377\2\0\0\0\313\0\0\0\2\241\0\0\0\0\1\0\0\0|\230\0\0\0\377\2\3\0" \
- "\1\377\217\15""2\377\232\274\21B\377\1\200\14-\377\377\0\0\0\377\235" \
- "\0\0\0\377\2<\5\25\377\270\21@\377\363\274\21B\377\2\273\21B\377O\7\34" \
- "\377\377\0\0\0\377\223\0\0\0\377\2\12\1\3\377\251\17;\377\227\274\21" \
- "B\377\2\231\16""6\377\7\1\2\377\241\0\0\0\377\1\0\0\0\77\242\0\0\0\0" \
- "\2\0\0\0\11\0\0\0\340\230\0\0\0\377\2\22\2\6\377\252\17<\377\230\274" \
- "\21B\377\2\265\20\77\377\25\2\10\377\377\0\0\0\377\234\0\0\0\377\2:\5" \
- "\24\377\267\21@\377\365\274\21B\377\2\273\21A\377I\7\32\377\377\0\0\0" \
- "\377\223\0\0\0\377\2.\4\20\377\272\21A\377\225\274\21B\377\2\247\17;" \
- "\377\23\2\7\377\241\0\0\0\377\1\0\0\0\257\244\0\0\0\0\1\0\0\0\\\231\0" \
- "\0\0\377\2""6\5\23\377\273\21A\377\227\274\21B\377\1b\11\"\377\377\0" \
- "\0\0\377\234\0\0\0\377\2>\6\26\377\272\21A\377\367\274\21B\377\2\273" \
- "\21B\377K\7\32\377\377\0\0\0\377\223\0\0\0\377\1e\11#\377\224\274\21" \
- "B\377\2\264\20\77\377%\3\15\377\241\0\0\0\377\2\0\0\0\370\0\0\0#\244" \
- "\0\0\0\0\2\0\0\0\1\0\0\0\311\231\0\0\0\377\1S\7\35\377\226\274\21B\377" \
- "\2\224\15""4\377\4\0\1\377\377\0\0\0\377\233\0\0\0\377\2""4\5\22\377" \
- "\270\21@\377\371\274\21B\377\2\273\21A\377@\6\27\377\377\0\0\0\377\222" \
- "\0\0\0\377\2\4\0\1\377\223\15""4\377\222\274\21B\377\2\273\21A\377<\5" \
- "\25\377\242\0\0\0\377\1\0\0\0\216\246\0\0\0\0\2\0\0\0""9\0\0\0\376\231" \
- "\0\0\0\377\1n\12'\377\224\274\21B\377\2\262\20\77\377\33\2\11\377\377" \
- "\0\0\0\377\233\0\0\0\377\2#\3\14\377\261\20>\377\373\274\21B\377\2\266" \
- "\20@\377/\4\21\377\377\0\0\0\377\222\0\0\0\377\2\35\3\12\377\255\20=" \
- "\377\221\274\21B\377\1T\10\36\377\242\0\0\0\377\2\0\0\0\354\0\0\0\21" \
- "\247\0\0\0\0\1\0\0\0\247\231\0\0\0\377\2\2\0\1\377\205\14/\377\223\274" \
- "\21B\377\1J\7\32\377\377\0\0\0\377\233\0\0\0\377\2\33\2\11\377\255\20" \
- "=\377\375\274\21B\377\2\262\20\77\377#\3\14\377\355\0\0\0\377\6\15\1" \
- "\4\3774\5\22\377P\7\34\377i\12%\377}\13,\377\207\14/\377\202\212\14""0" \
- "\377\6\210\14""0\377x\13*\377i\11%\377R\7\35\3771\4\21\377\16\1\5\377" \
- "\226\0\0\0\377\2!\3\14\377\257\20>\377\216\274\21B\377\2\273\21B\377" \
- "J\7\32\377\243\0\0\0\377\1\0\0\0k\250\0\0\0\0\2\0\0\0\22\0\0\0\350\231" \
- "\0\0\0\377\2\15\1\4\377\227\16""5\377\221\274\21B\377\2y\13*\377\1\0" \
- "\0\377\377\0\0\0\377\232\0\0\0\377\2\15\1\4\377\236\16""7\377\377\274" \
- "\21B\377\2\251\17;\377\25\2\7\377\350\0\0\0\377\5\15\1\5\377\77\6\26" \
- "\377q\12(\377\237\16""8\377\273\21B\377\214\274\21B\377\4\273\21A\377" \
- "\230\16""5\377e\11#\377#\3\14\377\224\0\0\0\377\2""1\4\21\377\267\21" \
- "@\377\215\274\21B\377\1V\10\36\377\243\0\0\0\377\2\0\0\0\272\0\0\0\1" \
- "\251\0\0\0\0\1\0\0\0V\232\0\0\0\377\2\12\1\4\377\223\15""4\377\217\274" \
- "\21B\377\2~\13,\377\2\0\1\377\377\0\0\0\377\232\0\0\0\377\2\1\0\1\377" \
- "\205\14/\377\377\274\21B\377\202\274\21B\377\2\223\15""4\377\5\0\2\377" \
- "\344\0\0\0\377\4\5\0\2\377<\5\25\377\202\14.\377\270\21@\377\224\274" \
- "\21B\377\3\233\16""6\377E\6\30\377\3\0\1\377\222\0\0\0\377\2.\4\20\377" \
- "\255\20=\377\212\274\21B\377\2\271\21A\377J\7\32\377\243\0\0\0\377\2" \
- "\0\0\0\363\0\0\0\40\253\0\0\0\0\1\0\0\0\255\232\0\0\0\377\2\16\1\5\377" \
- "\231\16""6\377\215\274\21B\377\2\221\15""3\377\7\1\3\377\377\0\0\0\377" \
- "\233\0\0\0\377\1b\11\"\377\377\274\21B\377\204\274\21B\377\1x\13*\377" \
- "\342\0\0\0\377\3(\4\16\377o\12'\377\257\20>\377\231\274\21B\377\2\241" \
- "\17""9\377\77\6\26\377\222\0\0\0\377\2\26\2\10\377\210\14""0\377\210" \
- "\274\21B\377\2\262\20\77\3775\5\23\377\244\0\0\0\377\1\0\0\0s\254\0\0" \
- "\0\0\2\0\0\0\30\0\0\0\356\232\0\0\0\377\2\14\1\4\377\213\15""1\377\213" \
- "\274\21B\377\2\203\14.\377\12\1\3\377\377\0\0\0\377\233\0\0\0\377\2<" \
- "\5\25\377\273\21B\377\377\274\21B\377\205\274\21B\377\1J\7\32\377\336" \
- "\0\0\0\377\3\1\0\0\3779\5\24\377\217\15""2\377\236\274\21B\377\2\217" \
- "\15""2\377\37\3\13\377\222\0\0\0\377\3""7\5\23\377\213\15""1\377\273" \
- "\21A\377\203\274\21B\377\3\272\21A\377\213\15""1\377#\3\14\377\244\0" \
- "\0\0\377\2\0\0\0\305\0\0\0\2\255\0\0\0\0\1\0\0\0c\233\0\0\0\377\2\4\0" \
- "\2\377w\13*\377\210\274\21B\377\3\265\20\77\377S\10\35\377\1\0\1\377" \
- "\377\0\0\0\377\233\0\0\0\377\2\23\2\7\377\255\20=\377\377\274\21B\377" \
- "\206\274\21B\377\2\265\20\77\377\37\3\13\377\333\0\0\0\377\3\7\1\3\377" \
- "R\7\35\377\244\17""9\377\241\274\21B\377\3\270\21A\377^\11!\377\1\0\1" \
- "\377\222\0\0\0\377\5\17\1\5\377-\4\20\3772\5\22\377,\4\20\377\13\1\4" \
- "\377\245\0\0\0\377\2\0\0\0\371\0\0\0-\256\0\0\0\0\2\0\0\0\1\0\0\0\270" \
- "\233\0\0\0\377\3\1\0\0\377U\10\36\377\245\17:\377\204\274\21B\377\3\256" \
- "\20=\377i\12%\377\24\2\7\377\377\0\0\0\377\234\0\0\0\377\2\1\0\1\377" \
- "\217\15""2\377\377\274\21B\377\210\274\21B\377\2\235\16""7\377\6\1\2" \
- "\377\330\0\0\0\377\3\1\0\0\377E\6\30\377\247\17:\377\245\274\21B\377" \
- "\1f\11$\377\274\0\0\0\377\1\0\0\0~\260\0\0\0\0\2\0\0\0\21\0\0\0\340\234" \
- "\0\0\0\377\2\1\0\0\377\32\2\11\377\2022\5\22\377\2#\3\14\377\4\0\1\377" \
- "\377\0\0\0\377\236\0\0\0\377\1S\7\35\377\377\274\21B\377\212\274\21B" \
- "\377\1d\11#\377\327\0\0\0\377\2,\4\20\377\225\15""4\377\250\274\21B\377" \
- "\1R\7\35\377\272\0\0\0\377\2\0\0\0\263\0\0\0\1\261\0\0\0\0\2\0\0\0=\0" \
- "\0\0\373\377\0\0\0\377\276\0\0\0\377\2\32\2\11\377\264\20\77\377\377" \
- "\274\21B\377\212\274\21B\377\2\271\21A\377&\3\15\377\324\0\0\0\377\2" \
- "\40\3\13\377\212\14""0\377\252\274\21B\377\2\273\21A\3774\5\22\377\270" \
- "\0\0\0\377\2\0\0\0\345\0\0\0\25\263\0\0\0\0\1\0\0\0{\377\0\0\0\377\275" \
- "\0\0\0\377\2\1\0\0\377\216\15""2\377\377\274\21B\377\214\274\21B\377" \
- "\2\234\16""7\377\4\0\1\377\321\0\0\0\377\3\3\0\1\377Y\10\37\377\266\20" \
- "@\377\254\274\21B\377\2\250\17;\377\12\1\4\377\266\0\0\0\377\2\0\0\0" \
- "\374\0\0\0\77\264\0\0\0\0\2\0\0\0\2\0\0\0\272\377\0\0\0\377\274\0\0\0" \
- "\377\1F\6\31\377\377\274\21B\377\216\274\21B\377\1X\10\37\377\320\0\0" \
- "\0\377\2%\3\15\377\234\16""7\377\257\274\21B\377\1n\12'\377\266\0\0\0" \
- "\377\1\0\0\0\201\266\0\0\0\0\2\0\0\0\26\0\0\0\346\302\0\0\0\377\3\22" \
- "\2\6\377%\3\15\377.\4\20\377\2032\5\22\377\3&\3\15\377\26\2\10\377\10" \
- "\1\3\377\356\0\0\0\377\2\13\1\4\377\253\17<\377\377\274\21B\377\216\274" \
- "\21B\377\2\263\20\77\377\25\2\10\377\315\0\0\0\377\3\4\0\2\377d\11#\377" \
- "\271\21A\377\260\274\21B\377\2\273\21A\377)\4\16\377\264\0\0\0\377\2" \
- "\0\0\0\275\0\0\0\2\267\0\0\0\0\2\0\0\0E\0\0\0\373\274\0\0\0\377\5\40" \
- "\3\13\377P\7\34\377t\13)\377\231\16""6\377\264\20\77\377\211\274\21B" \
- "\377\6\256\20=\377\226\16""5\377z\13+\377S\7\35\377+\4\17\377\7\1\2\377" \
- "\350\0\0\0\377\1g\11$\377\377\274\21B\377\220\274\21B\377\1z\13+\377" \
- "\314\0\0\0\377\2\33\2\12\377\222\15""3\377\263\274\21B\377\2\223\15""4" \
- "\377\1\0\1\377\262\0\0\0\377\2\0\0\0\347\0\0\0\35\271\0\0\0\0\1\0\0\0" \
- "`\270\0\0\0\377\4\1\0\0\377)\4\16\377l\12&\377\246\17:\377\223\274\21" \
- "B\377\5\270\21A\377\227\16""5\377m\12&\3775\5\23\377\4\0\2\377\343\0" \
- "\0\0\377\2\32\2\11\377\270\21@\377\377\274\21B\377\220\274\21B\377\2" \
- "\273\21B\377&\3\15\377\312\0\0\0\377\2B\6\27\377\262\20\77\377\265\274" \
- "\21B\377\1B\6\27\377\261\0\0\0\377\2\0\0\0\364\0\0\0""1\273\0\0\0\0\1" \
- "\0\0\0\214\265\0\0\0\377\3\7\1\2\377L\7\33\377\237\16""8\377\232\274" \
- "\21B\377\4\261\20>\377z\13+\377>\6\26\377\10\1\3\377\340\0\0\0\377\1" \
- "w\13*\377\377\274\21B\377\222\274\21B\377\1\210\14""0\377\310\0\0\0\377" \
- "\2\10\1\3\377w\13*\377\267\274\21B\377\2\237\16""8\377\1\0\1\377\257" \
- "\0\0\0\377\2\0\0\0\375\0\0\0R\274\0\0\0\0\2\0\0\0\2\0\0\0\261\262\0\0" \
- "\0\377\3\2\0\1\377L\7\33\377\253\17<\377\237\274\21B\377\3\265\20@\377" \
- "{\13+\377.\4\20\377\335\0\0\0\377\2\40\3\13\377\273\21A\377\377\274\21" \
- "B\377\223\274\21B\377\1/\4\21\377\306\0\0\0\377\2!\3\14\377\237\16""8" \
- "\377\271\274\21B\377\1:\5\24\377\257\0\0\0\377\1\0\0\0|\276\0\0\0\0\2" \
- "\0\0\0\15\0\0\0\321\260\0\0\0\377\2\34\3\12\377\232\16""6\377\244\274" \
- "\21B\377\3\235\16""7\377P\7\34\377\13\1\4\377\332\0\0\0\377\1y\13*\377" \
- "\377\274\21B\377\224\274\21B\377\1\213\15""1\377\305\0\0\0\377\2@\6\27" \
- "\377\262\20>\377\272\274\21B\377\1\220\15""2\377\256\0\0\0\377\2\0\0" \
- "\0\244\0\0\0\1\277\0\0\0\0\2\0\0\0\37\0\0\0\350\256\0\0\0\377\2,\4\20" \
- "\377\257\20>\377\247\274\21B\377\3\264\20\77\377q\12(\377\30\2\11\377" \
- "\327\0\0\0\377\2\34\3\12\377\272\21A\377\377\274\21B\377\225\274\21B" \
- "\377\1-\4\20\377\302\0\0\0\377\2\1\0\1\377e\11#\377\275\274\21B\377\1" \
- ",\4\20\377\254\0\0\0\377\2\0\0\0\307\0\0\0\10\301\0\0\0\0\1\0\0\0|\255" \
- "\0\0\0\377\2)\4\16\377\262\20\77\377\252\274\21B\377\3\270\21A\377s\12" \
- "(\377\30\2\11\377\325\0\0\0\377\1m\12&\377\377\274\21B\377\226\274\21" \
- "B\377\1\201\14-\377\301\0\0\0\377\2\17\1\5\377\216\15""2\377\276\274" \
- "\21B\377\1{\13+\377\254\0\0\0\377\1\0\0\0C\302\0\0\0\0\1\0\0\0E\254\0" \
- "\0\0\377\2\33\2\12\377\257\20=\377\255\274\21B\377\3\273\21A\377}\13" \
- ",\377\35\3\12\377\322\0\0\0\377\2\16\1\5\377\265\20\77\377\377\274\21" \
- "B\377\226\274\21B\377\2\273\21A\377\32\2\11\377\277\0\0\0\377\2\40\3" \
- "\13\377\242\17""9\377\277\274\21B\377\2\266\20@\377\14\1\4\377\252\0" \
- "\0\0\377\2\0\0\0\375\0\0\0\15\302\0\0\0\0\2\0\0\0\21\0\0\0\376\252\0" \
- "\0\0\377\2\5\0\2\377\231\16""6\377\260\274\21B\377\3\270\21A\377k\12" \
- "&\377\14\1\4\377\320\0\0\0\377\1V\10\36\377\377\274\21B\377\230\274\21" \
- "B\377\1i\11%\377\276\0\0\0\377\2:\5\24\377\262\20\77\377\301\274\21B" \
- "\377\1I\7\32\377\252\0\0\0\377\1\0\0\0\326\304\0\0\0\0\1\0\0\0\333\252" \
- "\0\0\0\377\1h\11$\377\263\274\21B\377\3\254\20<\377H\6\31\377\1\0\0\377" \
- "\315\0\0\0\377\2\1\0\0\377\242\17""9\377\377\274\21B\377\230\274\21B" \
- "\377\2\257\20=\377\7\1\2\377\274\0\0\0\377\2L\7\33\377\271\21A\377\302" \
- "\274\21B\377\1\213\15""1\377\252\0\0\0\377\1\0\0\0\241\304\0\0\0\0\1" \
- "\0\0\0\246\251\0\0\0\377\2&\3\15\377\273\21A\377\265\274\21B\377\2\231" \
- "\16""6\377,\4\20\377\314\0\0\0\377\1""1\4\21\377\377\274\21B\377\232" \
- "\274\21B\377\1C\6\30\377\272\0\0\0\377\2\1\0\1\377k\12&\377\304\274\21" \
- "B\377\2\273\21B\377\30\2\11\377\251\0\0\0\377\1\0\0\0l\304\0\0\0\0\1" \
- "\0\0\0r\251\0\0\0\377\1\213\15""1\377\267\274\21B\377\3\273\21A\377o" \
- "\12'\377\13\1\4\377\312\0\0\0\377\1u\13)\377\377\274\21B\377\232\274" \
- "\21B\377\1\210\14""0\377\271\0\0\0\377\2\2\0\1\377q\12(\377\306\274\21" \
- "B\377\1T\10\36\377\251\0\0\0\377\1\0\0\0""6\304\0\0\0\0\1\0\0\0=\250" \
- "\0\0\0\377\1=\6\25\377\272\274\21B\377\2\253\17<\377<\5\25\377\310\0" \
- "\0\0\377\2\11\1\3\377\264\20\77\377\377\274\21B\377\232\274\21B\377\2" \
- "\273\21A\377\25\2\10\377\267\0\0\0\377\2\12\1\3\377\212\14""0\377\307" \
- "\274\21B\377\1\213\15""1\377\250\0\0\0\377\2\0\0\0\370\0\0\0\7\304\0" \
- "\0\0\0\2\0\0\0\14\0\0\0\372\246\0\0\0\377\2\1\0\1\377\237\16""8\377\273" \
- "\274\21B\377\3\273\21B\377s\12(\377\13\1\4\377\306\0\0\0\377\1<\5\25" \
- "\377\377\274\21B\377\234\274\21B\377\1P\7\34\377\266\0\0\0\377\2\20\1" \
- "\6\377\225\15""4\377\310\274\21B\377\2\270\21@\377\11\1\3\377\247\0\0" \
- "\0\377\1\0\0\0\313\306\0\0\0\0\1\0\0\0\305\246\0\0\0\377\1""7\5\23\377" \
- "\276\274\21B\377\2\253\17<\377<\5\25\377\305\0\0\0\377\1y\13*\377\377" \
- "\274\21B\377\234\274\21B\377\1\214\15""1\377\265\0\0\0\377\2\21\2\6\377" \
- "\233\16""6\377\312\274\21B\377\1""5\5\23\377\247\0\0\0\377\1\0\0\0\211" \
- "\306\0\0\0\0\1\0\0\0\206\246\0\0\0\377\1\201\14-\377\277\274\21B\377" \
- "\3\273\21B\377o\12'\377\6\1\2\377\302\0\0\0\377\2\4\0\2\377\261\20>\377" \
- "\377\274\21B\377\234\274\21B\377\2\272\21A\377\16\1\5\377\263\0\0\0\377" \
- "\2\30\2\11\377\244\17:\377\313\274\21B\377\1k\12&\377\247\0\0\0\377\1" \
- "\0\0\0J\306\0\0\0\0\1\0\0\0G\245\0\0\0\377\2\30\2\10\377\273\21A\377" \
- "\301\274\21B\377\2\237\16""8\377\40\3\13\377\301\0\0\0\377\1/\4\21\377" \
- "\377\274\21B\377\236\274\21B\377\1B\6\27\377\262\0\0\0\377\2\32\2\11" \
- "\377\246\17:\377\314\274\21B\377\1\237\16""8\377\246\0\0\0\377\2\0\0" \
- "\0\374\0\0\0\16\306\0\0\0\0\2\0\0\0\14\0\0\0\372\244\0\0\0\377\1^\10" \
- "!\377\303\274\21B\377\2\261\20>\377>\6\26\377\300\0\0\0\377\1a\11\"\377" \
- "\377\274\21B\377\236\274\21B\377\1s\12(\377\261\0\0\0\377\2\27\2\10\377" \
- "\243\17""9\377\316\274\21B\377\1\22\2\6\377\245\0\0\0\377\1\0\0\0\313" \
- "\310\0\0\0\0\1\0\0\0\307\244\0\0\0\377\1\231\16""6\377\305\274\21B\377" \
- "\2w\13*\377\7\1\3\377\276\0\0\0\377\1\220\15""2\377\377\274\21B\377\236" \
- "\274\21B\377\1\242\17""9\377\260\0\0\0\377\2\40\3\13\377\252\17<\377" \
- "\317\274\21B\377\1:\5\24\377\245\0\0\0\377\1\0\0\0\214\310\0\0\0\0\1" \
- "\0\0\0\212\243\0\0\0\377\2\23\2\7\377\273\21B\377\306\274\21B\377\2\225" \
- "\15""4\377\25\2\7\377\274\0\0\0\377\2\7\1\3\377\270\21@\377\377\274\21" \
- "B\377\237\274\21B\377\1\26\2\10\377\256\0\0\0\377\2\33\2\11\377\247\17" \
- ";\377\320\274\21B\377\1_\11!\377\245\0\0\0\377\1\0\0\0O\310\0\0\0\0\1" \
- "\0\0\0C\243\0\0\0\377\1J\7\32\377\310\274\21B\377\2\256\20=\377.\4\20" \
- "\377\273\0\0\0\377\1,\4\20\377\377\274\21B\377\240\274\21B\377\1\77\6" \
- "\26\377\255\0\0\0\377\2\35\3\12\377\253\17<\377\321\274\21B\377\1\207" \
- "\14/\377\244\0\0\0\377\2\0\0\0\371\0\0\0\15\310\0\0\0\0\2\0\0\0\6\0\0" \
- "\0\362\242\0\0\0\377\1\201\14-\377\311\274\21B\377\2\267\21@\377F\6\31" \
- "\377\272\0\0\0\377\1S\10\35\377\377\274\21B\377\240\274\21B\377\1e\11" \
- "#\377\254\0\0\0\377\2\30\2\11\377\247\17:\377\322\274\21B\377\1\255\20" \
- "=\377\244\0\0\0\377\1\0\0\0\275\312\0\0\0\0\1\0\0\0\256\241\0\0\0\377" \
- "\2\1\0\0\377\257\20>\377\312\274\21B\377\3\273\21B\377]\10!\377\1\0\0" \
- "\377\270\0\0\0\377\1w\13*\377\377\274\21B\377\240\274\21B\377\1\212\14" \
- "0\377\253\0\0\0\377\2\23\2\7\377\242\17""9\377\324\274\21B\377\1\30\2" \
- "\11\377\243\0\0\0\377\1\0\0\0t\312\0\0\0\0\1\0\0\0e\241\0\0\0\377\1\32" \
- "\2\11\377\315\274\21B\377\2\200\14-\377\10\1\3\377\267\0\0\0\377\1\233" \
- "\16""6\377\377\274\21B\377\240\274\21B\377\1\255\20=\377\252\0\0\0\377" \
- "\2\15\1\5\377\232\16""6\377\325\274\21B\377\1=\6\25\377\243\0\0\0\377" \
- "\1\0\0\0*\312\0\0\0\0\2\0\0\0\34\0\0\0\376\240\0\0\0\377\1<\5\25\377" \
- "\316\274\21B\377\2\220\15""2\377\14\1\4\377\265\0\0\0\377\2\2\0\1\377" \
- "\270\21A\377\377\274\21B\377\241\274\21B\377\1\20\1\6\377\250\0\0\0\377" \
- "\2\16\1\5\377\233\16""6\377\326\274\21B\377\1[\10\40\377\242\0\0\0\377" \
- "\1\0\0\0\337\314\0\0\0\0\1\0\0\0\321\240\0\0\0\377\1a\11\"\377\317\274" \
- "\21B\377\2\236\16""7\377\25\2\10\377\264\0\0\0\377\1\30\2\10\377\377" \
- "\274\21B\377\242\274\21B\377\1*\4\17\377\247\0\0\0\377\2\7\1\2\377\220" \
- "\15""2\377\327\274\21B\377\1t\12)\377\242\0\0\0\377\1\0\0\0\225\314\0" \
- "\0\0\0\1\0\0\0\210\240\0\0\0\377\1\205\14/\377\320\274\21B\377\2\245" \
- "\17:\377\34\3\12\377\263\0\0\0\377\1""1\4\21\377\377\274\21B\377\242" \
- "\274\21B\377\1D\6\30\377\246\0\0\0\377\2\4\0\2\377\213\15""1\377\330" \
- "\274\21B\377\1\216\15""2\377\242\0\0\0\377\1\0\0\0M\314\0\0\0\0\1\0\0" \
- "\0""5\240\0\0\0\377\1\244\17:\377\321\274\21B\377\2\250\17;\377\37\3" \
- "\13\377\262\0\0\0\377\1J\7\32\377\377\274\21B\377\242\274\21B\377\1]" \
- "\10!\377\245\0\0\0\377\2\1\0\1\377z\13+\377\331\274\21B\377\1\250\17" \
- ";\377\241\0\0\0\377\2\0\0\0\361\0\0\0\7\314\0\0\0\0\2\0\0\0\1\0\0\0\341" \
- "\236\0\0\0\377\2\2\0\1\377\271\21A\377\322\274\21B\377\2\260\20>\377" \
- ",\4\20\377\261\0\0\0\377\1\\\10\40\377\377\274\21B\377\242\274\21B\377" \
- "\1o\12'\377\245\0\0\0\377\1f\11$\377\332\274\21B\377\2\273\21B\377\7" \
- "\1\2\377\240\0\0\0\377\1\0\0\0\250\316\0\0\0\0\1\0\0\0\221\236\0\0\0" \
- "\377\1\22\2\6\377\324\274\21B\377\2\262\20\77\377+\4\17\377\260\0\0\0" \
- "\377\1l\12&\377\377\274\21B\377\242\274\21B\377\1\177\13-\377\244\0\0" \
- "\0\377\1U\10\36\377\334\274\21B\377\1\37\3\13\377\240\0\0\0\377\1\0\0" \
- "\0W\316\0\0\0\0\1\0\0\0@\236\0\0\0\377\1&\3\15\377\325\274\21B\377\2" \
- "\265\20\77\377/\4\21\377\257\0\0\0\377\1{\13+\377\377\274\21B\377\242" \
- "\274\21B\377\1\216\15""2\377\243\0\0\0\377\2>\6\26\377\273\21A\377\334" \
- "\274\21B\377\1""7\5\23\377\237\0\0\0\377\2\0\0\0\367\0\0\0\14\316\0\0" \
- "\0\0\2\0\0\0\3\0\0\0\352\235\0\0\0\377\1:\5\24\377\326\274\21B\377\2" \
- "\264\20\77\377.\4\20\377\256\0\0\0\377\1\210\14""0\377\377\274\21B\377" \
- "\242\274\21B\377\1\234\16""7\377\242\0\0\0\377\2)\4\16\377\267\21@\377" \
- "\335\274\21B\377\1G\6\31\377\237\0\0\0\377\1\0\0\0\264\320\0\0\0\0\1" \
- "\0\0\0\236\235\0\0\0\377\1M\7\33\377\327\274\21B\377\2\257\20>\377%\3" \
- "\15\377\255\0\0\0\377\1\217\15""2\377\377\274\21B\377\242\274\21B\377" \
- "\1\242\17""9\377\241\0\0\0\377\2\25\2\7\377\253\17<\377\336\274\21B\377" \
- "\1V\10\36\377\237\0\0\0\377\1\0\0\0d\320\0\0\0\0\1\0\0\0B\235\0\0\0\377" \
- "\1V\10\36\377\330\274\21B\377\2\261\20>\377)\4\16\377\254\0\0\0\377\1" \
- "\224\15""4\377\377\274\21B\377\242\274\21B\377\1\250\17;\377\240\0\0" \
- "\0\377\2\5\0\2\377\223\15""4\377\337\274\21B\377\1c\11#\377\236\0\0\0" \
- "\377\2\0\0\0\366\0\0\0\16\320\0\0\0\0\2\0\0\0\2\0\0\0\344\234\0\0\0\377" \
- "\1[\10\40\377\331\274\21B\377\2\255\20=\377\37\3\13\377\253\0\0\0\377" \
- "\1\231\16""6\377\377\274\21B\377\242\274\21B\377\1\255\20=\377\240\0" \
- "\0\0\377\1o\12'\377\340\274\21B\377\1q\12(\377\236\0\0\0\377\1\0\0\0" \
- "\255\322\0\0\0\0\1\0\0\0\215\234\0\0\0\377\1a\11\"\377\332\274\21B\377" \
- "\2\252\17<\377\30\2\10\377\252\0\0\0\377\1\234\16""7\377\377\274\21B" \
- "\377\242\274\21B\377\1\260\20>\377\237\0\0\0\377\1J\7\32\377\341\274" \
- "\21B\377\1~\13,\377\236\0\0\0\377\1\0\0\0T\322\0\0\0\0\1\0\0\0""3\234" \
- "\0\0\0\377\1f\11$\377\333\274\21B\377\2\241\17""9\377\21\2\6\377\251" \
- "\0\0\0\377\1\227\16""5\377\377\274\21B\377\242\274\21B\377\1\253\17<" \
- "\377\236\0\0\0\377\2'\4\16\377\267\21@\377\341\274\21B\377\1\214\15""1" \
- "\377\235\0\0\0\377\2\0\0\0\357\0\0\0\10\323\0\0\0\0\1\0\0\0\330\233\0" \
- "\0\0\377\1l\12&\377\334\274\21B\377\2\225\15""4\377\11\1\3\377\250\0" \
- "\0\0\377\1\222\15""3\377\377\274\21B\377\242\274\21B\377\1\246\17:\377" \
- "\235\0\0\0\377\2\7\1\3\377\240\16""8\377\342\274\21B\377\1\231\16""6" \
- "\377\235\0\0\0\377\1\0\0\0\236\324\0\0\0\0\1\0\0\0\177\233\0\0\0\377" \
- "\1p\12'\377\335\274\21B\377\2\201\14-\377\2\0\1\377\247\0\0\0\377\1\216" \
- "\15""2\377\377\274\21B\377\242\274\21B\377\1\241\17""8\377\235\0\0\0" \
- "\377\1q\12(\377\343\274\21B\377\1\236\16""7\377\235\0\0\0\377\1\0\0\0" \
- "E\324\0\0\0\0\2\0\0\0#\0\0\0\376\232\0\0\0\377\1j\12%\377\336\274\21" \
- "B\377\2y\13*\377\1\0\0\377\246\0\0\0\377\1\205\14/\377\377\274\21B\377" \
- "\242\274\21B\377\1\231\16""6\377\234\0\0\0\377\1""7\5\23\377\344\274" \
- "\21B\377\1\237\16""8\377\234\0\0\0\377\2\0\0\0\347\0\0\0\3\325\0\0\0" \
- "\0\1\0\0\0\312\232\0\0\0\377\1c\11#\377\337\274\21B\377\1T\10\36\377" \
- "\246\0\0\0\377\1v\13)\377\377\274\21B\377\242\274\21B\377\1\211\14""0" \
- "\377\233\0\0\0\377\2\16\1\5\377\252\17<\377\344\274\21B\377\1\240\16" \
- "8\377\234\0\0\0\377\1\0\0\0\220\326\0\0\0\0\1\0\0\0p\232\0\0\0\377\1" \
- "[\10\40\377\337\274\21B\377\2\273\21A\3773\5\22\377\245\0\0\0\377\1f" \
- "\11$\377\377\274\21B\377\242\274\21B\377\1z\13+\377\233\0\0\0\377\1{" \
- "\13+\377\345\274\21B\377\1\241\17""8\377\234\0\0\0\377\1\0\0\0""6\326" \
- "\0\0\0\0\2\0\0\0\30\0\0\0\374\231\0\0\0\377\1S\7\35\377\340\274\21B\377" \
- "\2\254\20<\377\24\2\7\377\244\0\0\0\377\1W\10\37\377\377\274\21B\377" \
- "\242\274\21B\377\1j\12%\377\232\0\0\0\377\1@\6\27\377\346\274\21B\377" \
- "\1\241\17""9\377\233\0\0\0\377\1\0\0\0\331\330\0\0\0\0\1\0\0\0\273\231" \
- "\0\0\0\377\1K\7\32\377\341\274\21B\377\2\222\15""3\377\4\0\2\377\243" \
- "\0\0\0\377\1C\6\30\377\377\274\21B\377\242\274\21B\377\1V\10\36\377\231" \
- "\0\0\0\377\2\15\1\4\377\254\20<\377\346\274\21B\377\1\242\17""9\377\233" \
- "\0\0\0\377\1\0\0\0\201\330\0\0\0\0\1\0\0\0c\231\0\0\0\377\1B\6\27\377" \
- "\342\274\21B\377\1c\11#\377\243\0\0\0\377\1(\4\16\377\377\274\21B\377" \
- "\242\274\21B\377\1;\5\25\377\231\0\0\0\377\1q\12(\377\347\274\21B\377" \
- "\1\244\17""9\377\233\0\0\0\377\1\0\0\0*\330\0\0\0\0\2\0\0\0\15\0\0\0" \
- "\365\230\0\0\0\377\1""1\4\21\377\342\274\21B\377\2\273\21B\3777\5\23" \
- "\377\242\0\0\0\377\1\16\1\5\377\377\274\21B\377\242\274\21B\377\1\40" \
- "\3\13\377\230\0\0\0\377\2#\3\14\377\272\21A\377\347\274\21B\377\1\240" \
- "\16""8\377\232\0\0\0\377\1\0\0\0\311\332\0\0\0\0\1\0\0\0\247\230\0\0" \
- "\0\377\1\33\2\12\377\343\274\21B\377\2\255\20=\377\17\1\5\377\242\0\0" \
- "\0\377\1\261\20>\377\377\274\21B\377\240\274\21B\377\2\273\21B\377\10" \
- "\1\3\377\227\0\0\0\377\2\1\0\1\377\226\16""5\377\350\274\21B\377\1\224" \
- "\15""4\377\232\0\0\0\377\1\0\0\0n\332\0\0\0\0\1\0\0\0L\230\0\0\0\377" \
- "\1\7\1\2\377\344\274\21B\377\1w\13*\377\242\0\0\0\377\1\216\15""2\377" \
- "\377\274\21B\377\240\274\21B\377\1\241\17""8\377\230\0\0\0\377\1I\7\32" \
- "\377\351\274\21B\377\1\211\14""0\377\231\0\0\0\377\2\0\0\0\372\0\0\0" \
- "\25\332\0\0\0\0\2\0\0\0\4\0\0\0\350\230\0\0\0\377\1\256\20=\377\344\274" \
- "\21B\377\1:\5\24\377\241\0\0\0\377\1j\12%\377\377\274\21B\377\240\274" \
- "\21B\377\1}\13,\377\227\0\0\0\377\2\16\1\5\377\256\20=\377\351\274\21" \
- "B\377\1}\13,\377\231\0\0\0\377\1\0\0\0\265\334\0\0\0\0\1\0\0\0\222\230" \
- "\0\0\0\377\1\231\16""6\377\344\274\21B\377\2\251\17;\377\14\1\4\377\240" \
- "\0\0\0\377\1F\6\31\377\377\274\21B\377\240\274\21B\377\1X\10\37\377\227" \
- "\0\0\0\377\1i\12%\377\352\274\21B\377\1r\12(\377\231\0\0\0\377\1\0\0" \
- "\0Z\334\0\0\0\0\1\0\0\0""7\230\0\0\0\377\1\205\14/\377\345\274\21B\377" \
- "\1q\12(\377\240\0\0\0\377\1!\3\14\377\377\274\21B\377\240\274\21B\377" \
- "\1""4\5\22\377\226\0\0\0\377\2\35\3\12\377\272\21A\377\352\274\21B\377" \
- "\1f\11$\377\230\0\0\0\377\2\0\0\0\362\0\0\0\12\335\0\0\0\0\1\0\0\0\330" \
- "\227\0\0\0\377\1k\12&\377\345\274\21B\377\2\273\21A\377+\4\17\377\237" \
- "\0\0\0\377\2\1\0\0\377\255\20=\377\377\274\21B\377\236\274\21B\377\2" \
- "\270\21A\377\11\1\3\377\226\0\0\0\377\1z\13+\377\353\274\21B\377\1[\10" \
- "\40\377\230\0\0\0\377\1\0\0\0\240\336\0\0\0\0\1\0\0\0~\227\0\0\0\377" \
- "\1I\7\32\377\346\274\21B\377\2\231\16""6\377\1\0\1\377\237\0\0\0\377" \
- "\1\177\13-\377\377\274\21B\377\236\274\21B\377\1\221\15""3\377\226\0" \
- "\0\0\377\2\35\3\12\377\272\21A\377\353\274\21B\377\1O\7\34\377\230\0" \
- "\0\0\377\1\0\0\0E\336\0\0\0\0\2\0\0\0#\0\0\0\376\226\0\0\0\377\1(\4\16" \
- "\377\347\274\21B\377\1H\6\31\377\237\0\0\0\377\1P\7\34\377\377\274\21" \
- "B\377\236\274\21B\377\1a\11\"\377\226\0\0\0\377\1\200\14-\377\354\274" \
- "\21B\377\1""7\5\23\377\227\0\0\0\377\2\0\0\0\344\0\0\0\2\337\0\0\0\0" \
- "\1\0\0\0\305\226\0\0\0\377\2\10\1\3\377\273\21A\377\346\274\21B\377\2" \
- "\253\17<\377\12\1\4\377\236\0\0\0\377\1\35\3\12\377\377\274\21B\377\236" \
- "\274\21B\377\1/\4\21\377\225\0\0\0\377\2(\4\16\377\273\21B\377\354\274" \
- "\21B\377\1\36\3\13\377\227\0\0\0\377\1\0\0\0\214\340\0\0\0\0\1\0\0\0" \
- "p\227\0\0\0\377\1\243\17""9\377\347\274\21B\377\1a\11\"\377\237\0\0\0" \
- "\377\1\236\16""7\377\377\274\21B\377\234\274\21B\377\2\255\20=\377\2" \
- "\0\1\377\225\0\0\0\377\1\205\14/\377\354\274\21B\377\2\273\21A\377\6" \
- "\1\2\377\227\0\0\0\377\1\0\0\0""7\340\0\0\0\0\1\0\0\0=\227\0\0\0\377" \
- "\1\202\14.\377\347\274\21B\377\2\265\20@\377\27\2\10\377\236\0\0\0\377" \
- "\1d\11#\377\377\274\21B\377\234\274\21B\377\1w\13*\377\225\0\0\0\377" \
- "\2(\4\16\377\273\21B\377\354\274\21B\377\1\251\17;\377\227\0\0\0\377" \
- "\2\0\0\0\374\0\0\0\7\340\0\0\0\0\1\0\0\0\27\227\0\0\0\377\1a\11\"\377" \
- "\350\274\21B\377\1u\13)\377\236\0\0\0\377\1,\4\20\377\377\274\21B\377" \
- "\234\274\21B\377\1\77\6\26\377\225\0\0\0\377\1\205\14/\377\355\274\21" \
- "B\377\1\216\15""2\377\227\0\0\0\377\1\0\0\0\334\342\0\0\0\0\1\0\0\0\357" \
- "\226\0\0\0\377\1""6\5\23\377\350\274\21B\377\2\273\21A\377\40\3\13\377" \
- "\235\0\0\0\377\2\1\0\0\377\242\17""9\377\377\274\21B\377\232\274\21B" \
- "\377\2\260\20>\377\6\1\2\377\224\0\0\0\377\2\40\3\13\377\273\21B\377" \
- "\355\274\21B\377\1u\13)\377\227\0\0\0\377\1\0\0\0\265\342\0\0\0\0\1\0" \
- "\0\0\311\226\0\0\0\377\2\12\1\4\377\272\21A\377\350\274\21B\377\1y\13" \
- "*\377\236\0\0\0\377\1^\11!\377\377\274\21B\377\232\274\21B\377\1q\12" \
- "(\377\225\0\0\0\377\1s\12(\377\356\274\21B\377\1\\\10\40\377\227\0\0" \
- "\0\377\1\0\0\0\216\342\0\0\0\0\1\0\0\0\242\227\0\0\0\377\1\226\16""5" \
- "\377\350\274\21B\377\2\272\21A\377\35\3\12\377\235\0\0\0\377\2\30\2\10" \
- "\377\273\21B\377\377\274\21B\377\231\274\21B\377\1+\4\17\377\224\0\0" \
- "\0\377\2\20\1\6\377\266\20@\377\356\274\21B\377\1\77\6\26\377\227\0\0" \
- "\0\377\1\0\0\0g\342\0\0\0\0\1\0\0\0{\227\0\0\0\377\1i\11%\377\351\274" \
- "\21B\377\1u\13)\377\236\0\0\0\377\1\216\15""2\377\377\274\21B\377\230" \
- "\274\21B\377\2\240\16""8\377\1\0\0\377\224\0\0\0\377\1b\11\"\377\357" \
- "\274\21B\377\1\33\2\11\377\227\0\0\0\377\1\0\0\0@\342\0\0\0\0\1\0\0\0" \
- "H\227\0\0\0\377\1<\5\25\377\351\274\21B\377\2\270\21A\377\31\2\11\377" \
- "\235\0\0\0\377\1;\5\25\377\377\274\21B\377\230\274\21B\377\1N\7\33\377" \
- "\224\0\0\0\377\2\11\1\3\377\257\20>\377\356\274\21B\377\2\260\20>\377" \
- "\1\0\0\377\226\0\0\0\377\2\0\0\0\375\0\0\0\15\342\0\0\0\0\1\0\0\0\24" \
- "\227\0\0\0\377\2\17\1\5\377\273\21B\377\351\274\21B\377\1r\12(\377\235" \
- "\0\0\0\377\2\1\0\1\377\243\17""9\377\377\274\21B\377\226\274\21B\377" \
- "\2\261\20>\377\11\1\3\377\224\0\0\0\377\1M\7\33\377\357\274\21B\377\1" \
- "\217\15""2\377\227\0\0\0\377\1\0\0\0\327\344\0\0\0\0\1\0\0\0\336\227" \
- "\0\0\0\377\1\235\16""7\377\351\274\21B\377\2\267\21@\377\20\1\6\377\235" \
- "\0\0\0\377\1W\10\37\377\377\274\21B\377\226\274\21B\377\1k\12&\377\225" \
- "\0\0\0\377\1\235\16""7\377\357\274\21B\377\1f\11$\377\227\0\0\0\377\1" \
- "\0\0\0\243\344\0\0\0\0\1\0\0\0\252\227\0\0\0\377\1c\11#\377\352\274\21" \
- "B\377\1[\10\40\377\235\0\0\0\377\2\10\1\3\377\255\20=\377\377\274\21" \
- "B\377\224\274\21B\377\2\265\20@\377\22\2\6\377\224\0\0\0\377\1,\4\20" \
- "\377\360\274\21B\377\1""9\5\24\377\227\0\0\0\377\1\0\0\0p\344\0\0\0\0" \
- "\1\0\0\0w\227\0\0\0\377\1*\4\17\377\352\274\21B\377\2\247\17:\377\3\0" \
- "\1\377\235\0\0\0\377\1[\10\40\377\377\274\21B\377\224\274\21B\377\1l" \
- "\12&\377\225\0\0\0\377\1t\12)\377\357\274\21B\377\2\273\21B\377\16\1" \
- "\5\377\227\0\0\0\377\1\0\0\0<\344\0\0\0\0\1\0\0\0\77\227\0\0\0\377\2" \
- "\1\0\1\377\252\17<\377\352\274\21B\377\1;\5\25\377\235\0\0\0\377\2\15" \
- "\1\4\377\262\20>\377\377\274\21B\377\222\274\21B\377\2\270\21A\377\30" \
- "\2\10\377\224\0\0\0\377\2\10\1\3\377\262\20>\377\357\274\21B\377\1\237" \
- "\16""8\377\227\0\0\0\377\2\0\0\0\371\0\0\0\12\344\0\0\0\0\2\0\0\0\6\0" \
- "\0\0\364\227\0\0\0\377\1s\12(\377\352\274\21B\377\1\211\14""0\377\236" \
- "\0\0\0\377\1V\10\36\377\377\274\21B\377\222\274\21B\377\1h\11$\377\225" \
- "\0\0\0\377\1H\7\31\377\360\274\21B\377\1i\12%\377\227\0\0\0\377\1\0\0" \
- "\0\300\346\0\0\0\0\1\0\0\0\273\227\0\0\0\377\1:\5\24\377\352\274\21B" \
- "\377\2\273\21B\377\35\3\12\377\235\0\0\0\377\2\4\0\2\377\241\17""9\377" \
- "\377\274\21B\377\220\274\21B\377\2\256\20=\377\14\1\4\377\225\0\0\0\377" \
- "\1\220\15""2\377\360\274\21B\377\1""4\5\22\377\227\0\0\0\377\1\0\0\0" \
- "\177\346\0\0\0\0\1\0\0\0{\227\0\0\0\377\2\10\1\3\377\266\20@\377\352" \
- "\274\21B\377\1f\11$\377\236\0\0\0\377\1\77\6\26\377\377\274\21B\377\220" \
- "\274\21B\377\1R\7\35\377\225\0\0\0\377\1\35\3\12\377\360\274\21B\377" \
- "\2\265\20\77\377\6\1\2\377\227\0\0\0\377\1\0\0\0>\346\0\0\0\0\1\0\0\0" \
- ":\230\0\0\0\377\1\204\14.\377\352\274\21B\377\2\252\17<\377\2\0\1\377" \
- "\235\0\0\0\377\2\1\0\0\377\220\15""2\377\377\274\21B\377\216\274\21B" \
- "\377\2\236\16""7\377\4\0\2\377\225\0\0\0\377\1`\11\"\377\360\274\21B" \
- "\377\1\206\14/\377\227\0\0\0\377\2\0\0\0\365\0\0\0\6\346\0\0\0\0\2\0" \
- "\0\0\6\0\0\0\363\227\0\0\0\377\1<\5\25\377\353\274\21B\377\1""4\5\22" \
- "\377\236\0\0\0\377\2\33\2\12\377\266\20@\377\377\274\21B\377\214\274" \
- "\21B\377\2\273\21A\377(\4\16\377\226\0\0\0\377\1\241\17""8\377\360\274" \
- "\21B\377\1H\6\31\377\227\0\0\0\377\1\0\0\0\274\350\0\0\0\0\1\0\0\0\253" \
- "\227\0\0\0\377\2\4\0\2\377\255\20=\377\352\274\21B\377\1v\13)\377\237" \
- "\0\0\0\377\1^\10!\377\377\274\21B\377\214\274\21B\377\1o\12'\377\226" \
- "\0\0\0\377\1\40\3\13\377\360\274\21B\377\2\270\21@\377\14\1\4\377\227" \
- "\0\0\0\377\1\0\0\0n\350\0\0\0\0\1\0\0\0^\230\0\0\0\377\1k\12&\377\352" \
- "\274\21B\377\2\262\20\77\377\7\1\2\377\236\0\0\0\377\2\7\1\2\377\236" \
- "\16""7\377\377\274\21B\377\212\274\21B\377\2\251\17;\377\15\1\5\377\226" \
- "\0\0\0\377\1[\10\40\377\360\274\21B\377\1\213\15""1\377\230\0\0\0\377" \
- "\1\0\0\0!\350\0\0\0\0\2\0\0\0\22\0\0\0\373\227\0\0\0\377\1%\3\15\377" \
- "\353\274\21B\377\1=\6\25\377\237\0\0\0\377\2#\3\14\377\270\21@\377\377" \
- "\274\21B\377\210\274\21B\377\2\273\21B\3771\4\21\377\227\0\0\0\377\1" \
- "\231\16""6\377\360\274\21B\377\1E\6\30\377\227\0\0\0\377\1\0\0\0\324" \
- "\352\0\0\0\0\1\0\0\0\302\230\0\0\0\377\1\231\16""6\377\352\274\21B\377" \
- "\1\177\13-\377\240\0\0\0\377\1X\10\37\377\377\274\21B\377\210\274\21" \
- "B\377\1k\12&\377\227\0\0\0\377\1\32\2\11\377\360\274\21B\377\2\260\20" \
- ">\377\7\1\2\377\227\0\0\0\377\1\0\0\0\207\352\0\0\0\0\1\0\0\0w\230\0" \
- "\0\0\377\1V\10\36\377\352\274\21B\377\2\265\20@\377\11\1\3\377\237\0" \
- "\0\0\377\2\3\0\1\377\220\15""2\377\377\274\21B\377\206\274\21B\377\2" \
- "\236\16""7\377\10\1\3\377\227\0\0\0\377\1V\10\36\377\360\274\21B\377" \
- "\1p\12'\377\230\0\0\0\377\1\0\0\0<\352\0\0\0\0\2\0\0\0\36\0\0\0\376\227" \
- "\0\0\0\377\2\22\2\6\377\270\21A\377\352\274\21B\377\1""9\5\24\377\240" \
- "\0\0\0\377\2\20\1\6\377\250\17;\377\377\274\21B\377\204\274\21B\377\2" \
- "\260\20>\377\33\2\11\377\230\0\0\0\377\1\221\15""3\377\360\274\21B\377" \
- "\1)\4\16\377\227\0\0\0\377\2\0\0\0\337\0\0\0\1\353\0\0\0\0\1\0\0\0\303" \
- "\230\0\0\0\377\1u\13)\377\352\274\21B\377\1o\12'\377\241\0\0\0\377\2" \
- ")\4\16\377\270\21@\377\377\274\21B\377\202\274\21B\377\2\273\21B\377" \
- "9\5\24\377\230\0\0\0\377\2\15\1\4\377\272\21A\377\357\274\21B\377\1\222" \
- "\15""3\377\230\0\0\0\377\1\0\0\0\210\354\0\0\0\0\1\0\0\0i\230\0\0\0\377" \
- "\2\40\3\13\377\273\21B\377\351\274\21B\377\1\244\17:\377\242\0\0\0\377" \
- "\1T\10\36\377\377\274\21B\377\202\274\21B\377\1e\11#\377\231\0\0\0\377" \
- "\1:\5\24\377\360\274\21B\377\1A\6\27\377\230\0\0\0\377\1\0\0\0-\354\0" \
- "\0\0\0\2\0\0\0\24\0\0\0\372\230\0\0\0\377\1\212\14""0\377\352\274\21" \
- "B\377\1\33\2\12\377\242\0\0\0\377\1l\12&\377\377\274\21B\377\2z\13+\377" \
- "\1\0\0\377\231\0\0\0\377\1j\12%\377\357\274\21B\377\2\247\17;\377\3\0" \
- "\1\377\227\0\0\0\377\1\0\0\0\322\356\0\0\0\0\1\0\0\0\267\230\0\0\0\377" \
- "\1""6\5\23\377\352\274\21B\377\1P\7\34\377\242\0\0\0\377\2\2\0\1\377" \
- "\204\14.\377\375\274\21B\377\2\223\15""4\377\6\1\2\377\232\0\0\0\377" \
- "\1\231\16""6\377\357\274\21B\377\1W\10\37\377\230\0\0\0\377\1\0\0\0z" \
- "\356\0\0\0\0\1\0\0\0Q\230\0\0\0\377\2\1\0\0\377\235\16""7\377\351\274" \
- "\21B\377\1\205\14/\377\243\0\0\0\377\2\15\1\4\377\231\16""6\377\373\274" \
- "\21B\377\2\244\17""9\377\24\2\7\377\232\0\0\0\377\2\21\2\6\377\273\21" \
- "B\377\356\274\21B\377\2\251\17;\377\6\1\2\377\227\0\0\0\377\2\0\0\0\372" \
- "\0\0\0\30\356\0\0\0\0\2\0\0\0\4\0\0\0\344\230\0\0\0\377\1M\7\33\377\351" \
- "\274\21B\377\2\262\20\77\377\2\0\1\377\243\0\0\0\377\2\17\1\5\377\235" \
- "\16""7\377\371\274\21B\377\2\245\17:\377\25\2\7\377\233\0\0\0\377\1\77" \
- "\6\26\377\357\274\21B\377\1S\7\35\377\230\0\0\0\377\1\0\0\0\253\360\0" \
- "\0\0\0\1\0\0\0\200\230\0\0\0\377\2\7\1\3\377\255\20=\377\351\274\21B" \
- "\377\1#\3\14\377\244\0\0\0\377\2\27\2\10\377\247\17:\377\367\274\21B" \
- "\377\2\257\20=\377!\3\14\377\234\0\0\0\377\1n\12'\377\356\274\21B\377" \
- "\2\252\17<\377\10\1\3\377\230\0\0\0\377\1\0\0\0D\360\0\0\0\0\2\0\0\0" \
- "\34\0\0\0\373\230\0\0\0\377\1S\7\35\377\351\274\21B\377\1L\7\33\377\245" \
- "\0\0\0\377\2\25\2\10\377\241\17""8\377\365\274\21B\377\2\251\17;\377" \
- "\35\3\12\377\235\0\0\0\377\1\231\16""6\377\356\274\21B\377\1H\6\31\377" \
- "\230\0\0\0\377\2\0\0\0\331\0\0\0\1\361\0\0\0\0\1\0\0\0\263\230\0\0\0" \
- "\377\2\6\1\2\377\247\17:\377\350\274\21B\377\1t\13)\377\246\0\0\0\377" \
- "\2\21\2\6\377\233\16""6\377\363\274\21B\377\2\247\17:\377\34\3\12\377" \
- "\235\0\0\0\377\2\7\1\2\377\271\21A\377\355\274\21B\377\2\224\15""4\377" \
- "\1\0\0\377\230\0\0\0\377\1\0\0\0v\362\0\0\0\0\1\0\0\0=\231\0\0\0\377" \
- "\1K\7\32\377\350\274\21B\377\1\234\16""7\377\247\0\0\0\377\2\22\2\6\377" \
- "\231\16""6\377\361\274\21B\377\2\244\17""9\377\34\3\12\377\236\0\0\0" \
- "\377\1&\3\15\377\355\274\21B\377\2\273\21B\377.\4\20\377\230\0\0\0\377" \
- "\2\0\0\0\357\0\0\0\16\363\0\0\0\0\1\0\0\0\305\230\0\0\0\377\2\4\0\1\377" \
- "\242\17""9\377\347\274\21B\377\2\273\21A\377\12\1\4\377\247\0\0\0\377" \
- "\2\10\1\3\377\202\14.\377\357\274\21B\377\2\216\15""2\377\15\1\5\377" \
- "\237\0\0\0\377\1L\7\33\377\355\274\21B\377\1p\12'\377\231\0\0\0\377\1" \
- "\0\0\0\212\364\0\0\0\0\1\0\0\0Q\231\0\0\0\377\1E\6\30\377\350\274\21" \
- "B\377\1""1\4\21\377\250\0\0\0\377\2\4\0\1\377t\12)\377\355\274\21B\377" \
- "\2\202\14.\377\7\1\3\377\240\0\0\0\377\1p\12'\377\354\274\21B\377\2\247" \
- "\17:\377\12\1\4\377\230\0\0\0\377\2\0\0\0\371\0\0\0\33\364\0\0\0\0\2" \
- "\0\0\0\2\0\0\0\326\230\0\0\0\377\2\3\0\1\377\237\16""8\377\347\274\21" \
- "B\377\1R\7\35\377\252\0\0\0\377\2K\7\32\377\270\21@\377\351\274\21B\377" \
- "\3\273\21A\377X\10\37\377\1\0\0\377\241\0\0\0\377\1\223\15""4\377\354" \
- "\274\21B\377\1<\5\25\377\231\0\0\0\377\1\0\0\0\236\366\0\0\0\0\1\0\0" \
- "\0f\231\0\0\0\377\1@\6\27\377\347\274\21B\377\1l\12&\377\253\0\0\0\377" \
- "\2,\4\20\377\253\17<\377\347\274\21B\377\2\261\20>\3777\5\23\377\242" \
- "\0\0\0\377\2\4\0\1\377\266\20@\377\353\274\21B\377\1r\12(\377\231\0\0" \
- "\0\377\2\0\0\0\375\0\0\0,\366\0\0\0\0\2\0\0\0\3\0\0\0\330\231\0\0\0\377" \
- "\1{\13+\377\346\274\21B\377\1\210\14""0\377\254\0\0\0\377\2\33\2\11\377" \
- "\226\16""5\377\345\274\21B\377\2\237\16""8\377#\3\14\377\243\0\0\0\377" \
- "\1\34\3\12\377\353\274\21B\377\2\241\17""8\377\11\1\3\377\231\0\0\0\377" \
- "\1\0\0\0\242\370\0\0\0\0\1\0\0\0[\231\0\0\0\377\2\14\1\4\377\244\17:" \
- "\377\345\274\21B\377\1\242\17""9\377\255\0\0\0\377\3\2\0\1\377X\10\37" \
- "\377\270\21A\377\341\274\21B\377\3\273\21A\377d\11#\377\5\0\2\377\244" \
- "\0\0\0\377\1""4\5\22\377\352\274\21B\377\2\265\20@\377\40\3\13\377\231" \
- "\0\0\0\377\2\0\0\0\372\0\0\0#\370\0\0\0\0\2\0\0\0\2\0\0\0\320\231\0\0" \
- "\0\377\2,\4\20\377\271\21A\377\344\274\21B\377\2\271\21A\377\4\0\1\377" \
- "\256\0\0\0\377\2""1\4\21\377\244\17:\377\337\274\21B\377\2\253\17<\377" \
- ";\5\25\377\246\0\0\0\377\1J\7\32\377\352\274\21B\377\1T\10\36\377\232" \
- "\0\0\0\377\1\0\0\0\232\372\0\0\0\0\1\0\0\0V\232\0\0\0\377\1]\10!\377" \
- "\345\274\21B\377\1\33\2\11\377\257\0\0\0\377\3\6\1\2\377^\11!\377\270" \
- "\21A\377\333\274\21B\377\3\273\21A\377k\12&\377\12\1\4\377\247\0\0\0" \
- "\377\1a\11\"\377\351\274\21B\377\1z\13+\377\232\0\0\0\377\2\0\0\0\371" \
- "\0\0\0!\373\0\0\0\0\1\0\0\0\301\231\0\0\0\377\2\3\0\1\377\215\15""1\377" \
- "\344\274\21B\377\1""3\5\22\377\261\0\0\0\377\2+\4\17\377\234\16""7\377" \
- "\331\274\21B\377\2\243\17""9\3774\5\22\377\251\0\0\0\377\1w\13*\377\350" \
- "\274\21B\377\2\237\16""8\377\12\1\3\377\232\0\0\0\377\1\0\0\0\210\374" \
- "\0\0\0\0\2\0\0\0""1\0\0\0\375\231\0\0\0\377\2\15\1\5\377\244\17""9\377" \
- "\343\274\21B\377\1B\6\27\377\262\0\0\0\377\3\1\0\1\377E\6\30\377\256" \
- "\20=\377\325\274\21B\377\3\262\20\77\377R\7\35\377\4\0\1\377\252\0\0" \
- "\0\377\1\216\15""2\377\347\274\21B\377\2\265\20@\377\"\3\14\377\232\0" \
- "\0\0\377\2\0\0\0\346\0\0\0\15\375\0\0\0\0\1\0\0\0\237\232\0\0\0\377\2" \
- "#\3\14\377\265\20@\377\342\274\21B\377\1N\7\33\377\264\0\0\0\377\3\24" \
- "\2\7\377z\13+\377\273\21A\377\322\274\21B\377\2\202\14.\377\33\2\11\377" \
- "\254\0\0\0\377\1\243\17""9\377\347\274\21B\377\1R\7\35\377\233\0\0\0" \
- "\377\1\0\0\0b\376\0\0\0\0\2\0\0\0\27\0\0\0\361\232\0\0\0\377\1N\7\33" \
- "\377\342\274\21B\377\1Z\10\40\377\266\0\0\0\377\3\35\3\12\377}\13,\377" \
- "\273\21B\377\316\274\21B\377\2}\13,\377\40\3\13\377\256\0\0\0\377\1\265" \
- "\20\77\377\346\274\21B\377\1v\13)\377\233\0\0\0\377\2\0\0\0\312\0\0\0" \
- "\2\377\0\0\0\0\1\0\0\0z\233\0\0\0\377\1j\12%\377\341\274\21B\377\1f\11" \
- "$\377\270\0\0\0\377\2,\4\20\377\210\14""0\377\313\274\21B\377\2\221\15" \
- "3\3775\5\23\377\257\0\0\0\377\2\1\0\0\377\273\21B\377\345\274\21B\377" \
- "\2\216\15""2\377\4\0\1\377\232\0\0\0\377\2\0\0\0\376\0\0\0>\377\0\0\0" \
- "\0\3\0\0\0\0\0\0\0\4\0\0\0\317\232\0\0\0\377\2\1\0\1\377\202\14.\377" \
- "\340\274\21B\377\1r\12(\377\272\0\0\0\377\3\40\3\13\377w\13*\377\271" \
- "\21A\377\305\274\21B\377\3\272\21A\377w\13*\377#\3\14\377\261\0\0\0\377" \
- "\1\7\1\3\377\345\274\21B\377\2\244\17""9\377\16\1\5\377\233\0\0\0\377" \
- "\1\0\0\0\230\377\0\0\0\0\203\0\0\0\0\2\0\0\0""6\0\0\0\375\232\0\0\0\377" \
- "\2\12\1\4\377\234\16""7\377\337\274\21B\377\1}\13,\377\274\0\0\0\377" \
- "\3\32\2\11\377e\11#\377\255\20=\377\301\274\21B\377\3\261\20>\377l\12" \
- "&\377\40\3\13\377\263\0\0\0\377\1\17\1\5\377\344\274\21B\377\2\265\20" \
- "@\377)\4\16\377\233\0\0\0\377\2\0\0\0\345\0\0\0\17\377\0\0\0\0\204\0" \
- "\0\0\0\1\0\0\0\227\233\0\0\0\377\2\27\2\10\377\252\17<\377\336\274\21" \
- "B\377\1\200\14-\377\276\0\0\0\377\4\5\0\2\377B\6\27\377\210\14""0\377" \
- "\272\21A\377\273\274\21B\377\4\273\21B\377\220\15""2\377I\7\32\377\10" \
- "\1\3\377\265\0\0\0\377\1\27\2\10\377\343\274\21B\377\2\271\21A\3777\5" \
- "\23\377\234\0\0\0\377\1\0\0\0Z\377\0\0\0\0\205\0\0\0\0\2\0\0\0\22\0\0" \
- "\0\346\233\0\0\0\377\2\33\2\12\377\253\17<\377\335\274\21B\377\1z\13" \
- "+\377\301\0\0\0\377\3\23\2\7\377T\10\36\377\230\16""5\377\267\274\21" \
- "B\377\3\236\16""7\377[\10\40\377\30\2\10\377\270\0\0\0\377\1\36\3\13" \
- "\377\343\274\21B\377\1I\7\32\377\234\0\0\0\377\2\0\0\0\273\0\0\0\1\377" \
- "\0\0\0\0\206\0\0\0\0\2\0\0\0D\0\0\0\376\233\0\0\0\377\2'\4\16\377\262" \
- "\20\77\377\334\274\21B\377\1u\13)\377\304\0\0\0\377\4\17\1\5\377E\6\30" \
- "\377\204\14.\377\270\21@\377\257\274\21B\377\4\271\21A\377\212\14""0" \
- "\377R\7\35\377\27\2\10\377\273\0\0\0\377\1%\3\15\377\342\274\21B\377" \
- "\1e\11#\377\234\0\0\0\377\2\0\0\0\355\0\0\0\32\377\0\0\0\0\210\0\0\0" \
- "\0\1\0\0\0\227\234\0\0\0\377\2""0\4\21\377\266\20@\377\333\274\21B\377" \
- "\1p\12'\377\307\0\0\0\377\4\17\1\5\377\77\6\26\377o\12'\377\240\16""8" \
- "\377\251\274\21B\377\4\244\17:\377t\12)\377C\6\30\377\22\2\6\377\276" \
- "\0\0\0\377\1#\3\14\377\341\274\21B\377\2w\13*\377\1\0\0\377\234\0\0\0" \
- "\377\1\0\0\0Z\377\0\0\0\0\211\0\0\0\0\2\0\0\0\13\0\0\0\332\234\0\0\0" \
- "\377\2\77\6\26\377\271\21A\377\332\274\21B\377\1l\12&\377\313\0\0\0\377" \
- "\5\22\2\6\377<\5\25\377f\11$\377\217\15""2\377\263\20\77\377\237\274" \
- "\21B\377\5\266\20@\377\222\15""3\377i\12%\377@\6\27\377\26\2\10\377\302" \
- "\0\0\0\377\1\35\3\12\377\340\274\21B\377\2x\13*\377\1\0\1\377\234\0\0" \
- "\0\377\1\0\0\0\252\377\0\0\0\0\213\0\0\0\0\2\0\0\0>\0\0\0\374\234\0\0" \
- "\0\377\2A\6\27\377\272\21A\377\331\274\21B\377\1f\11$\377\317\0\0\0\377" \
- "\10\1\0\0\377\30\2\10\3777\5\23\377V\10\36\377r\12(\377\207\14/\377\235" \
- "\16""7\377\263\20\77\377\221\274\21B\377\10\265\20@\377\237\16""8\377" \
- "\212\14""0\377t\13)\377Y\10\37\377:\5\24\377\33\2\11\377\2\0\1\377\306" \
- "\0\0\0\377\1\30\2\10\377\337\274\21B\377\2\204\14.\377\4\0\2\377\234" \
- "\0\0\0\377\2\0\0\0\347\0\0\0\27\377\0\0\0\0\214\0\0\0\0\1\0\0\0v\235" \
- "\0\0\0\377\2<\5\25\377\270\21A\377\330\274\21B\377\1X\10\37\377\327\0" \
- "\0\0\377\7\12\1\3\377\26\2\10\377\"\3\14\377.\4\20\377:\5\24\377\77\6" \
- "\26\377E\6\30\377\203K\7\32\377\7G\6\31\377\77\6\26\377<\5\25\377/\4" \
- "\21\377#\3\14\377\27\2\10\377\13\1\4\377\316\0\0\0\377\1\14\1\4\377\336" \
- "\274\21B\377\2\203\14.\377\4\0\1\377\234\0\0\0\377\2\0\0\0\373\0\0\0" \
- "=\377\0\0\0\0\215\0\0\0\0\2\0\0\0\1\0\0\0\261\235\0\0\0\377\2B\6\27\377" \
- "\270\21A\377\327\274\21B\377\1E\6\30\377\377\0\0\0\377\267\0\0\0\377" \
- "\2\1\0\0\377\270\21A\377\334\274\21B\377\2\210\14""0\377\7\1\3\377\235" \
- "\0\0\0\377\1\0\0\0|\377\0\0\0\0\217\0\0\0\0\2\0\0\0\27\0\0\0\347\235" \
- "\0\0\0\377\2""5\5\23\377\264\20\77\377\326\274\21B\377\1""1\4\21\377" \
- "\377\0\0\0\377\270\0\0\0\377\1\251\17;\377\333\274\21B\377\2\200\14-" \
- "\377\5\0\2\377\235\0\0\0\377\2\0\0\0\300\0\0\0\3\377\0\0\0\0\220\0\0" \
- "\0\0\2\0\0\0""8\0\0\0\370\235\0\0\0\377\2%\3\15\377\254\20<\377\325\274" \
- "\21B\377\1\25\2\7\377\377\0\0\0\377\270\0\0\0\377\1\223\15""4\377\332" \
- "\274\21B\377\2r\12(\377\1\0\1\377\235\0\0\0\377\2\0\0\0\336\0\0\0\23" \
- "\377\0\0\0\0\222\0\0\0\0\1\0\0\0h\236\0\0\0\377\2\36\3\13\377\244\17" \
- "9\377\323\274\21B\377\2\263\20\77\377\1\0\0\377\377\0\0\0\377\270\0\0" \
- "\0\377\1z\13+\377\331\274\21B\377\2l\12&\377\1\0\1\377\235\0\0\0\377" \
- "\2\0\0\0\366\0\0\0""0\377\0\0\0\0\224\0\0\0\0\1\0\0\0\234\236\0\0\0\377" \
- "\2\20\1\6\377\221\15""3\377\322\274\21B\377\1\223\15""4\377\377\0\0\0" \
- "\377\271\0\0\0\377\1a\11\"\377\327\274\21B\377\2\273\21B\377W\10\37\377" \
- "\237\0\0\0\377\1\0\0\0]\377\0\0\0\0\225\0\0\0\0\2\0\0\0\12\0\0\0\315" \
- "\236\0\0\0\377\2\3\0\1\377n\12'\377\321\274\21B\377\1h\11$\377\377\0" \
- "\0\0\377\271\0\0\0\377\1=\6\25\377\326\274\21B\377\2\265\20@\377;\5\25" \
- "\377\237\0\0\0\377\1\0\0\0\232\377\0\0\0\0\227\0\0\0\0\2\0\0\0\24\0\0" \
- "\0\332\236\0\0\0\377\3\1\0\0\377X\10\37\377\272\21A\377\317\274\21B\377" \
- "\1\77\6\26\377\377\0\0\0\377\271\0\0\0\377\1\27\2\10\377\325\274\21B" \
- "\377\2\257\20>\3771\4\21\377\237\0\0\0\377\2\0\0\0\257\0\0\0\3\377\0" \
- "\0\0\0\230\0\0\0\0\2\0\0\0#\0\0\0\351\237\0\0\0\377\2""0\4\21\377\254" \
- "\20<\377\315\274\21B\377\2\272\21A\377\17\1\5\377\377\0\0\0\377\272\0" \
- "\0\0\377\1\252\17<\377\323\274\21B\377\2\236\16""7\377\33\2\12\377\237" \
- "\0\0\0\377\2\0\0\0\307\0\0\0\11\377\0\0\0\0\232\0\0\0\0\2\0\0\0@\0\0" \
- "\0\370\237\0\0\0\377\2\24\2\7\377\221\15""3\377\314\274\21B\377\1\221" \
- "\15""3\377\377\0\0\0\377\273\0\0\0\377\1w\13*\377\322\274\21B\377\2\177" \
- "\13-\377\10\1\3\377\237\0\0\0\377\2\0\0\0\342\0\0\0\33\377\0\0\0\0\234" \
- "\0\0\0\0\2\0\0\0M\0\0\0\373\237\0\0\0\377\3\3\0\1\377a\11\"\377\272\21" \
- "A\377\312\274\21B\377\1V\10\36\377\377\0\0\0\377\273\0\0\0\377\1E\6\30" \
- "\377\320\274\21B\377\3\273\21A\377c\11#\377\2\0\1\377\237\0\0\0\377\2" \
- "\0\0\0\350\0\0\0#\377\0\0\0\0\236\0\0\0\0\1\0\0\0e\241\0\0\0\377\2'\4" \
- "\16\377\241\17""8\377\310\274\21B\377\2\267\21@\377\16\1\5\377\377\0" \
- "\0\0\377\273\0\0\0\377\2\20\1\6\377\271\21A\377\316\274\21B\377\2\252" \
- "\17<\3772\5\22\377\240\0\0\0\377\2\0\0\0\362\0\0\0""4\377\0\0\0\0\240" \
- "\0\0\0\0\1\0\0\0}\241\0\0\0\377\3\14\1\4\377t\12)\377\273\21B\377\306" \
- "\274\21B\377\1}\13,\377\377\0\0\0\377\275\0\0\0\377\1\202\14.\377\315" \
- "\274\21B\377\2{\13+\377\13\1\4\377\240\0\0\0\377\2\0\0\0\370\0\0\0B\377" \
- "\0\0\0\0\241\0\0\0\0\2\0\0\0\1\0\0\0\222\242\0\0\0\377\2+\4\17\377\237" \
- "\16""8\377\304\274\21B\377\2\273\21B\377#\3\14\377\377\0\0\0\377\275" \
- "\0\0\0\377\1\77\6\26\377\313\274\21B\377\3\264\20\77\377N\7\33\377\1" \
- "\0\0\377\240\0\0\0\377\2\0\0\0\374\0\0\0Y\377\0\0\0\0\244\0\0\0\0\1\0" \
- "\0\0\204\242\0\0\0\377\3\11\1\3\377h\11$\377\270\21A\377\302\274\21B" \
- "\377\1\211\14""0\377\377\0\0\0\377\276\0\0\0\377\2\2\0\1\377\241\17""8" \
- "\377\311\274\21B\377\2\213\15""1\377\26\2\10\377\241\0\0\0\377\2\0\0" \
- "\0\372\0\0\0R\377\0\0\0\0\246\0\0\0\0\1\0\0\0\204\243\0\0\0\377\2\32" \
- "\2\11\377\204\14.\377\300\274\21B\377\2\270\21A\377\40\3\13\377\377\0" \
- "\0\0\377\277\0\0\0\377\1M\7\33\377\307\274\21B\377\3\265\20\77\377W\10" \
- "\37\377\2\0\1\377\241\0\0\0\377\2\0\0\0\372\0\0\0R\377\0\0\0\0\247\0" \
- "\0\0\0\2\0\0\0\1\0\0\0\210\244\0\0\0\377\2>\6\26\377\241\17""8\377\276" \
- "\274\21B\377\1j\12%\377\377\0\0\0\377\300\0\0\0\377\2\5\0\2\377\241\17" \
- "8\377\305\274\21B\377\2\204\14.\377\30\2\11\377\242\0\0\0\377\2\0\0\0" \
- "\370\0\0\0U\377\0\0\0\0\252\0\0\0\0\2\0\0\0i\0\0\0\375\243\0\0\0\377" \
- "\3\1\0\1\377\77\6\26\377\242\17""9\377\273\274\21B\377\2\231\16""6\377" \
- "\6\1\2\377\377\0\0\0\377\301\0\0\0\377\1""6\5\23\377\303\274\21B\377" \
- "\2\244\17:\377:\5\24\377\243\0\0\0\377\2\0\0\0\360\0\0\0>\377\0\0\0\0" \
- "\254\0\0\0\0\2\0\0\0Q\0\0\0\367\244\0\0\0\377\3\7\1\3\377U\10\36\377" \
- "\253\17<\377\270\274\21B\377\2\265\20\77\377\40\3\13\377\377\0\0\0\377" \
- "\303\0\0\0\377\1y\13*\377\300\274\21B\377\3\260\20>\377W\10\37\377\6" \
- "\1\2\377\243\0\0\0\377\2\0\0\0\344\0\0\0+\377\0\0\0\0\256\0\0\0\0\2\0" \
- "\0\0B\0\0\0\362\245\0\0\0\377\3\7\1\3\377S\10\35\377\252\17<\377\265" \
- "\274\21B\377\2\270\21@\3776\5\23\377\377\0\0\0\377\304\0\0\0\377\2\11" \
- "\1\3\377\240\16""8\377\275\274\21B\377\3\267\21@\377l\12&\377\17\1\5" \
- "\377\244\0\0\0\377\2\0\0\0\332\0\0\0!\377\0\0\0\0\260\0\0\0\0\2\0\0\0" \
- "5\0\0\0\353\246\0\0\0\377\3\4\0\2\377E\6\30\377\227\16""5\377\262\274" \
- "\21B\377\2\267\21@\377=\6\25\377\377\0\0\0\377\306\0\0\0\377\2\35\3\12" \
- "\377\255\20=\377\272\274\21B\377\3\265\20\77\377j\12%\377\24\2\7\377" \
- "\245\0\0\0\377\2\0\0\0\317\0\0\0\27\377\0\0\0\0\262\0\0\0\0\2\0\0\0/" \
- "\0\0\0\345\250\0\0\0\377\3-\4\20\377w\13*\377\265\20\77\377\256\274\21" \
- "B\377\2\255\20=\377+\4\17\377\377\0\0\0\377\310\0\0\0\377\2$\3\15\377" \
- "\257\20>\377\267\274\21B\377\3\257\20>\377c\11#\377\20\1\6\377\246\0" \
- "\0\0\377\2\0\0\0\306\0\0\0\23\377\0\0\0\0\264\0\0\0\0\2\0\0\0\23\0\0" \
- "\0\275\251\0\0\0\377\4\12\1\4\377J\7\32\377\214\15""1\377\272\21A\377" \
- "\251\274\21B\377\3\264\20\77\377d\11#\377\16\1\5\377\377\0\0\0\377\312" \
- "\0\0\0\377\2\21\2\6\377\203\14.\377\264\274\21B\377\3\234\16""7\377E" \
- "\6\30\377\4\0\2\377\247\0\0\0\377\2\0\0\0\210\0\0\0\4\377\0\0\0\0\266" \
- "\0\0\0\0\2\0\0\0\4\0\0\0\221\253\0\0\0\377\4\17\1\5\377J\7\32\377\204" \
- "\14.\377\263\20\77\377\244\274\21B\377\3\257\20=\377a\11\"\377\17\1\5" \
- "\377\377\0\0\0\377\315\0\0\0\377\3\1\0\1\377I\7\32\377\255\20=\377\257" \
- "\274\21B\377\4\266\20@\377}\13,\3776\5\23\377\1\0\1\377\247\0\0\0\377" \
- "\2\0\0\0\371\0\0\0f\377\0\0\0\0\272\0\0\0\0\2\0\0\0f\0\0\0\371\254\0" \
- "\0\0\377\5\1\0\1\377&\3\15\377X\10\37\377\212\14""0\377\267\21@\377\235" \
- "\274\21B\377\4\253\17<\377k\12&\377,\4\20\377\1\0\1\377\333\0\0\0\377" \
- "\15\3\0\1\377\22\2\6\377#\3\14\3775\5\23\377E\6\30\377T\10\36\377d\11" \
- "#\377o\12'\377z\13+\377\205\14/\377\221\15""3\377\234\16""7\377\247\17" \
- ";\377\217\257\20>\377\1\247\17;\377\202\243\17""9\377\12\236\16""7\377" \
- "\221\15""3\377\203\14.\377u\13)\377h\11$\377[\10\40\377M\7\33\377<\5" \
- "\25\377%\3\15\377\16\1\5\377\314\0\0\0\377\3\15\1\4\377c\11#\377\264" \
- "\20\77\377\252\274\21B\377\4\273\21A\377\217\15""2\377M\7\33\377\15\1" \
- "\4\377\251\0\0\0\377\2\0\0\0\347\0\0\0;\377\0\0\0\0\274\0\0\0\0\2\0\0" \
- "\0;\0\0\0\350\257\0\0\0\377\5\14\1\4\377;\5\25\377a\11\"\377\203\14." \
- "\377\245\17:\377\225\274\21B\377\5\265\20\77\377\216\15""2\377d\11#\377" \
- "8\5\24\377\6\1\2\377\327\0\0\0\377\7\15\1\4\377(\4\16\377C\6\30\377^" \
- "\11!\377z\13+\377\225\15""4\377\255\20=\377\251\274\21B\377\10\263\20" \
- "\77\377\234\16""7\377\205\14/\377n\12'\377S\7\35\3775\5\23\377\30\2\11" \
- "\377\1\0\1\377\306\0\0\0\377\3\20\1\6\377[\10\40\377\244\17""9\377\245" \
- "\274\21B\377\4\271\21A\377\217\15""2\377S\10\35\377\25\2\7\377\253\0" \
- "\0\0\377\2\0\0\0\312\0\0\0\33\377\0\0\0\0\276\0\0\0\0\2\0\0\0#\0\0\0" \
- "\317\263\0\0\0\377\10\14\1\4\377.\4\20\377P\7\34\377g\11$\377v\13)\377" \
- "\204\14.\377\223\15""4\377\241\17""8\377\206\257\20>\377\10\252\17<\377" \
- "\226\16""5\377\203\14.\377o\12'\377]\10!\377I\7\32\377%\3\15\377\3\0" \
- "\1\377\325\0\0\0\377\6\14\1\4\377,\4\20\377L\7\33\377n\12'\377\216\15" \
- "2\377\256\20=\377\267\274\21B\377\6\266\20@\377\232\16""6\377}\13,\377" \
- "^\11!\377;\5\25\377\30\2\10\377\303\0\0\0\377\4\1\0\1\377.\4\20\377o" \
- "\12'\377\254\20<\377\237\274\21B\377\4\242\17""9\377u\13)\377@\6\27\377" \
- "\15\1\4\377\255\0\0\0\377\2\0\0\0\253\0\0\0\15\377\0\0\0\0\300\0\0\0" \
- "\0\3\0\0\0\4\0\0\0\200\0\0\0\375\377\0\0\0\377\230\0\0\0\377\5\12\1\3" \
- "\3772\5\22\377]\10!\377\205\14/\377\247\17:\377\303\274\21B\377\5\257" \
- "\20>\377\214\15""1\377i\11%\377D\6\30\377\30\2\10\377\301\0\0\0\377\6" \
- "\1\0\1\377$\3\15\377V\10\36\377\200\14-\377\243\17""9\377\273\21B\377" \
- "\225\274\21B\377\5\261\20>\377\214\15""1\377f\11$\377\77\6\26\377\22" \
- "\2\6\377\257\0\0\0\377\2\0\0\0\357\0\0\0U\377\0\0\0\0\304\0\0\0\0\2\0" \
- "\0\0A\0\0\0\344\377\0\0\0\377\223\0\0\0\377\5\32\2\11\377E\6\30\377o" \
- "\12'\377\232\16""6\377\272\21A\377\314\274\21B\377\5\247\17;\377z\13" \
- "+\377M\7\33\377\40\3\13\377\1\0\0\377\301\0\0\0\377\11\13\1\4\377-\4" \
- "\20\377P\7\34\377n\12'\377~\13,\377\216\15""2\377\234\16""7\377\253\17" \
- "<\377\271\21A\377\204\274\21B\377\12\270\21@\377\257\20>\377\244\17""9" \
- "\377\220\15""2\377}\13,\377h\11$\377M\7\33\3773\5\22\377\30\2\11\377" \
- "\1\0\0\377\262\0\0\0\377\2\0\0\0\305\0\0\0\40\377\0\0\0\0\306\0\0\0\0" \
- "\2\0\0\0\24\0\0\0\262\377\0\0\0\377\216\0\0\0\377\4\22\2\6\377C\6\30" \
- "\377t\12)\377\245\17:\377\325\274\21B\377\4\255\20=\377y\13*\377@\6\27" \
- "\377\14\1\4\377\377\0\0\0\377\206\0\0\0\377\3\0\0\0\375\0\0\0\200\0\0" \
- "\0\4\377\0\0\0\0\310\0\0\0\0\3\0\0\0\2\0\0\0w\0\0\0\370\377\0\0\0\377" \
- "\210\0\0\0\377\4\4\0\2\3775\5\23\377k\12&\377\234\16""7\377\334\274\21" \
- "B\377\4\271\21A\377\215\15""1\377V\10\36\377\34\3\12\377\377\0\0\0\377" \
- "\202\0\0\0\377\2\0\0\0\350\0\0\0L\377\0\0\0\0\314\0\0\0\0\2\0\0\0\"\0" \
- "\0\0\272\377\0\0\0\377\204\0\0\0\377\4\21\2\6\377K\7\32\377\204\14.\377" \
- "\266\20@\377\343\274\21B\377\3\244\17:\377d\11#\377\36\3\13\377\374\0" \
- "\0\0\377\3\0\0\0\375\0\0\0\221\0\0\0\16\377\0\0\0\0\317\0\0\0\0\2\0\0" \
- "\0U\0\0\0\354\376\0\0\0\377\4\13\1\4\377H\6\31\377\205\14/\377\267\21" \
- "@\377\350\274\21B\377\4\273\21B\377\223\15""4\377S\7\35\377\17\1\5\377" \
- "\370\0\0\0\377\2\0\0\0\326\0\0\0;\377\0\0\0\0\322\0\0\0\0\2\0\0\0\27" \
- "\0\0\0\242\372\0\0\0\377\4\11\1\3\377E\6\30\377\212\14""0\377\272\21" \
- "A\377\356\274\21B\377\3\270\21A\377}\13,\3772\5\22\377\364\0\0\0\377" \
- "\3\0\0\0\371\0\0\0\200\0\0\0\10\377\0\0\0\0\325\0\0\0\0\2\0\0\0T\0\0" \
- "\0\336\366\0\0\0\377\3)\4\16\377p\12'\377\257\20=\377\364\274\21B\377" \
- "\3\217\15""2\377\77\6\26\377\2\0\1\377\360\0\0\0\377\2\0\0\0\303\0\0" \
- "\0""4\377\0\0\0\0\330\0\0\0\0\3\0\0\0\5\0\0\0f\0\0\0\352\361\0\0\0\377" \
- "\3\7\1\2\377K\7\32\377\231\16""6\377\371\274\21B\377\3\246\17:\377R\7" \
- "\35\377\6\1\2\377\354\0\0\0\377\2\0\0\0\323\0\0\0D\377\0\0\0\0\334\0" \
- "\0\0\0\3\0\0\0\21\0\0\0\210\0\0\0\370\355\0\0\0\377\3\24\2\7\377d\11" \
- "#\377\254\20<\377\375\274\21B\377\3\247\17:\377R\7\35\377\6\1\2\377\350" \
- "\0\0\0\377\3\0\0\0\351\0\0\0f\0\0\0\4\377\0\0\0\0\337\0\0\0\0\3\0\0\0" \
- ")\0\0\0\243\0\0\0\373\351\0\0\0\377\3\14\1\4\377b\11\"\377\264\20\77" \
- "\377\377\274\21B\377\202\274\21B\377\2\234\16""7\377)\4\16\377\345\0" \
- "\0\0\377\3\0\0\0\361\0\0\0\206\0\0\0\24\377\0\0\0\0\343\0\0\0\0\3\0\0" \
- "\0\35\0\0\0\221\0\0\0\366\345\0\0\0\377\3\12\1\4\377d\11#\377\263\20" \
- "\77\377\377\274\21B\377\205\274\21B\377\3\273\21B\377w\13*\377\15\1\5" \
- "\377\341\0\0\0\377\3\0\0\0\345\0\0\0o\0\0\0\14\377\0\0\0\0\347\0\0\0" \
- "\0\3\0\0\0\36\0\0\0\212\0\0\0\354\341\0\0\0\377\3\1\0\0\377H\7\31\377" \
- "\247\17;\377\377\274\21B\377\211\274\21B\377\2\244\17:\377,\4\20\377" \
- "\336\0\0\0\377\3\0\0\0\332\0\0\0q\0\0\0\15\377\0\0\0\0\353\0\0\0\0\3" \
- "\0\0\0\10\0\0\0_\0\0\0\307\336\0\0\0\377\2$\3\15\377\230\16""5\377\377" \
- "\274\21B\377\214\274\21B\377\2\272\21A\377X\10\37\377\332\0\0\0\377\4" \
- "\0\0\0\373\0\0\0\260\0\0\0F\0\0\0\1\377\0\0\0\0\360\0\0\0\0\3\0\0\0\37" \
- "\0\0\0l\0\0\0\273\331\0\0\0\377\3\4\0\2\377d\11#\377\270\21A\377\377" \
- "\274\21B\377\217\274\21B\377\2y\13*\377\7\1\2\377\325\0\0\0\377\4\0\0" \
- "\0\367\0\0\0\251\0\0\0[\0\0\0\21\377\0\0\0\0\366\0\0\0\0\2\0\0\0D\0\0" \
- "\0\350\326\0\0\0\377\2\30\2\11\377\225\15""4\377\377\274\21B\377\222" \
- "\274\21B\377\2\200\14-\377\3\0\1\377\323\0\0\0\377\2\0\0\0\321\0\0\0" \
- "(\377\0\0\0\0\372\0\0\0\0\2\0\0\0\34\0\0\0\303\324\0\0\0\377\2""1\4\21" \
- "\377\256\20=\377\377\274\21B\377\224\274\21B\377\1r\12(\377\322\0\0\0" \
- "\377\2\0\0\0\221\0\0\0\10\377\0\0\0\0\374\0\0\0\0\3\0\0\0\4\0\0\0\200" \
- "\0\0\0\375\321\0\0\0\377\2C\6\30\377\270\21A\377\377\274\21B\377\226" \
- "\274\21B\377\1G\6\31\377\317\0\0\0\377\2\0\0\0\363\0\0\0\\\377\0\0\0" \
- "\0\377\0\0\0\0\3\0\0\0\0\0\0\0C\0\0\0\347\317\0\0\0\377\2J\7\32\377\273" \
- "\21A\377\377\274\21B\377\227\274\21B\377\2\260\20>\377\20\1\6\377\315" \
- "\0\0\0\377\2\0\0\0\320\0\0\0'\377\0\0\0\0\377\0\0\0\0\203\0\0\0\0\2\0" \
- "\0\0\27\0\0\0\273\315\0\0\0\377\2<\5\25\377\272\21A\377\377\274\21B\377" \
- "\231\274\21B\377\1k\12&\377\314\0\0\0\377\2\0\0\0\221\0\0\0\10\377\0" \
- "\0\0\0\377\0\0\0\0\205\0\0\0\0\3\0\0\0\5\0\0\0\215\0\0\0\376\312\0\0" \
- "\0\377\2\36\3\13\377\264\20\77\377\377\274\21B\377\232\274\21B\377\2" \
- "\263\20\77\377\11\1\3\377\311\0\0\0\377\2\0\0\0\364\0\0\0a\377\0\0\0" \
- "\0\377\0\0\0\0\211\0\0\0\0\2\0\0\0@\0\0\0\343\310\0\0\0\377\2\4\0\1\377" \
- "\232\16""6\377\377\274\21B\377\234\274\21B\377\1""6\5\23\377\310\0\0" \
- "\0\377\2\0\0\0\303\0\0\0\37\377\0\0\0\0\377\0\0\0\0\213\0\0\0\0\2\0\0" \
- "\0\17\0\0\0\247\307\0\0\0\377\1S\7\35\377\377\274\21B\377\235\274\21" \
- "B\377\1X\10\37\377\306\0\0\0\377\3\0\0\0\374\0\0\0\200\0\0\0\4\377\0" \
- "\0\0\0\377\0\0\0\0\216\0\0\0\0\2\0\0\0^\0\0\0\364\304\0\0\0\377\2\4\0" \
- "\1\377\252\17<\377\377\274\21B\377\235\274\21B\377\1f\11$\377\305\0\0" \
- "\0\377\2\0\0\0\336\0\0\0""8\377\0\0\0\0\377\0\0\0\0\221\0\0\0\0\2\0\0" \
- "\0(\0\0\0\316\303\0\0\0\377\1:\5\24\377\377\274\21B\377\236\274\21B\377" \
- "\1a\11\"\377\304\0\0\0\377\2\0\0\0\246\0\0\0\17\377\0\0\0\0\377\0\0\0" \
- "\0\223\0\0\0\0\3\0\0\0\5\0\0\0\200\0\0\0\375\301\0\0\0\377\1k\12&\377" \
- "\377\274\21B\377\236\274\21B\377\1L\7\33\377\302\0\0\0\377\2\0\0\0\363" \
- "\0\0\0^\377\0\0\0\0\377\0\0\0\0\227\0\0\0\0\2\0\0\0O\0\0\0\350\300\0" \
- "\0\0\377\1\213\15""1\377\377\274\21B\377\236\274\21B\377\1'\4\16\377" \
- "\301\0\0\0\377\2\0\0\0\317\0\0\0-\377\0\0\0\0\377\0\0\0\0\231\0\0\0\0" \
- "\2\0\0\0\17\0\0\0\231\277\0\0\0\377\1\225\15""4\377\377\274\21B\377\235" \
- "\274\21B\377\2\253\17<\377\1\0\1\377\277\0\0\0\377\3\0\0\0\370\0\0\0" \
- "w\0\0\0\3\377\0\0\0\0\377\0\0\0\0\234\0\0\0\0\2\0\0\0H\0\0\0\343\275" \
- "\0\0\0\377\1\222\15""3\377\377\274\21B\377\235\274\21B\377\1m\12&\377" \
- "\277\0\0\0\377\2\0\0\0\312\0\0\0*\377\0\0\0\0\377\0\0\0\0\237\0\0\0\0" \
- "\2\0\0\0\17\0\0\0\231\274\0\0\0\377\1z\13+\377\377\274\21B\377\235\274" \
- "\21B\377\1!\3\14\377\275\0\0\0\377\3\0\0\0\370\0\0\0w\0\0\0\4\377\0\0" \
- "\0\0\377\0\0\0\0\242\0\0\0\0\2\0\0\0J\0\0\0\344\272\0\0\0\377\1J\7\32" \
- "\377\377\274\21B\377\234\274\21B\377\1\204\14.\377\275\0\0\0\377\2\0" \
- "\0\0\313\0\0\0+\377\0\0\0\0\377\0\0\0\0\245\0\0\0\0\2\0\0\0\30\0\0\0" \
- "\257\271\0\0\0\377\2\15\1\4\377\266\20@\377\377\274\21B\377\232\274\21" \
- "B\377\2\270\21A\377\35\3\12\377\273\0\0\0\377\3\0\0\0\374\0\0\0\210\0" \
- "\0\0\7\377\0\0\0\0\377\0\0\0\0\250\0\0\0\0\2\0\0\0J\0\0\0\336\270\0\0" \
- "\0\377\1l\12&\377\377\274\21B\377\232\274\21B\377\1i\11%\377\273\0\0" \
- "\0\377\2\0\0\0\274\0\0\0&\377\0\0\0\0\377\0\0\0\0\253\0\0\0\0\3\0\0\0" \
- "\11\0\0\0\200\0\0\0\371\266\0\0\0\377\2\26\2\10\377\264\20\77\377\377" \
- "\274\21B\377\230\274\21B\377\2\257\20>\377\17\1\5\377\271\0\0\0\377\3" \
- "\0\0\0\352\0\0\0^\0\0\0\1\377\0\0\0\0\377\0\0\0\0\256\0\0\0\0\2\0\0\0" \
- "&\0\0\0\275\266\0\0\0\377\1S\7\35\377\377\274\21B\377\230\274\21B\377" \
- "\1<\5\25\377\270\0\0\0\377\3\0\0\0\376\0\0\0\231\0\0\0\22\377\0\0\0\0" \
- "\377\0\0\0\0\261\0\0\0\0\3\0\0\0\1\0\0\0^\0\0\0\353\264\0\0\0\377\2\2" \
- "\0\1\377\227\16""5\377\377\274\21B\377\226\274\21B\377\1r\12(\377\270" \
- "\0\0\0\377\2\0\0\0\325\0\0\0>\377\0\0\0\0\377\0\0\0\0\265\0\0\0\0\3\0" \
- "\0\0\22\0\0\0\231\0\0\0\376\263\0\0\0\377\2)\4\16\377\271\21A\377\377" \
- "\274\21B\377\224\274\21B\377\2\242\17""9\377\12\1\3\377\266\0\0\0\377" \
- "\3\0\0\0\367\0\0\0w\0\0\0\5\377\0\0\0\0\377\0\0\0\0\270\0\0\0\0\2\0\0" \
- "\0G\0\0\0\324\263\0\0\0\377\1U\10\36\377\377\274\21B\377\223\274\21B" \
- "\377\2\270\21A\377)\4\16\377\266\0\0\0\377\2\0\0\0\267\0\0\0*\377\0\0" \
- "\0\0\377\0\0\0\0\273\0\0\0\0\3\0\0\0\1\0\0\0U\0\0\0\340\262\0\0\0\377" \
- "\1t\13)\377\377\274\21B\377\221\274\21B\377\2\273\21B\377@\6\27\377\265" \
- "\0\0\0\377\2\0\0\0\306\0\0\0""8\377\0\0\0\0\377\0\0\0\0\277\0\0\0\0\3" \
- "\0\0\0\12\0\0\0w\0\0\0\362\260\0\0\0\377\2\6\1\2\377\226\16""5\377\377" \
- "\274\21B\377\220\274\21B\377\1[\10\40\377\264\0\0\0\377\3\0\0\0\337\0" \
- "\0\0U\0\0\0\1\377\0\0\0\0\377\0\0\0\0\302\0\0\0\0\3\0\0\0\32\0\0\0\231" \
- "\0\0\0\374\257\0\0\0\377\2\31\2\11\377\252\17<\377\377\274\21B\377\216" \
- "\274\21B\377\2y\13*\377\1\0\0\377\262\0\0\0\377\3\0\0\0\361\0\0\0w\0" \
- "\0\0\12\377\0\0\0\0\377\0\0\0\0\306\0\0\0\0\2\0\0\0*\0\0\0\266\257\0" \
- "\0\0\377\2!\3\14\377\257\20=\377\377\274\21B\377\214\274\21B\377\2\216" \
- "\15""2\377\5\0\2\377\261\0\0\0\377\3\0\0\0\374\0\0\0\231\0\0\0\31\377" \
- "\0\0\0\0\377\0\0\0\0\311\0\0\0\0\3\0\0\0\1\0\0\0T\0\0\0\324\256\0\0\0" \
- "\377\2#\3\14\377\257\20>\377\377\274\21B\377\212\274\21B\377\2\213\15" \
- "1\377\7\1\3\377\261\0\0\0\377\2\0\0\0\270\0\0\0""6\377\0\0\0\0\377\0" \
- "\0\0\0\316\0\0\0\0\2\0\0\0D\0\0\0\313\255\0\0\0\377\2*\4\17\377\264\20" \
- "\77\377\377\274\21B\377\210\274\21B\377\2\211\14""0\377\7\1\3\377\257" \
- "\0\0\0\377\3\0\0\0\376\0\0\0\252\0\0\0-\377\0\0\0\0\377\0\0\0\0\321\0" \
- "\0\0\0\3\0\0\0\1\0\0\0M\0\0\0\315\254\0\0\0\377\2""4\5\22\377\264\20" \
- "\77\377\377\274\21B\377\206\274\21B\377\2\213\15""1\377\10\1\3\377\256" \
- "\0\0\0\377\3\0\0\0\376\0\0\0\252\0\0\0.\377\0\0\0\0\377\0\0\0\0\325\0" \
- "\0\0\0\3\0\0\0\1\0\0\0M\0\0\0\315\253\0\0\0\377\2\40\3\13\377\251\17" \
- ";\377\377\274\21B\377\204\274\21B\377\2\201\14-\377\4\0\2\377\256\0\0" \
- "\0\377\2\0\0\0\252\0\0\0/\377\0\0\0\0\377\0\0\0\0\331\0\0\0\0\3\0\0\0" \
- "\1\0\0\0M\0\0\0\316\252\0\0\0\377\2\37\3\13\377\247\17;\377\377\274\21" \
- "B\377\202\274\21B\377\2|\13+\377\5\0\2\377\255\0\0\0\377\2\0\0\0\263" \
- "\0\0\0""8\377\0\0\0\0\377\0\0\0\0\335\0\0\0\0\3\0\0\0\4\0\0\0X\0\0\0" \
- "\311\251\0\0\0\377\2\27\2\10\377\237\16""8\377\377\274\21B\377\2e\11" \
- "#\377\1\0\0\377\253\0\0\0\377\3\0\0\0\375\0\0\0\257\0\0\0>\377\0\0\0" \
- "\0\377\0\0\0\0\342\0\0\0\0\3\0\0\0""0\0\0\0\231\0\0\0\367\247\0\0\0\377" \
- "\2\12\1\3\377\202\14.\377\374\274\21B\377\2\270\21@\377F\6\31\377\253" \
- "\0\0\0\377\3\0\0\0\355\0\0\0\200\0\0\0\30\377\0\0\0\0\377\0\0\0\0\346" \
- "\0\0\0\0\3\0\0\0\27\0\0\0\200\0\0\0\354\246\0\0\0\377\3\1\0\0\377^\11" \
- "!\377\273\21B\377\371\274\21B\377\2\261\20>\3771\4\21\377\252\0\0\0\377" \
- "\3\0\0\0\326\0\0\0f\0\0\0\14\377\0\0\0\0\377\0\0\0\0\352\0\0\0\0\3\0" \
- "\0\0\7\0\0\0^\0\0\0\325\246\0\0\0\377\2I\7\32\377\270\21@\377\367\274" \
- "\21B\377\2\242\17""9\377$\3\15\377\250\0\0\0\377\4\0\0\0\376\0\0\0\263" \
- "\0\0\0D\0\0\0\2\377\0\0\0\0\377\0\0\0\0\356\0\0\0\0\3\0\0\0\3\0\0\0T" \
- "\0\0\0\300\245\0\0\0\377\2+\4\17\377\252\17<\377\365\274\21B\377\2~\13" \
- ",\377\13\1\4\377\247\0\0\0\377\3\0\0\0\371\0\0\0\250\0\0\0:\377\0\0\0" \
- "\0\377\0\0\0\0\364\0\0\0\0\3\0\0\0\34\0\0\0w\0\0\0\343\243\0\0\0\377" \
- "\2\13\1\4\377z\13+\377\362\274\21B\377\2\264\20\77\377E\6\30\377\247" \
- "\0\0\0\377\3\0\0\0\321\0\0\0f\0\0\0\17\377\0\0\0\0\377\0\0\0\0\370\0" \
- "\0\0\0\4\0\0\0\11\0\0\0^\0\0\0\303\0\0\0\376\242\0\0\0\377\2E\6\30\377" \
- "\263\20\77\377\357\274\21B\377\2\234\16""7\377\35\3\12\377\245\0\0\0" \
- "\377\4\0\0\0\371\0\0\0\254\0\0\0F\0\0\0\2\377\0\0\0\0\377\0\0\0\0\375" \
- "\0\0\0\0\3\0\0\0\32\0\0\0o\0\0\0\316\241\0\0\0\377\2\40\3\13\377\231" \
- "\16""6\377\355\274\21B\377\2v\13)\377\12\1\4\377\243\0\0\0\377\4\0\0" \
- "\0\374\0\0\0\263\0\0\0U\0\0\0\11\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0" \
- "\203\0\0\0\0\4\0\0\0\1\0\0\0;\0\0\0\234\0\0\0\376\237\0\0\0\377\3\5\0" \
- "\2\377g\11$\377\272\21A\377\351\274\21B\377\2\250\17;\3777\5\23\377\243" \
- "\0\0\0\377\3\0\0\0\363\0\0\0\203\0\0\0&\377\0\0\0\0\377\0\0\0\0\377\0" \
- "\0\0\0\211\0\0\0\0\2\0\0\0b\0\0\0\375\240\0\0\0\377\2!\3\14\377\223\15" \
- "4\377\346\274\21B\377\3\273\21A\377d\11#\377\7\1\3\377\243\0\0\0\377" \
- "\2\0\0\0\355\0\0\0""3\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\214\0\0\0\0" \
- "\2\0\0\0Y\0\0\0\374\240\0\0\0\377\3\1\0\0\377K\7\32\377\262\20>\377\343" \
- "\274\21B\377\2\241\17""8\377,\4\20\377\244\0\0\0\377\2\0\0\0\355\0\0" \
- "\0""2\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\216\0\0\0\0\2\0\0\0X\0\0\0" \
- "\373\241\0\0\0\377\2\30\2\11\377\207\14/\377\340\274\21B\377\3\270\21" \
- "@\377h\11$\377\13\1\4\377\244\0\0\0\377\2\0\0\0\354\0\0\0""1\377\0\0" \
- "\0\0\377\0\0\0\0\377\0\0\0\0\220\0\0\0\0\2\0\0\0W\0\0\0\373\242\0\0\0" \
- "\377\2\77\6\26\377\243\17""9\377\335\274\21B\377\2\202\14.\377\33\2\12" \
- "\377\245\0\0\0\377\2\0\0\0\353\0\0\0""0\377\0\0\0\0\377\0\0\0\0\377\0" \
- "\0\0\0\222\0\0\0\0\2\0\0\0b\0\0\0\375\242\0\0\0\377\3\1\0\1\377E\6\30" \
- "\377\251\17;\377\331\274\21B\377\2\221\15""3\377'\4\16\377\246\0\0\0" \
- "\377\2\0\0\0\357\0\0\0""5\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\224\0\0" \
- "\0\0\2\0\0\0F\0\0\0\362\243\0\0\0\377\3\13\1\4\377c\11#\377\265\20\77" \
- "\377\325\274\21B\377\3\252\17<\377J\7\32\377\2\0\1\377\246\0\0\0\377" \
- "\2\0\0\0\333\0\0\0#\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\226\0\0\0\0\2" \
- "\0\0\0""5\0\0\0\351\244\0\0\0\377\3\24\2\7\377r\12(\377\270\21A\377\321" \
- "\274\21B\377\3\251\17;\377Q\7\34\377\6\1\2\377\247\0\0\0\377\2\0\0\0" \
- "\315\0\0\0\30\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\230\0\0\0\0\2\0\0\0" \
- "\"\0\0\0\332\245\0\0\0\377\3\17\1\5\377^\11!\377\257\20=\377\315\274" \
- "\21B\377\3\241\17""9\377E\6\30\377\4\0\1\377\250\0\0\0\377\2\0\0\0\267" \
- "\0\0\0\14\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\232\0\0\0\0\2\0\0\0\30" \
- "\0\0\0\314\246\0\0\0\377\3\15\1\4\377[\10\40\377\254\20<\377\311\274" \
- "\21B\377\3\250\17;\377P\7\34\377\6\1\2\377\251\0\0\0\377\2\0\0\0\244" \
- "\0\0\0\6\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\234\0\0\0\0\2\0\0\0\20\0" \
- "\0\0\276\247\0\0\0\377\3\7\1\2\377M\7\33\377\241\17""8\377\305\274\21" \
- "B\377\3\216\15""2\377@\6\27\377\4\0\2\377\252\0\0\0\377\2\0\0\0\221\0" \
- "\0\0\2\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\236\0\0\0\0\2\0\0\0\3\0\0" \
- "\0\210\251\0\0\0\377\3&\3\15\377k\12&\377\257\20=\377\277\274\21B\377" \
- "\3\255\20=\377d\11#\377\32\2\11\377\253\0\0\0\377\2\0\0\0\366\0\0\0Y" \
- "\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\242\0\0\0\0\2\0\0\0Z\0\0\0\367\251" \
- "\0\0\0\377\3\12\1\4\377L\7\33\377\224\15""4\377\273\274\21B\377\3\224" \
- "\15""4\377J\7\32\377\10\1\3\377\254\0\0\0\377\2\0\0\0\346\0\0\0""8\377" \
- "\0\0\0\0\377\0\0\0\0\377\0\0\0\0\244\0\0\0\0\2\0\0\0""9\0\0\0\347\253" \
- "\0\0\0\377\3\40\3\13\377e\11#\377\241\17""9\377\264\274\21B\377\4\273" \
- "\21A\377\217\15""2\377S\7\35\377\27\2\10\377\256\0\0\0\377\2\0\0\0\311" \
- "\0\0\0\32\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\246\0\0\0\0\2\0\0\0\33" \
- "\0\0\0\313\255\0\0\0\377\4!\3\14\377]\10!\377\223\15""4\377\272\21A\377" \
- "\255\274\21B\377\4\270\21A\377\210\14""0\377L\7\33\377\22\2\6\377\260" \
- "\0\0\0\377\2\0\0\0\241\0\0\0\10\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\250" \
- "\0\0\0\0\2\0\0\0\14\0\0\0\243\257\0\0\0\377\4\15\1\5\377\77\6\26\377" \
- "r\12(\377\237\16""8\377\246\274\21B\377\5\273\21B\377\234\16""7\377j" \
- "\12%\377:\5\24\377\13\1\4\377\261\0\0\0\377\3\0\0\0\372\0\0\0v\0\0\0" \
- "\1\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\253\0\0\0\0\2\0\0\0R\0\0\0\357" \
- "\261\0\0\0\377\5\17\1\5\377;\5\25\377d\11#\377\205\14/\377\247\17:\377" \
- "\235\274\21B\377\5\253\17<\377\211\14""0\377`\11\"\3777\5\23\377\15\1" \
- "\5\377\264\0\0\0\377\2\0\0\0\332\0\0\0""2\377\0\0\0\0\377\0\0\0\0\377" \
- "\0\0\0\0\256\0\0\0\0\2\0\0\0\37\0\0\0\307\265\0\0\0\377\11\15\1\4\377" \
- ")\4\16\377C\6\30\377^\11!\377x\13*\377\211\14""0\377\233\16""6\377\252" \
- "\17<\377\272\21A\377\213\274\21B\377\11\263\20\77\377\246\17:\377\230" \
- "\16""5\377\206\14/\377s\12(\377^\10!\377I\7\32\377,\4\20\377\15\1\5\377" \
- "\270\0\0\0\377\2\0\0\0\245\0\0\0\15\377\0\0\0\0\377\0\0\0\0\377\0\0\0" \
- "\0\260\0\0\0\0\3\0\0\0\5\0\0\0\210\0\0\0\376\275\0\0\0\377\1\14\1\4\377" \
- "\204\15\1\4\377\1\12\1\3\377\303\0\0\0\377\2\0\0\0\364\0\0\0^\377\0\0" \
- "\0\0\377\0\0\0\0\377\0\0\0\0\264\0\0\0\0\2\0\0\0O\0\0\0\346\377\0\0\0" \
- "\377\205\0\0\0\377\2\0\0\0\314\0\0\0.\377\0\0\0\0\377\0\0\0\0\377\0\0" \
- "\0\0\266\0\0\0\0\3\0\0\0\16\0\0\0\221\0\0\0\375\377\0\0\0\377\4\0\0\0" \
- "\377\0\0\0\364\0\0\0f\0\0\0\1\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\271" \
- "\0\0\0\0\2\0\0\0=\0\0\0\332\376\0\0\0\377\2\0\0\0\276\0\0\0\"\377\0\0" \
- "\0\0\377\0\0\0\0\377\0\0\0\0\274\0\0\0\0\3\0\0\0\20\0\0\0\234\0\0\0\376" \
- "\372\0\0\0\377\3\0\0\0\365\0\0\0v\0\0\0\3\377\0\0\0\0\377\0\0\0\0\377" \
- "\0\0\0\0\277\0\0\0\0\2\0\0\0""0\0\0\0\304\367\0\0\0\377\3\0\0\0\376\0" \
- "\0\0\242\0\0\0\30\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\302\0\0\0\0\3\0" \
- "\0\0\1\0\0\0^\0\0\0\350\364\0\0\0\377\2\0\0\0\321\0\0\0=\377\0\0\0\0" \
- "\377\0\0\0\0\377\0\0\0\0\306\0\0\0\0\3\0\0\0\23\0\0\0\231\0\0\0\375\360" \
- "\0\0\0\377\3\0\0\0\363\0\0\0v\0\0\0\6\377\0\0\0\0\377\0\0\0\0\377\0\0" \
- "\0\0\311\0\0\0\0\3\0\0\0\40\0\0\0\231\0\0\0\374\354\0\0\0\377\3\0\0\0" \
- "\361\0\0\0w\0\0\0\15\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\315\0\0\0\0" \
- "\3\0\0\0*\0\0\0\252\0\0\0\376\350\0\0\0\377\3\0\0\0\366\0\0\0\210\0\0" \
- "\0\24\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\321\0\0\0\0\2\0\0\0=\0\0\0" \
- "\300\345\0\0\0\377\3\0\0\0\373\0\0\0\242\0\0\0#\377\0\0\0\0\377\0\0\0" \
- "\0\377\0\0\0\0\325\0\0\0\0\3\0\0\0.\0\0\0\242\0\0\0\372\340\0\0\0\377" \
- "\3\0\0\0\355\0\0\0\200\0\0\0\27\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\331" \
- "\0\0\0\0\3\0\0\0\30\0\0\0\200\0\0\0\357\334\0\0\0\377\3\0\0\0\341\0\0" \
- "\0o\0\0\0\14\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\335\0\0\0\0\3\0\0\0" \
- "\25\0\0\0y\0\0\0\334\330\0\0\0\377\3\0\0\0\306\0\0\0a\0\0\0\10\377\0" \
- "\0\0\0\377\0\0\0\0\377\0\0\0\0\342\0\0\0\0\3\0\0\0""3\0\0\0\231\0\0\0" \
- "\364\322\0\0\0\377\3\0\0\0\342\0\0\0\200\0\0\0$\377\0\0\0\0\377\0\0\0" \
- "\0\377\0\0\0\0\347\0\0\0\0\4\0\0\0\24\0\0\0q\0\0\0\311\0\0\0\376\314" \
- "\0\0\0\377\4\0\0\0\371\0\0\0\265\0\0\0[\0\0\0\10\377\0\0\0\0\377\0\0" \
- "\0\0\377\0\0\0\0\354\0\0\0\0\4\0\0\0\24\0\0\0^\0\0\0\263\0\0\0\373\306" \
- "\0\0\0\377\4\0\0\0\363\0\0\0\242\0\0\0M\0\0\0\11\377\0\0\0\0\377\0\0" \
- "\0\0\377\0\0\0\0\362\0\0\0\0\4\0\0\0\40\0\0\0q\0\0\0\272\0\0\0\367\300" \
- "\0\0\0\377\4\0\0\0\356\0\0\0\251\0\0\0_\0\0\0\21\377\0\0\0\0\377\0\0" \
- "\0\0\377\0\0\0\0\370\0\0\0\0\4\0\0\0\12\0\0\0L\0\0\0\224\0\0\0\335\271" \
- "\0\0\0\377\5\0\0\0\375\0\0\0\314\0\0\0\203\0\0\0;\0\0\0\3\377\0\0\0\0" \
- "\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\5\0\0\0\16\0\0\0D\0\0\0\200\0\0" \
- "\0\263\0\0\0\357\260\0\0\0\377\5\0\0\0\351\0\0\0\252\0\0\0o\0\0\0<\0" \
- "\0\0\12\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\210\0\0\0\0\6" \
- "\0\0\0\10\0\0\0:\0\0\0f\0\0\0\217\0\0\0\272\0\0\0\343\245\0\0\0\377\7" \
- "\0\0\0\374\0\0\0\332\0\0\0\257\0\0\0\206\0\0\0[\0\0\0.\0\0\0\3\377\0" \
- "\0\0\0\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\222\0\0\0\0\11\0\0\0\17\0" \
- "\0\0""5\0\0\0R\0\0\0p\0\0\0\217\0\0\0\255\0\0\0\312\0\0\0\341\0\0\0\363" \
- "\224\0\0\0\377\11\0\0\0\356\0\0\0\334\0\0\0\304\0\0\0\245\0\0\0\207\0" \
- "\0\0j\0\0\0L\0\0\0-\0\0\0\7\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\377\0" \
- "\0\0\0\241\0\0\0\0\4\0\0\0\5\0\0\0\27\0\0\0)\0\0\0;\202\0\0\0D\1\0\0" \
- "\0O\206\0\0\0U\1\0\0\0K\202\0\0\0D\4\0\0\0""7\0\0\0%\0\0\0\23\0\0\0\2" \
- "\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\377\0\0" \
- "\0\0\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\377\0\0\0\0\220" \
- "\0\0\0\0")
-
-
diff --git a/import-layers/meta-raspberrypi/recipes-core/psplash/psplash_git.bbappend b/import-layers/meta-raspberrypi/recipes-core/psplash/psplash_git.bbappend
deleted file mode 100644
index 698564b94..000000000
--- a/import-layers/meta-raspberrypi/recipes-core/psplash/psplash_git.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
-SPLASH_IMAGES_append_rpi = " file://psplash-raspberrypi-img.h;outsuffix=raspberrypi"
-ALTERNATIVE_PRIORITY_psplash-raspberrypi[psplash] = "10"
-
diff --git a/import-layers/meta-raspberrypi/recipes-core/udev/udev-rules-rpi.bb b/import-layers/meta-raspberrypi/recipes-core/udev/udev-rules-rpi.bb
deleted file mode 100644
index b249d9726..000000000
--- a/import-layers/meta-raspberrypi/recipes-core/udev/udev-rules-rpi.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-DESCRIPTION = "udev rules for Raspberry Pi Boards"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
-
-SRC_URI = " file://99-com.rules"
-
-S = "${WORKDIR}"
-
-INHIBIT_DEFAULT_DEPS = "1"
-
-do_install () {
- install -d ${D}${sysconfdir}/udev/rules.d
- install -m 0644 ${WORKDIR}/99-com.rules ${D}${sysconfdir}/udev/rules.d/
-}
diff --git a/import-layers/meta-raspberrypi/recipes-core/udev/udev-rules-rpi/99-com.rules b/import-layers/meta-raspberrypi/recipes-core/udev/udev-rules-rpi/99-com.rules
deleted file mode 100644
index 6bf019bd1..000000000
--- a/import-layers/meta-raspberrypi/recipes-core/udev/udev-rules-rpi/99-com.rules
+++ /dev/null
@@ -1,21 +0,0 @@
-KERNEL=="ttyAMA[01]", PROGRAM="/bin/sh -c '\
- ALIASES=/proc/device-tree/aliases; \
- if cmp -s $ALIASES/uart0 $ALIASES/serial0; then \
- echo 0;\
- elif cmp -s $ALIASES/uart0 $ALIASES/serial1; then \
- echo 1; \
- else \
- exit 1; \
- fi\
-'", SYMLINK+="serial%c"
-
-KERNEL=="ttyS0", PROGRAM="/bin/sh -c '\
- ALIASES=/proc/device-tree/aliases; \
- if cmp -s $ALIASES/uart1 $ALIASES/serial0; then \
- echo 0; \
- elif cmp -s $ALIASES/uart1 $ALIASES/serial1; then \
- echo 1; \
- else \
- exit 1; \
- fi \
-'", SYMLINK+="serial%c"
diff --git a/import-layers/meta-raspberrypi/recipes-core/udev/udev-rules-udisks-rpi/80-udisks-rpi.rules b/import-layers/meta-raspberrypi/recipes-core/udev/udev-rules-udisks-rpi/80-udisks-rpi.rules
deleted file mode 100644
index 3eff66dbc..000000000
--- a/import-layers/meta-raspberrypi/recipes-core/udev/udev-rules-udisks-rpi/80-udisks-rpi.rules
+++ /dev/null
@@ -1,10 +0,0 @@
-##############################################################################################################
-
-# Partitions which desktops should not display
-#
-
-# boot partition
-ENV{ID_FS_TYPE}=="vfat", ENV{ID_FS_LABEL}=="raspberrypi", \
- ENV{UDISKS_PRESENTATION_HIDE}="1", ENV{UDISKS_IGNORE}="1"
-
-##############################################################################################################
diff --git a/import-layers/meta-raspberrypi/recipes-core/udev/udev-rules-udisks-rpi_1.0.bb b/import-layers/meta-raspberrypi/recipes-core/udev/udev-rules-udisks-rpi_1.0.bb
deleted file mode 100644
index ae35521d4..000000000
--- a/import-layers/meta-raspberrypi/recipes-core/udev/udev-rules-udisks-rpi_1.0.bb
+++ /dev/null
@@ -1,13 +0,0 @@
-DESCRIPTION = "add udisk/udev rule to hide boot partition from udev"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://${COMMON_LICENSE_DIR}/MIT;md5=0835ade698e0bcf8506ecda2f7b4f302"
-SRC_URI = "file://80-udisks-rpi.rules"
-
-INHIBIT_DEFAULT_DEPS = "1"
-
-do_install () {
- install -d ${D}${base_libdir}/udev/rules.d
- install -m 644 ${WORKDIR}/80-udisks-rpi.rules ${D}${base_libdir}/udev/rules.d
-}
-
-FILES_${PN} = "${base_libdir}/udev/rules.d"
diff --git a/import-layers/meta-raspberrypi/recipes-devtools/bcm2835/bcm2835_1.52.bb b/import-layers/meta-raspberrypi/recipes-devtools/bcm2835/bcm2835_1.52.bb
deleted file mode 100644
index eef6afd1c..000000000
--- a/import-layers/meta-raspberrypi/recipes-devtools/bcm2835/bcm2835_1.52.bb
+++ /dev/null
@@ -1,42 +0,0 @@
-DESCRIPTION = "Package that provides access to GPIO and other IO\
-functions on the Broadcom BCM 2835 chip, allowing access to the\
-GPIO pins on the 26 pin IDE plug on the RPi board"
-SECTION = "base"
-HOMEPAGE = "http://www.open.com.au/mikem/bcm2835"
-AUTHOR = "Mike McCauley (mikem@open.com.au)"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-
-COMPATIBLE_MACHINE = "^rpi$"
-
-SRC_URI = "http://www.airspayce.com/mikem/bcm2835/bcm2835-${PV}.tar.gz"
-
-SRC_URI[md5sum] = "b5dc426b4ff258bb1397442f98e40236"
-SRC_URI[sha256sum] = "b9fd10f7a80aadaed28a77168709b7c519568a63b6e98d0a50e9c5fe31bea6bb"
-
-inherit autotools
-
-do_compile_append() {
- # Now compiling the examples provided by the package
- mkdir -p ${B}/examples
- for file in `ls ${S}/examples`; do
- ${CC} ${LDFLAGS} ${S}/examples/${file}/${file}.c -o ${B}/examples/${file} -Bstatic -L${B}/src -lbcm2835 -I${S}/src
- done
-}
-
-do_install_append() {
- install -d ${D}/${libdir}/${BPN}
- for file in ${B}/examples/*
- do
- install -m 0755 ${file} ${D}/${libdir}/${BPN}
- done
-}
-
-PACKAGES += "${PN}-tests"
-
-RDEPENDS_${PN}-dev = ""
-
-FILES_${PN} = ""
-FILES_${PN}-tests = "${libdir}/${BPN}"
-FILES_${PN}-dbg += "${libdir}/${BPN}/.debug"
diff --git a/import-layers/meta-raspberrypi/recipes-devtools/pi-blaster/files/remove-initscript-lsb-dependency.patch b/import-layers/meta-raspberrypi/recipes-devtools/pi-blaster/files/remove-initscript-lsb-dependency.patch
deleted file mode 100644
index c8afe60ee..000000000
--- a/import-layers/meta-raspberrypi/recipes-devtools/pi-blaster/files/remove-initscript-lsb-dependency.patch
+++ /dev/null
@@ -1,96 +0,0 @@
-From 1338f98a279616f4e5e9ea30a25d1dfa0c7df5d6 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petter=20Mab=C3=A4cker?= <petter@technux.se>
-Date: Sun, 4 Jun 2017 12:22:40 +0200
-Subject: [PATCH] Remove dependencies on LSB functions
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-See this as a rebase of the previous 'Remove dependencies on LSB
-functions patch' with only minor modifications from the original version,
-based on the work done by Alex Lennon <ajlennon@dynamicdevices.co.uk> in
-'25fd817 pi-blaster: Added recipe'.
-
-Upstream-Status: Inappropriate [configuration]
-
-Signed-off-by: Petter Mabäcker <petter@technux.se>
----
- debian/pi-blaster.init | 38 +++++++-------------------------------
- 1 file changed, 7 insertions(+), 31 deletions(-)
-
-diff --git a/debian/pi-blaster.init b/debian/pi-blaster.init
-index b142d70..01a686c 100644
---- a/debian/pi-blaster.init
-+++ b/debian/pi-blaster.init
-@@ -28,12 +28,12 @@ SCRIPTNAME=/etc/init.d/$NAME
- [ -r /etc/default/$NAME ] && . /etc/default/$NAME
-
- # Load the VERBOSE setting and other rcS variables
--. /lib/init/vars.sh
-+#. /lib/init/vars.sh
-
- # Define LSB log_* functions.
- # Depend on lsb-base (>= 3.2-14) to ensure that this file is present
- # and status_of_proc is working.
--. /lib/lsb/init-functions
-+#. /lib/lsb/init-functions
-
- #
- # Function that starts the daemon/service
-@@ -77,48 +77,24 @@ do_stop()
-
- case "$1" in
- start)
-- [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
-+ [ "$VERBOSE" != no ] && echo "Starting $DESC" "$NAME"
- do_start
-- case "$?" in
-- 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
-- 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
-- esac
- ;;
- stop)
-- [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME"
-+ [ "$VERBOSE" != no ] && echo "Stopping $DESC" "$NAME"
- do_stop
-- case "$?" in
-- 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
-- 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
-- esac
-- ;;
-- status)
-- status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $?
- ;;
- restart|force-reload)
- #
- # If the "reload" option is implemented then remove the
- # 'force-reload' alias
- #
-- log_daemon_msg "Restarting $DESC" "$NAME"
-+ echo "Restarting $DESC" "$NAME"
- do_stop
-- case "$?" in
-- 0|1)
-- do_start
-- case "$?" in
-- 0) log_end_msg 0 ;;
-- 1) log_end_msg 1 ;; # Old process is still running
-- *) log_end_msg 1 ;; # Failed to start
-- esac
-- ;;
-- *)
-- # Failed to stop
-- log_end_msg 1
-- ;;
-- esac
-+ do_start
- ;;
- *)
-- echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
-+ echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2
- exit 3
- ;;
- esac
---
-1.9.1
-
diff --git a/import-layers/meta-raspberrypi/recipes-devtools/pi-blaster/pi-blaster_git.bb b/import-layers/meta-raspberrypi/recipes-devtools/pi-blaster/pi-blaster_git.bb
deleted file mode 100644
index 274845985..000000000
--- a/import-layers/meta-raspberrypi/recipes-devtools/pi-blaster/pi-blaster_git.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-DESCRIPTION = "This project enables PWM on the GPIO pins you request of a Raspberry Pi."
-HOMEPAGE = "https://github.com/sarfata/pi-blaster/"
-SECTION = "devel/libs"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://README.md;beginline=225;endline=252;md5=a012868ef5f83b9f257af253d7cb07a3"
-
-SRC_URI = "git://github.com/sarfata/pi-blaster \
- file://remove-initscript-lsb-dependency.patch \
-"
-
-S = "${WORKDIR}/git"
-
-SRCREV = "1035ad7dffb270c40eec1bb3a654171a755fba98"
-
-inherit update-rc.d autotools
-
-INITSCRIPT_PACKAGES = "${PN}"
-INITSCRIPT_NAME_${PN} = "${PN}.boot.sh"
-INITSCRIPT_PARAMS_${PN} = "defaults 15 85"
-
-COMPATIBLE_MACHINE = "^rpi$"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/import-layers/meta-raspberrypi/recipes-devtools/python/python-rtimu/0001-include-asm-ioctl.h-for-ioctl-define.patch b/import-layers/meta-raspberrypi/recipes-devtools/python/python-rtimu/0001-include-asm-ioctl.h-for-ioctl-define.patch
deleted file mode 100644
index 4a93a1ce9..000000000
--- a/import-layers/meta-raspberrypi/recipes-devtools/python/python-rtimu/0001-include-asm-ioctl.h-for-ioctl-define.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From c3aa4af56652b403e304ea5f321acfe289e42922 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 30 Jan 2016 16:07:14 -0800
-Subject: [PATCH] include asm/ioctl.h for ioctl() define
-
-also fixes errors e.g.
-
-../../RTIMULib/RTIMUHal.cpp:208:29: error: '_IOC_SIZEBITS' was not
-declared in this scope
- return ioctl(m_SPI, SPI_IOC_MESSAGE(1), &wrIOC);
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted
-
- RTIMULib/RTIMUHal.cpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/RTIMULib/RTIMUHal.cpp b/RTIMULib/RTIMUHal.cpp
-index f9c3d15..d968326 100644
---- a/RTIMULib/RTIMUHal.cpp
-+++ b/RTIMULib/RTIMUHal.cpp
-@@ -29,6 +29,7 @@
- #if !defined(WIN32) && !defined(__APPLE__)
-
- #include <linux/spi/spidev.h>
-+#include <asm/ioctl.h>
-
- RTIMUHal::RTIMUHal()
- {
---
-2.7.0
-
diff --git a/import-layers/meta-raspberrypi/recipes-devtools/python/python-rtimu_git.bb b/import-layers/meta-raspberrypi/recipes-devtools/python/python-rtimu_git.bb
deleted file mode 100644
index 63c92b381..000000000
--- a/import-layers/meta-raspberrypi/recipes-devtools/python/python-rtimu_git.bb
+++ /dev/null
@@ -1,15 +0,0 @@
-DESCRIPTION = "RTIMULib is a C++ and Python library that makes it easy to use 9-dof and \
-10-dof IMUs with embedded Linux systems"
-HOMEPAGE = "https://github.com/RPi-Distro/RTIMULib/"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://../../LICENSE;md5=96cdecb41125f498958e09b72faf318e"
-
-SRC_URI = "git://github.com/RPi-Distro/RTIMULib.git;protocol=http;branch=master \
- file://0001-include-asm-ioctl.h-for-ioctl-define.patch;patchdir=../.. \
- "
-SRCREV = "b949681af69b45f0f7f4bb53b6770037b5b02178"
-
-S = "${WORKDIR}/git/Linux/python/"
-
-inherit setuptools
diff --git a/import-layers/meta-raspberrypi/recipes-devtools/python/python-sense-hat_2.2.0.bb b/import-layers/meta-raspberrypi/recipes-devtools/python/python-sense-hat_2.2.0.bb
deleted file mode 100644
index f7c4e349d..000000000
--- a/import-layers/meta-raspberrypi/recipes-devtools/python/python-sense-hat_2.2.0.bb
+++ /dev/null
@@ -1,24 +0,0 @@
-SUMMARY = "Python module to control the Raspberry Pi Sense HAT used in the Astro Pi mission"
-HOMEPAGE = "https://github.com/RPi-Distro/python-sense-hat"
-SECTION = "devel/python"
-LICENSE = "BSD"
-LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=d80fe312e1ff5fbd97369b093bf21cda"
-
-inherit setuptools pypi
-
-PYPI_PACKAGE = "sense-hat"
-
-SRC_URI[md5sum] = "69929250cb72349a8a82edf2584b1d83"
-SRC_URI[sha256sum] = "f000998d042d96ed722d459312e1bebd0107f9f3015cd34b3e4fabcab9c800af"
-
-DEPENDS += " \
- jpeg \
- zlib \
- freetype \
- "
-
-RDEPENDS_${PN} += " \
- python-numpy \
- python-rtimu \
- python-imaging \
- "
diff --git a/import-layers/meta-raspberrypi/recipes-devtools/python/rpi-gpio/0001-Remove-nested-functions.patch b/import-layers/meta-raspberrypi/recipes-devtools/python/rpi-gpio/0001-Remove-nested-functions.patch
deleted file mode 100644
index bd971793a..000000000
--- a/import-layers/meta-raspberrypi/recipes-devtools/python/rpi-gpio/0001-Remove-nested-functions.patch
+++ /dev/null
@@ -1,294 +0,0 @@
-From 23d7ab77865f8b17042f5cd4c6720cca475e0eb5 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 13 Jan 2016 14:27:10 -0800
-Subject: [PATCH] Remove nested functions
-
-nested functions are not supported on llvm/clang compiler, replacing
-them helps make code portable and be compilable with non-gcc compilers
-additionally fix the diagnostic messages clang reported
-
-source/c_gpio.c:130:18: warning: comparison of distinct pointer types
-('volatile uint32_t *' (aka 'volatile unsigned int *') an
-d 'void *') [-Wcompare-distinct-pointer-types]
- if (gpio_map < MAP_FAILED)
- ~~~~~~~~ ^ ~~~~~~~~~~
-
- source/c_gpio.c:89:13: warning: variable 'peri_base' is used
-uninitialized whenever 'if' condition is false [-Wsometimes-uninit
-ialized]
- if (fread(buf, 1, sizeof buf, fp) == sizeof buf) {
- ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-source/c_gpio.c:116:17: note: uninitialized use occurs here
- gpio_base = peri_base + GPIO_BASE_OFFSET;
- ^~~~~~~~~
-source/c_gpio.c:89:9: note: remove the 'if' if its condition is always
-true
- if (fread(buf, 1, sizeof buf, fp) == sizeof buf) {
- ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-source/c_gpio.c:64:23: note: initialize the variable 'peri_base' to
-silence this warning
- uint32_t peri_base;
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted
-
- source/c_gpio.c | 6 +--
- source/py_gpio.c | 135 ++++++++++++++++++++++++++++---------------------------
- 2 files changed, 71 insertions(+), 70 deletions(-)
-
-diff --git a/source/c_gpio.c b/source/c_gpio.c
-index c96a2b0..b69880f 100644
---- a/source/c_gpio.c
-+++ b/source/c_gpio.c
-@@ -61,7 +61,7 @@ int setup(void)
- {
- int mem_fd;
- uint8_t *gpio_mem;
-- uint32_t peri_base;
-+ uint32_t peri_base = 0;
- uint32_t gpio_base;
- unsigned char buf[4];
- FILE *fp;
-@@ -73,7 +73,7 @@ int setup(void)
- if ((mem_fd = open("/dev/gpiomem", O_RDWR|O_SYNC)) > 0)
- {
- gpio_map = (uint32_t *)mmap(NULL, BLOCK_SIZE, PROT_READ|PROT_WRITE, MAP_SHARED, mem_fd, 0);
-- if ((uint32_t)gpio_map < 0) {
-+ if (gpio_map == MAP_FAILED) {
- return SETUP_MMAP_FAIL;
- } else {
- return SETUP_OK;
-@@ -127,7 +127,7 @@ int setup(void)
-
- gpio_map = (uint32_t *)mmap( (void *)gpio_mem, BLOCK_SIZE, PROT_READ|PROT_WRITE, MAP_SHARED|MAP_FIXED, mem_fd, gpio_base);
-
-- if ((uint32_t)gpio_map < 0)
-+ if (gpio_map == MAP_FAILED)
- return SETUP_MMAP_FAIL;
-
- return SETUP_OK;
-diff --git a/source/py_gpio.c b/source/py_gpio.c
-index d54cc7f..007bad5 100644
---- a/source/py_gpio.c
-+++ b/source/py_gpio.c
-@@ -69,6 +69,20 @@ static int mmap_gpio_mem(void)
- return 0;
- }
- }
-+static inline int cleanup_one(unsigned int gpio)
-+{
-+ // clean up any /sys/class exports
-+ event_cleanup(gpio);
-+
-+ // set everything back to input
-+ if (gpio_direction[gpio] != -1) {
-+ setup_gpio(gpio, INPUT, PUD_OFF);
-+ gpio_direction[gpio] = -1;
-+ return 1;
-+ }
-+ return 0;
-+}
-+
-
- // python function cleanup(channel=None)
- static PyObject *py_cleanup(PyObject *self, PyObject *args, PyObject *kwargs)
-@@ -83,19 +97,6 @@ static PyObject *py_cleanup(PyObject *self, PyObject *args, PyObject *kwargs)
- PyObject *tempobj;
- static char *kwlist[] = {"channel", NULL};
-
-- void cleanup_one(void)
-- {
-- // clean up any /sys/class exports
-- event_cleanup(gpio);
--
-- // set everything back to input
-- if (gpio_direction[gpio] != -1) {
-- setup_gpio(gpio, INPUT, PUD_OFF);
-- gpio_direction[gpio] = -1;
-- found = 1;
-- }
-- }
--
- if (!PyArg_ParseTupleAndKeywords(args, kwargs, "|O", kwlist, &chanlist))
- return NULL;
-
-@@ -140,7 +141,7 @@ static PyObject *py_cleanup(PyObject *self, PyObject *args, PyObject *kwargs)
- } else if (channel != -666) { // channel was an int indicating single channel
- if (get_gpio_number(channel, &gpio))
- return NULL;
-- cleanup_one();
-+ found = cleanup_one(gpio);
- } else { // channel was a list/tuple
- for (i=0; i<chancount; i++) {
- if (chanlist) {
-@@ -169,7 +170,7 @@ static PyObject *py_cleanup(PyObject *self, PyObject *args, PyObject *kwargs)
-
- if (get_gpio_number(channel, &gpio))
- return NULL;
-- cleanup_one();
-+ found = cleanup_one(gpio);
- }
- }
- }
-@@ -182,6 +183,37 @@ static PyObject *py_cleanup(PyObject *self, PyObject *args, PyObject *kwargs)
- Py_RETURN_NONE;
- }
-
-+static inline int setup_one(unsigned int *gpio, int channel, int pud, int direction, int initial) {
-+ if (get_gpio_number(channel, gpio))
-+ return 0;
-+
-+ int func = gpio_function(*gpio);
-+ if (gpio_warnings && // warnings enabled and
-+ ((func != 0 && func != 1) || // (already one of the alt functions or
-+ (gpio_direction[*gpio] == -1 && func == 1))) // already an output not set from this program)
-+ {
-+ PyErr_WarnEx(NULL, "This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.", 1);
-+ }
-+
-+ // warn about pull/up down on i2c channels
-+ if (gpio_warnings) {
-+ if (rpiinfo.p1_revision == 0) { // compute module - do nothing
-+ } else if ((rpiinfo.p1_revision == 1 && (*gpio == 0 || *gpio == 1)) ||
-+ (*gpio == 2 || *gpio == 3)) {
-+ if (pud == PUD_UP || pud == PUD_DOWN)
-+ PyErr_WarnEx(NULL, "A physical pull up resistor is fitted on this channel!", 1);
-+ }
-+ }
-+
-+ if (direction == OUTPUT && (initial == LOW || initial == HIGH)) {
-+ output_gpio(*gpio, initial);
-+ }
-+ setup_gpio(*gpio, direction, pud);
-+ gpio_direction[*gpio] = direction;
-+ return 1;
-+}
-+
-+
- // python function setup(channel(s), direction, pull_up_down=PUD_OFF, initial=None)
- static PyObject *py_setup_channel(PyObject *self, PyObject *args, PyObject *kwargs)
- {
-@@ -195,37 +227,6 @@ static PyObject *py_setup_channel(PyObject *self, PyObject *args, PyObject *kwar
- int pud = PUD_OFF + PY_PUD_CONST_OFFSET;
- int initial = -1;
- static char *kwlist[] = {"channel", "direction", "pull_up_down", "initial", NULL};
-- int func;
--
-- int setup_one(void) {
-- if (get_gpio_number(channel, &gpio))
-- return 0;
--
-- func = gpio_function(gpio);
-- if (gpio_warnings && // warnings enabled and
-- ((func != 0 && func != 1) || // (already one of the alt functions or
-- (gpio_direction[gpio] == -1 && func == 1))) // already an output not set from this program)
-- {
-- PyErr_WarnEx(NULL, "This channel is already in use, continuing anyway. Use GPIO.setwarnings(False) to disable warnings.", 1);
-- }
--
-- // warn about pull/up down on i2c channels
-- if (gpio_warnings) {
-- if (rpiinfo.p1_revision == 0) { // compute module - do nothing
-- } else if ((rpiinfo.p1_revision == 1 && (gpio == 0 || gpio == 1)) ||
-- (gpio == 2 || gpio == 3)) {
-- if (pud == PUD_UP || pud == PUD_DOWN)
-- PyErr_WarnEx(NULL, "A physical pull up resistor is fitted on this channel!", 1);
-- }
-- }
--
-- if (direction == OUTPUT && (initial == LOW || initial == HIGH)) {
-- output_gpio(gpio, initial);
-- }
-- setup_gpio(gpio, direction, pud);
-- gpio_direction[gpio] = direction;
-- return 1;
-- }
-
- if (!PyArg_ParseTupleAndKeywords(args, kwargs, "Oi|ii", kwlist, &chanlist, &direction, &pud, &initial))
- return NULL;
-@@ -290,7 +291,7 @@ static PyObject *py_setup_channel(PyObject *self, PyObject *args, PyObject *kwar
- } else if (chantuple) {
- chancount = PyTuple_Size(chantuple);
- } else {
-- if (!setup_one())
-+ if (!setup_one(&gpio, channel, pud, direction, initial))
- return NULL;
- Py_RETURN_NONE;
- }
-@@ -320,12 +321,29 @@ static PyObject *py_setup_channel(PyObject *self, PyObject *args, PyObject *kwar
- return NULL;
- }
-
-- if (!setup_one())
-+ if (!setup_one(&gpio, channel, pud, direction, initial))
- return NULL;
- }
-
- Py_RETURN_NONE;
- }
-+static inline int output_val(unsigned int *gpio, int channel, int value) {
-+ if (get_gpio_number(channel, gpio))
-+ return 0;
-+
-+ if (gpio_direction[*gpio] != OUTPUT)
-+ {
-+ PyErr_SetString(PyExc_RuntimeError, "The GPIO channel has not been set up as an OUTPUT");
-+ return 0;
-+ }
-+
-+ if (check_gpio_priv())
-+ return 0;
-+
-+ output_gpio(*gpio, value);
-+ return 1;
-+}
-+
-
- // python function output(channel(s), value(s))
- static PyObject *py_output_gpio(PyObject *self, PyObject *args)
-@@ -342,23 +360,6 @@ static PyObject *py_output_gpio(PyObject *self, PyObject *args)
- int chancount = -1;
- int valuecount = -1;
-
-- int output(void) {
-- if (get_gpio_number(channel, &gpio))
-- return 0;
--
-- if (gpio_direction[gpio] != OUTPUT)
-- {
-- PyErr_SetString(PyExc_RuntimeError, "The GPIO channel has not been set up as an OUTPUT");
-- return 0;
-- }
--
-- if (check_gpio_priv())
-- return 0;
--
-- output_gpio(gpio, value);
-- return 1;
-- }
--
- if (!PyArg_ParseTuple(args, "OO", &chanlist, &valuelist))
- return NULL;
-
-@@ -416,7 +417,7 @@ static PyObject *py_output_gpio(PyObject *self, PyObject *args)
- }
-
- if (chancount == -1) {
-- if (!output())
-+ if (!output_val(&gpio, channel, value))
- return NULL;
- Py_RETURN_NONE;
- }
-@@ -472,7 +473,7 @@ static PyObject *py_output_gpio(PyObject *self, PyObject *args)
- return NULL;
- }
- }
-- if (!output())
-+ if (!output_val(&gpio, channel, value))
- return NULL;
- }
-
---
-2.7.0
-
diff --git a/import-layers/meta-raspberrypi/recipes-devtools/python/rpi-gpio_0.6.3.bb b/import-layers/meta-raspberrypi/recipes-devtools/python/rpi-gpio_0.6.3.bb
deleted file mode 100644
index d0ff00af7..000000000
--- a/import-layers/meta-raspberrypi/recipes-devtools/python/rpi-gpio_0.6.3.bb
+++ /dev/null
@@ -1,14 +0,0 @@
-DESCRIPTION = "A module to control Raspberry Pi GPIO channels"
-HOMEPAGE = "http://code.google.com/p/raspberry-gpio-python/"
-SECTION = "devel/python"
-LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://LICENCE.txt;md5=9b95630a648966b142f1a0dcea001cb7"
-
-PYPI_PACKAGE = "RPi.GPIO"
-inherit pypi distutils
-
-SRC_URI += "file://0001-Remove-nested-functions.patch"
-SRC_URI[md5sum] = "e4abe1cfb5eacebe53078032256eb837"
-SRC_URI[sha256sum] = "a5fc0eb5e401963b6c0a03650da6b42c4005f02d962b81241d96c98d0a578516"
-
-COMPATIBLE_MACHINE = "^rpi$"
diff --git a/import-layers/meta-raspberrypi/recipes-devtools/python/rpio/0001-include-sys-types.h-explicitly-for-getting-caddr_t-d.patch b/import-layers/meta-raspberrypi/recipes-devtools/python/rpio/0001-include-sys-types.h-explicitly-for-getting-caddr_t-d.patch
deleted file mode 100644
index bed97493d..000000000
--- a/import-layers/meta-raspberrypi/recipes-devtools/python/rpio/0001-include-sys-types.h-explicitly-for-getting-caddr_t-d.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From c86bfacc98d58244f532626954ed00d84ecfa82d Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 30 Jan 2016 17:12:37 -0800
-Subject: [PATCH] include sys/types.h explicitly for getting caddr_t definition
-
-Helps fixing build on musl where sys/types.h is not included indirectly
-as happening on glibc
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Submitted
-
- source/c_gpio/c_gpio.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/source/c_gpio/c_gpio.c b/source/c_gpio/c_gpio.c
-index 25a04ca..70df632 100644
---- a/source/c_gpio/c_gpio.c
-+++ b/source/c_gpio/c_gpio.c
-@@ -29,6 +29,7 @@
- #include <stdint.h>
- #include <stdlib.h>
- #include <fcntl.h>
-+#include <sys/types.h>
- #include <sys/mman.h>
- #include "c_gpio.h"
-
---
-2.7.0
-
diff --git a/import-layers/meta-raspberrypi/recipes-devtools/python/rpio_0.10.0.bb b/import-layers/meta-raspberrypi/recipes-devtools/python/rpio_0.10.0.bb
deleted file mode 100644
index c3254bcf9..000000000
--- a/import-layers/meta-raspberrypi/recipes-devtools/python/rpio_0.10.0.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-DESCRIPTION = "Advanced GPIO for the Raspberry Pi. Extends RPi.GPIO with PWM, \
-GPIO interrups, TCP socket interrupts, command line tools and more"
-HOMEPAGE = "https://github.com/metachris/RPIO"
-SECTION = "devel/python"
-LICENSE = "LGPLv3+"
-LIC_FILES_CHKSUM = "file://README.rst;beginline=41;endline=53;md5=d5d95d7486a4d98c999675c23196b25a"
-
-PYPI_PACKAGE = "RPIO"
-inherit pypi
-
-SRC_URI += "file://0001-include-sys-types.h-explicitly-for-getting-caddr_t-d.patch"
-
-inherit setuptools
-
-COMPATIBLE_MACHINE = "^rpi$"
-
-RDEPENDS_${PN} = "\
- python-logging \
- python-threading \
-"
-
-SRC_URI[md5sum] = "cefc45422833dcafcd59b78dffc540f4"
-SRC_URI[sha256sum] = "b89f75dec9de354681209ebfaedfe22b7c178aacd91a604a7bd6d92024e4cf7e"
diff --git a/import-layers/meta-raspberrypi/recipes-devtools/wiringPi/files/0001-Add-initial-cross-compile-support.patch b/import-layers/meta-raspberrypi/recipes-devtools/wiringPi/files/0001-Add-initial-cross-compile-support.patch
deleted file mode 100644
index 01e054634..000000000
--- a/import-layers/meta-raspberrypi/recipes-devtools/wiringPi/files/0001-Add-initial-cross-compile-support.patch
+++ /dev/null
@@ -1,413 +0,0 @@
-From ca25788e2563bad0d554deb9f4300d1e7d062825 Mon Sep 17 00:00:00 2001
-From: Aurelian Zanoschi <aurelian17@gmail.com>
-Date: Mon, 31 Jul 2017 20:25:15 +0300
-Subject: [PATCH] Add initial cross compile support
-
----
- devLib/Makefile | 54 +++++++++++++++++++++++++--------------------
- examples/Gertboard/Makefile | 22 +++++++++++-------
- examples/Makefile | 22 +++++++++++-------
- examples/PiFace/Makefile | 22 +++++++++++-------
- examples/PiGlow/Makefile | 4 ++--
- examples/q2w/Makefile | 4 ++--
- gpio/Makefile | 29 ++++++++++++------------
- wiringPi/Makefile | 52 ++++++++++++++++++++++++-------------------
- 8 files changed, 120 insertions(+), 89 deletions(-)
-
-diff --git a/devLib/Makefile b/devLib/Makefile
-index cf665d6..040c03a 100644
---- a/devLib/Makefile
-+++ b/devLib/Makefile
-@@ -31,15 +31,19 @@ ifneq ($V,1)
- Q ?= @
- endif
-
--STATIC=libwiringPiDev.a
--DYNAMIC=libwiringPiDev.so.$(VERSION)
-+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
-+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
-
--#DEBUG = -g -O0
--DEBUG = -O2
--CC = gcc
--INCLUDE = -I.
--DEFS = -D_GNU_SOURCE
--CFLAGS = $(DEBUG) $(DEFS) -Wformat=2 -Wall -Winline $(INCLUDE) -pipe -fPIC
-+BASE_NAME=libwiringPiDev
-+STATIC=$(BASE_NAME).a
-+DYNAMIC=$(BASE_NAME).so.$(VERSION)
-+
-+#DEBUG ?= -g -O0
-+DEBUG ?= -O2
-+CC ?= gcc
-+INCLUDE ?= -I.
-+DEFS ?= -D_GNU_SOURCE
-+CFLAGS ?= $(DEBUG) $(DEFS) -Wformat=2 -Wall -Winline $(INCLUDE) -pipe -fPIC
-
- LIBS =
-
-@@ -68,16 +72,16 @@ $(STATIC): $(OBJ)
-
- $(DYNAMIC): $(OBJ)
- $Q echo "[Link (Dynamic)]"
-- $Q $(CC) -shared -Wl,-soname,libwiringPiDev.so$(WIRINGPI_SONAME_SUFFIX) -o libwiringPiDev.so.$(VERSION) -lpthread $(OBJ)
-+ $Q $(CC) -shared $(LDFLAGS) -Wl,-soname,$(BASE_NAME).so.$(DYN_VERS_MAJ) -o $(BASE_NAME).so -lpthread $(OBJ)
-
- .c.o:
- $Q echo [Compile] $<
-- $Q $(CC) -c $(CFLAGS) $< -o $@
-+ $Q $(CC) -c $(CFLAGS) -fPIC $< -o $@
-
- .PHONY: clean
- clean:
- $Q echo "[Clean]"
-- $Q rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak libwiringPiDev.*
-+ $Q rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak $(BASE_NAME).so* $(BASE_NAME).a
-
- .PHONY: tags
- tags: $(SRC)
-@@ -88,22 +92,22 @@ tags: $(SRC)
- .PHONY: install
- install: $(DYNAMIC)
- $Q echo "[Install Headers]"
-- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/include
-- $Q install -m 0644 $(HEADERS) $(DESTDIR)$(PREFIX)/include
-+ $Q install -m 0755 -d $(INCLUDE_DIR)
-+ $Q install -m 0644 $(HEADERS) $(INCLUDE_DIR)
- $Q echo "[Install Dynamic Lib]"
-- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/lib
-- $Q install -m 0755 libwiringPiDev.so.$(VERSION) $(DESTDIR)$(PREFIX)/lib/libwiringPiDev.so.$(VERSION)
-- $Q ln -sf $(DESTDIR)$(PREFIX)/lib/libwiringPiDev.so.$(VERSION) $(DESTDIR)/lib/libwiringPiDev.so
-- $Q $(LDCONFIG)
-+ $Q install -m 0755 -d $(LIB_DIR)
-+ $Q install -m 0755 $(BASE_NAME).so $(LIB_DIR)/$(DYNAMIC)
-+ $Q ln -sf $(DYNAMIC) $(LIB_DIR)/$(BASE_NAME).so
-+ $Q ln -sf $(DYNAMIC) $(LIB_DIR)/$(BASE_NAME).so.$(DYN_VERS_MAJ)
-
- .PHONY: install-static
- install-static: $(STATIC)
- $Q echo "[Install Headers]"
-- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/include
-- $Q install -m 0644 $(HEADERS) $(DESTDIR)$(PREFIX)/include
-+ $Q install -m 0755 -d $(INCLUDE_DIR)
-+ $Q install -m 0644 $(HEADERS) $(INCLUDE_DIR)
- $Q echo "[Install Static Lib]"
-- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/lib
-- $Q install -m 0755 libwiringPiDev.a $(DESTDIR)$(PREFIX)/lib
-+ $Q install -m 0755 -d $(LIB_DIR)
-+ $Q install -m 0755 $(STATIC) $(LIB_DIR)
-
- .PHONY: install-deb
- install-deb: $(DYNAMIC)
-@@ -118,9 +122,11 @@ install-deb: $(DYNAMIC)
- .PHONY: uninstall
- uninstall:
- $Q echo "[UnInstall]"
-- $Q cd $(DESTDIR)$(PREFIX)/include/ && rm -f $(HEADERS)
-- $Q cd $(DESTDIR)$(PREFIX)/lib/ && rm -f libwiringPiDev.*
-- $Q $(LDCONFIG)
-+ $Q cd $(INCLUDE_DIR) && rm -f $(HEADERS)
-+ $Q rm -f $(LIB_DIR)/$(STATIC)
-+ $Q rm -f $(LIB_DIR)/$(DYNAMIC)
-+ $Q rm -f $(LIB_DIR)/$(BASE_NAME).so
-+ $Q rm -f $(LIB_DIR)/$(BASE_NAME).so.$(DYN_VERS_MAJ)
-
-
- .PHONY: depend
-diff --git a/examples/Gertboard/Makefile b/examples/Gertboard/Makefile
-index 1939ad6..98d1415 100644
---- a/examples/Gertboard/Makefile
-+++ b/examples/Gertboard/Makefile
-@@ -9,14 +9,20 @@ ifneq ($V,1)
- Q ?= @
- endif
-
--#DEBUG = -g -O0
--DEBUG = -O3
--CC = gcc
--INCLUDE = -I/usr/local/include
--CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
--
--LDFLAGS = -L/usr/local/lib
--LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm
-+DESTDIR?=/usr
-+PREFIX?=/local
-+
-+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
-+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
-+
-+#DEBUG ?= -g -O0
-+DEBUG ?= -O3
-+CC ?= gcc
-+INCLUDE ?= -I$(INCLUDE_DIR)
-+CFLAGS ?= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
-+
-+LDFLAGS ?= -L$(LIB_DIR)
-+LDLIBS ?= -lwiringPi -lwiringPiDev -lpthread -lm
-
- # Should not alter anything below this line
- ###############################################################################
-diff --git a/examples/Makefile b/examples/Makefile
-index 6d87885..8623816 100644
---- a/examples/Makefile
-+++ b/examples/Makefile
-@@ -26,14 +26,20 @@ ifneq ($V,1)
- Q ?= @
- endif
-
--#DEBUG = -g -O0
--DEBUG = -O3
--CC = gcc
--INCLUDE = -I/usr/local/include
--CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
--
--LDFLAGS = -L/usr/local/lib
--LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm -lcrypt -lrt
-+DESTDIR?=/usr
-+PREFIX?=/local
-+
-+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
-+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
-+
-+#DEBUG ?= -g -O0
-+DEBUG ?= -O3
-+CC ?= gcc
-+INCLUDE ?= -I$(INCLUDE_DIR)
-+CFLAGS ?= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
-+
-+LDFLAGS ?= -L$(LIB_DIR)
-+LDLIBS ?= -lwiringPi -lwiringPiDev -lpthread -lm -lcrypt -lrt
-
- # Should not alter anything below this line
- ###############################################################################
-diff --git a/examples/PiFace/Makefile b/examples/PiFace/Makefile
-index f937c14..ad030b3 100644
---- a/examples/PiFace/Makefile
-+++ b/examples/PiFace/Makefile
-@@ -26,14 +26,20 @@ ifneq ($V,1)
- Q ?= @
- endif
-
--#DEBUG = -g -O0
--DEBUG = -O3
--CC = gcc
--INCLUDE = -I/usr/local/include
--CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
--
--LDFLAGS = -L/usr/local/lib
--LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm
-+DESTDIR?=/usr
-+PREFIX?=/local
-+
-+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
-+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
-+
-+#DEBUG ?= -g -O0
-+DEBUG ?= -O3
-+CC ?= gcc
-+INCLUDE ?= -I$(INCLUDE_DIR)
-+CFLAGS ?= $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
-+
-+LDFLAGS ?= -L$(LIB_DIR)
-+LDLIBS ?= -lwiringPi -lwiringPiDev -lpthread -lm
-
- # Should not alter anything below this line
- ###############################################################################
-diff --git a/examples/PiGlow/Makefile b/examples/PiGlow/Makefile
-index f182db7..d1ea74f 100644
---- a/examples/PiGlow/Makefile
-+++ b/examples/PiGlow/Makefile
-@@ -29,10 +29,10 @@ endif
- #DEBUG = -g -O0
- DEBUG = -O3
- CC = gcc
--INCLUDE = -I/usr/local/include
-+INCLUDE = -I../wiringPi -I../wiringPiDev
- CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
-
--LDFLAGS = -L/usr/local/lib
-+LDFLAGS = -L../wiringPi -L../wiringPiDev
- LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm
-
- # Should not alter anything below this line
-diff --git a/examples/q2w/Makefile b/examples/q2w/Makefile
-index 8f773bf..14aa6e4 100644
---- a/examples/q2w/Makefile
-+++ b/examples/q2w/Makefile
-@@ -29,10 +29,10 @@ endif
- #DEBUG = -g -O0
- DEBUG = -O3
- CC = gcc
--INCLUDE = -I/usr/local/include
-+INCLUDE = -I../wiringPi -I../devLib
- CFLAGS = $(DEBUG) -Wall $(INCLUDE) -Winline -pipe
-
--LDFLAGS = -L/usr/local/lib
-+LDFLAGS = -L../wiringPi -L../devLib
- LDLIBS = -lwiringPi -lwiringPiDev -lpthread -lm
-
- ###############################################################################
-diff --git a/gpio/Makefile b/gpio/Makefile
-index f41a005..22753ee 100644
---- a/gpio/Makefile
-+++ b/gpio/Makefile
-@@ -30,13 +30,17 @@ ifneq ($V,1)
- Q ?= @
- endif
-
--#DEBUG = -g -O0
--DEBUG = -O2
--CC = gcc
--INCLUDE = -I$(DESTDIR)$(PREFIX)/include
--CFLAGS = $(DEBUG) -Wall -Wextra $(INCLUDE) -Winline -pipe
-+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
-+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
-+BIN_DIR?=$(DESTDIR)$(PREFIX)/bin
-
--LDFLAGS = -L$(DESTDIR)$(PREFIX)/lib
-+#DEBUG ?= -g -O0
-+DEBUG ?= -O2
-+CC ?= gcc
-+INCLUDE ?= -I$(INCLUDE_DIR)
-+CFLAGS ?= $(DEBUG) -Wall -Wextra $(INCLUDE) -Winline -pipe
-+
-+LDFLAGS ?= -L$(LIB_DIR)
- LIBS = -lwiringPi -lwiringPiDev -lpthread -lrt -lm -lcrypt
-
- # May not need to alter anything below this line
-@@ -72,13 +76,10 @@ tags: $(SRC)
- .PHONY: install
- install: gpio
- $Q echo "[Install]"
-- $Q cp gpio $(DESTDIR)$(PREFIX)/bin
--ifneq ($(WIRINGPI_SUID),0)
-- $Q chown root.root $(DESTDIR)$(PREFIX)/bin/gpio
-- $Q chmod 4755 $(DESTDIR)$(PREFIX)/bin/gpio
--endif
-- $Q mkdir -p $(DESTDIR)$(PREFIX)/man/man1
-- $Q cp gpio.1 $(DESTDIR)$(PREFIX)/man/man1
-+ $Q install -d $(BIN_DIR)
-+ $Q install -m 4755 -o root -g root gpio $(BIN_DIR)
-+ $Q install -d $(DESTDIR)$(PREFIX)/share/man/man1
-+ $Q install -m 644 -o root -g root gpio.1 $(DESTDIR)$(PREFIX)/share/man/man1
-
- .PHONY: install-deb
- install-deb: gpio
-@@ -91,7 +92,7 @@ install-deb: gpio
- .PHONY: uninstall
- uninstall:
- $Q echo "[UnInstall]"
-- $Q rm -f $(DESTDIR)$(PREFIX)/bin/gpio
-+ $Q rm -f $(BIN_DIR)/gpio
- $Q rm -f $(DESTDIR)$(PREFIX)/man/man1/gpio.1
-
- .PHONY: depend
-diff --git a/wiringPi/Makefile b/wiringPi/Makefile
-index e1868b9..750d290 100644
---- a/wiringPi/Makefile
-+++ b/wiringPi/Makefile
-@@ -25,21 +25,25 @@ VERSION=$(shell cat ../VERSION)
- DESTDIR?=/usr
- PREFIX?=/local
-
-+INCLUDE_DIR?=$(DESTDIR)$(PREFIX)/include
-+LIB_DIR?=$(DESTDIR)$(PREFIX)/lib
-+
- LDCONFIG?=ldconfig
-
- ifneq ($V,1)
- Q ?= @
- endif
-
--STATIC=libwiringPi.a
--DYNAMIC=libwiringPi.so.$(VERSION)
-+BASE_NAME=libwiringPi
-+STATIC=$(BASE_NAME).a
-+DYNAMIC=$(BASE_NAME).so.$(VERSION)
-
--#DEBUG = -g -O0
--DEBUG = -O2
--CC = gcc
--INCLUDE = -I.
-+#DEBUG ?= -g -O0
-+DEBUG ?= -O2
-+CC ?= gcc
-+INCLUDE ?= -I.
- DEFS = -D_GNU_SOURCE
--CFLAGS = $(DEBUG) $(DEFS) -Wformat=2 -Wall -Wextra -Winline $(INCLUDE) -pipe -fPIC
-+CFLAGS = $(DEBUG) $(DEFS) $(INCLUDE) -Wformat=2 -Wall -Wextra -Winline -pipe -fPIC
-
- LIBS = -lm -lpthread -lrt -lcrypt
-
-@@ -78,17 +82,17 @@ $(STATIC): $(OBJ)
-
- $(DYNAMIC): $(OBJ)
- $Q echo "[Link (Dynamic)]"
-- $Q $(CC) -shared -Wl,-soname,libwiringPi.so$(WIRINGPI_SONAME_SUFFIX) -o libwiringPi.so.$(VERSION) $(LIBS) $(OBJ)
-+ $Q $(CC) $(LDFLAGS) -shared -Wl,-soname,$(BASE_NAME).so.$(DYN_VERS_MAJ) -o $(BASE_NAME).so $(OBJ) $(LIBS)
-
- .c.o:
- $Q echo [Compile] $<
-- $Q $(CC) -c $(CFLAGS) $< -o $@
-+ $Q $(CC) $(CFLAGS) $(LIBS) -c $< -o $@
-
-
- .PHONY: clean
- clean:
- $Q echo "[Clean]"
-- $Q rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak libwiringPi.*
-+ $Q rm -f $(OBJ) $(OBJ_I2C) *~ core tags Makefile.bak $(BASE_NAME).so* $(BASE_NAME).a
-
- .PHONY: tags
- tags: $(SRC)
-@@ -99,22 +103,22 @@ tags: $(SRC)
- .PHONY: install
- install: $(DYNAMIC)
- $Q echo "[Install Headers]"
-- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/include
-- $Q install -m 0644 $(HEADERS) $(DESTDIR)$(PREFIX)/include
-+ $Q install -m 0755 -d $(INCLUDE_DIR)
-+ $Q install -m 0644 $(HEADERS) $(INCLUDE_DIR)
- $Q echo "[Install Dynamic Lib]"
-- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/lib
-- $Q install -m 0755 libwiringPi.so.$(VERSION) $(DESTDIR)$(PREFIX)/lib/libwiringPi.so.$(VERSION)
-- $Q ln -sf $(DESTDIR)$(PREFIX)/lib/libwiringPi.so.$(VERSION) $(DESTDIR)/lib/libwiringPi.so
-- $Q $(LDCONFIG)
-+ $Q install -m 0755 -d $(LIB_DIR)
-+ $Q install -m 0755 $(BASE_NAME).so $(LIB_DIR)/$(DYNAMIC)
-+ $Q ln -sf $(DYNAMIC) $(LIB_DIR)/$(BASE_NAME).so
-+ $Q ln -sf $(DYNAMIC) $(LIB_DIR)/$(BASE_NAME).so.$(DYN_VERS_MAJ)
-
- .PHONY: install-static
- install-static: $(STATIC)
- $Q echo "[Install Headers]"
-- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/include
-- $Q install -m 0644 $(HEADERS) $(DESTDIR)$(PREFIX)/include
-+ $Q install -m 0755 -d $(INCLUDE_DIR)
-+ $Q install -m 0644 $(HEADERS) $(INCLUDE_DIR)
- $Q echo "[Install Static Lib]"
-- $Q install -m 0755 -d $(DESTDIR)$(PREFIX)/lib
-- $Q install -m 0755 libwiringPi.a $(DESTDIR)$(PREFIX)/lib
-+ $Q install -m 0755 -d $(LIB_DIR)
-+ $Q install -m 0755 $(STATIC) $(LIB_DIR)
-
- .PHONY: install-deb
- install-deb: $(DYNAMIC)
-@@ -129,9 +133,11 @@ install-deb: $(DYNAMIC)
- .PHONY: uninstall
- uninstall:
- $Q echo "[UnInstall]"
-- $Q cd $(DESTDIR)$(PREFIX)/include/ && rm -f $(HEADERS)
-- $Q cd $(DESTDIR)$(PREFIX)/lib/ && rm -f libwiringPi.*
-- $Q $(LDCONFIG)
-+ $Q cd $(INCLUDE_DIR) && rm -f $(HEADERS)
-+ $Q rm -f $(LIB_DIR)/$(STATIC)
-+ $Q rm -f $(LIB_DIR)/$(DYNAMIC)
-+ $Q rm -f $(LIB_DIR)/$(BASE_NAME).so
-+ $Q rm -f $(LIB_DIR)/$(BASE_NAME).so.$(DYN_VERS_MAJ)
-
-
- .PHONY: depend
---
-2.7.4
-
diff --git a/import-layers/meta-raspberrypi/recipes-devtools/wiringPi/wiringpi_git.bb b/import-layers/meta-raspberrypi/recipes-devtools/wiringPi/wiringpi_git.bb
deleted file mode 100644
index f1b01dbe5..000000000
--- a/import-layers/meta-raspberrypi/recipes-devtools/wiringPi/wiringpi_git.bb
+++ /dev/null
@@ -1,33 +0,0 @@
-DESCRIPTION = "A library to control Raspberry Pi GPIO channels"
-HOMEPAGE = "https://projects.drogon.net/raspberry-pi/wiringpi/"
-SECTION = "devel/libs"
-LICENSE = "LGPLv3+"
-LIC_FILES_CHKSUM = "file://COPYING.LESSER;md5=e6a600fd5e1d9cbde2d983680233ad02"
-
-# tag 2.44
-SRCREV = "96344ff7125182989f98d3be8d111952a8f74e15"
-
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://git.drogon.net/wiringPi \
- file://0001-Add-initial-cross-compile-support.patch \
- "
-
-COMPATIBLE_MACHINE = "^rpi$"
-
-CFLAGS_prepend = "-I${S}/wiringPi -I${S}/devLib "
-
-EXTRA_OEMAKE += "'INCLUDE_DIR=${D}${includedir}' 'LIB_DIR=${D}${libdir}'"
-EXTRA_OEMAKE += "'DESTDIR=${D}/usr' 'PREFIX=""'"
-
-do_compile() {
- oe_runmake -C devLib
- oe_runmake -C wiringPi
- oe_runmake -C gpio 'LDFLAGS=${LDFLAGS} -L${S}/wiringPi -L${S}/devLib'
-}
-
-do_install() {
- oe_runmake -C devLib install
- oe_runmake -C wiringPi install
- oe_runmake -C gpio install
-}
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-fb_%.bbappend b/import-layers/meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-fb_%.bbappend
deleted file mode 100644
index 7692133b8..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-fb_%.bbappend
+++ /dev/null
@@ -1,2 +0,0 @@
-EGLINFO_DEVICE_rpi = "raspberrypi"
-COMPATIBLE_HOST_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', 'null', '"(.*)"', d)}"
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend b/import-layers/meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend
deleted file mode 100644
index 2d720baaa..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/eglinfo/eglinfo-x11_%.bbappend
+++ /dev/null
@@ -1,2 +0,0 @@
-EGLINFO_DEVICE_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', 'generic', 'raspberrypi', d)}"
-ASNEEDED = ""
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/mesa/mesa-gl_%.bbappend b/import-layers/meta-raspberrypi/recipes-graphics/mesa/mesa-gl_%.bbappend
deleted file mode 100644
index 7897125b4..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/mesa/mesa-gl_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-PACKAGECONFIG_append_rpi = " gbm"
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend b/import-layers/meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend
deleted file mode 100644
index 52fe757a0..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/mesa/mesa_%.bbappend
+++ /dev/null
@@ -1,7 +0,0 @@
-# DRI3 note:
-# With oe-core commit 8509e2e1a87578882b71948ccef3b50ccf1228b3 dri3 is set
-# as default. To state out clearly that Raspi needs dri3 and to avoid surprises
-# in case oe-core changes this default, we set dri3 explicitly.
-PACKAGECONFIG_append_rpi = " gallium ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11 dri3', '', d)}"
-GALLIUMDRIVERS_rpi = "vc4"
-DRIDRIVERS_rpi = ""
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0001-Allow-applications-to-set-next-resource-handle.patch b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0001-Allow-applications-to-set-next-resource-handle.patch
deleted file mode 100644
index 933f279af..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0001-Allow-applications-to-set-next-resource-handle.patch
+++ /dev/null
@@ -1,208 +0,0 @@
-From 0a64dc61d3d7db69389157ae757203b4b3afdbfa Mon Sep 17 00:00:00 2001
-From: Dom Cobley <dc4@broadcom.com>
-Date: Tue, 9 Jul 2013 09:26:26 -0400
-Subject: [PATCH 01/16] Allow applications to set next resource handle
-
-This patch adds provisions in userland to
-let apps callers set the next rendereing dispmanx resource.
-It's useful for implementing, say, a buffer carousel.
----
- interface/khronos/common/khrn_client_rpc.h | 2 ++
- interface/khronos/common/khrn_int_ids.h | 2 ++
- interface/khronos/egl/egl_client.c | 30 +++++++++++++++++++++++++++---
- interface/khronos/egl/egl_client_surface.c | 24 +++++++++++++++++++++++-
- interface/khronos/egl/egl_client_surface.h | 3 ++-
- interface/khronos/egl/egl_int_impl.h | 5 +++--
- 6 files changed, 59 insertions(+), 7 deletions(-)
-
-diff --git a/interface/khronos/common/khrn_client_rpc.h b/interface/khronos/common/khrn_client_rpc.h
-index dc4351d..10ea060 100644
---- a/interface/khronos/common/khrn_client_rpc.h
-+++ b/interface/khronos/common/khrn_client_rpc.h
-@@ -685,6 +685,7 @@ static INLINE void rpc_call12_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id
- static INLINE void rpc_call13_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id, uint32_t p0, uint32_t p1, uint32_t p2, uint32_t p3, uint32_t p4, uint32_t p5, uint32_t p6, uint32_t p7, uint32_t p8, uint32_t p9, uint32_t p10, uint32_t p11, void *out) { rpc_begin(thread); RPC_CALL(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11); rpc_recv(thread, out, NULL, (RPC_RECV_FLAG_T)(RPC_RECV_FLAG_CTRL | RPC_RECV_FLAG_LEN)); rpc_end(thread); }
- static INLINE void rpc_call14_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id, uint32_t p0, uint32_t p1, uint32_t p2, uint32_t p3, uint32_t p4, uint32_t p5, uint32_t p6, uint32_t p7, uint32_t p8, uint32_t p9, uint32_t p10, uint32_t p11, uint32_t p12, void *out) { rpc_begin(thread); RPC_CALL(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12); rpc_recv(thread, out, NULL, (RPC_RECV_FLAG_T)(RPC_RECV_FLAG_CTRL | RPC_RECV_FLAG_LEN)); rpc_end(thread); }
- static INLINE void rpc_call15_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id, uint32_t p0, uint32_t p1, uint32_t p2, uint32_t p3, uint32_t p4, uint32_t p5, uint32_t p6, uint32_t p7, uint32_t p8, uint32_t p9, uint32_t p10, uint32_t p11, uint32_t p12, uint32_t p13, void *out) { rpc_begin(thread); RPC_CALL(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13); rpc_recv(thread, out, NULL, (RPC_RECV_FLAG_T)(RPC_RECV_FLAG_CTRL | RPC_RECV_FLAG_LEN)); rpc_end(thread); }
-+static INLINE void rpc_call16_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id, uint32_t p0, uint32_t p1, uint32_t p2, uint32_t p3, uint32_t p4, uint32_t p5, uint32_t p6, uint32_t p7, uint32_t p8, uint32_t p9, uint32_t p10, uint32_t p11, uint32_t p12, uint32_t p13, uint32_t p14, void *out) { rpc_begin(thread); RPC_CALL(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14); rpc_recv(thread, out, NULL, (RPC_RECV_FLAG_T)(RPC_RECV_FLAG_CTRL | RPC_RECV_FLAG_LEN)); rpc_end(thread); }
- #endif
-
- #define RPC_CALL1_OUT_CTRL(fn, thread, id, out) rpc_call1_out_ctrl(thread, id, out)
-@@ -702,6 +703,7 @@ static INLINE void rpc_call15_out_ctrl(CLIENT_THREAD_STATE_T *thread,uint32_t id
- #define RPC_CALL13_OUT_CTRL(fn, thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, out) rpc_call13_out_ctrl(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, out)
- #define RPC_CALL14_OUT_CTRL(fn, thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, out) rpc_call14_out_ctrl(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, out)
- #define RPC_CALL15_OUT_CTRL(fn, thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, out) rpc_call15_out_ctrl(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, out)
-+#define RPC_CALL16_OUT_CTRL(fn, thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, out) rpc_call16_out_ctrl(thread, id, p0, p1, p2, p3, p4, p5, p6, p7, p8, p9, p10, p11, p12, p13, p14, out)
-
- # if !defined(__SYMBIAN32__) //use functions defined in khrpc.cpp
- static INLINE uint32_t rpc_call1_out_ctrl_res(CLIENT_THREAD_STATE_T *thread,uint32_t id, void *out) { uint32_t res; rpc_begin(thread); RPC_CALL(thread, id); res = rpc_recv(thread, out, NULL, (RPC_RECV_FLAG_T)(RPC_RECV_FLAG_RES | RPC_RECV_FLAG_CTRL | RPC_RECV_FLAG_LEN)); rpc_end(thread); return res; }
-diff --git a/interface/khronos/common/khrn_int_ids.h b/interface/khronos/common/khrn_int_ids.h
-index 8378f4a..ec961e0 100644
---- a/interface/khronos/common/khrn_int_ids.h
-+++ b/interface/khronos/common/khrn_int_ids.h
-@@ -367,6 +367,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
- #define EGLINTCREATESURFACE_ID 0x4000
-+#define EGLINTCREATESURFACE_ID_V2 0x4100
- #define EGLINTCREATEGLES11_ID 0x4001
- #define EGLINTCREATEGLES20_ID 0x4002
- #define EGLINTCREATEVG_ID 0x4003
-@@ -377,6 +378,7 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- #define EGLINTMAKECURRENT_ID 0x4008
- #define EGLINTFLUSHANDWAIT_ID 0x4009
- #define EGLINTSWAPBUFFERS_ID 0x400a
-+#define EGLINTSWAPBUFFERS_ID_V2 0x410a
- #define EGLINTSELECTMIPMAP_ID 0x400b
- #define EGLINTFLUSH_ID 0x400c
- #define EGLINTGETCOLORDATA_ID 0x400d
-diff --git a/interface/khronos/egl/egl_client.c b/interface/khronos/egl/egl_client.c
-index 9d617c8..b8bb374 100644
---- a/interface/khronos/egl/egl_client.c
-+++ b/interface/khronos/egl/egl_client.c
-@@ -162,6 +162,17 @@ static void egl_current_release(CLIENT_PROCESS_STATE_T *process, EGL_CURRENT_T *
- void egl_gl_flush_callback(bool wait);
- void egl_vg_flush_callback(bool wait);
-
-+#include "interface/vmcs_host/vc_dispmanx_types.h"
-+/**HACKHACK - give us the ability to inject a DispmanX
-+ * resource handle into the CreateWindowSurface and
-+ * SwapBuffers calls */
-+static DISPMANX_RESOURCE_HANDLE_T next_resource_handle;
-+
-+EGLAPI EGLBoolean EGLAPIENTRY eglSetNextResourceHandle(DISPMANX_RESOURCE_HANDLE_T handle)
-+{
-+ next_resource_handle = handle;
-+}
-+
- /*
- TODO: do an RPC call to make sure the Khronos vll is loaded (and that it stays loaded until eglTerminate)
- Also affects global image (and possibly others?)
-@@ -644,7 +655,8 @@ EGLAPI EGLSurface EGLAPIENTRY eglCreateWindowSurface(EGLDisplay dpy, EGLConfig c
- false,
- EGL_NO_TEXTURE,
- EGL_NO_TEXTURE,
-- 0, 0);
-+ 0, 0,
-+ next_resource_handle);
-
- if (surface) {
- if (khrn_pointer_map_insert(&process->surfaces, process->next_surface, surface)) {
-@@ -889,7 +901,7 @@ EGLAPI EGLSurface EGLAPIENTRY eglCreatePbufferSurface(EGLDisplay dpy, EGLConfig
- mipmap_texture,
- texture_format,
- texture_target,
-- 0, 0);
-+ 0, 0, 0);
-
- if (surface) {
- if (khrn_pointer_map_insert(&process->surfaces, process->next_surface, surface)) {
-@@ -1031,7 +1043,7 @@ EGLAPI EGLSurface EGLAPIENTRY eglCreatePixmapSurface(EGLDisplay dpy, EGLConfig c
- false,
- EGL_NO_TEXTURE,
- EGL_NO_TEXTURE,
-- pixmap, ((server_handle[0] == 0) && (server_handle[1] == (uint32_t)(-1))) ? NULL : server_handle);
-+ pixmap, ((server_handle[0] == 0) && (server_handle[1] == (uint32_t)(-1))) ? NULL : server_handle, 0);
-
- if (surface) {
- if (khrn_pointer_map_insert(&process->surfaces, process->next_surface, surface)) {
-@@ -2303,6 +2315,18 @@ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers(EGLDisplay dpy, EGLSurface surf)
-
- vcos_log_trace("eglSwapBuffers server call");
-
-+ if (next_resource_handle)
-+ RPC_CALL7(eglIntSwapBuffers_impl,
-+ thread,
-+ EGLINTSWAPBUFFERS_ID_V2,
-+ RPC_UINT(surface->serverbuffer),
-+ RPC_UINT(surface->width),
-+ RPC_UINT(surface->height),
-+ RPC_UINT(surface->internal_handle),
-+ RPC_UINT(surface->swap_behavior == EGL_BUFFER_PRESERVED ? 1 : 0),
-+ RPC_UINT(khrn_platform_get_window_position(surface->win)),
-+ RPC_INT(next_resource_handle));
-+ else
- RPC_CALL6(eglIntSwapBuffers_impl,
- thread,
- EGLINTSWAPBUFFERS_ID,
-diff --git a/interface/khronos/egl/egl_client_surface.c b/interface/khronos/egl/egl_client_surface.c
-index 6846dfa..128325e 100644
---- a/interface/khronos/egl/egl_client_surface.c
-+++ b/interface/khronos/egl/egl_client_surface.c
-@@ -314,7 +314,8 @@ EGL_SURFACE_T *egl_surface_create(
- EGLenum texture_format,
- EGLenum texture_target,
- EGLNativePixmapType pixmap,
-- const uint32_t *pixmap_server_handle)
-+ const uint32_t *pixmap_server_handle,
-+ DISPMANX_RESOURCE_HANDLE_T next_resource_handle)
- {
- KHRN_IMAGE_FORMAT_T color;
- KHRN_IMAGE_FORMAT_T depth;
-@@ -473,6 +474,27 @@ EGL_SURFACE_T *egl_surface_create(
- #endif
- uint32_t results[3];
-
-+ if (next_resource_handle)
-+ RPC_CALL16_OUT_CTRL(eglIntCreateSurface_impl,
-+ thread,
-+ EGLINTCREATESURFACE_ID_V2,
-+ RPC_UINT(serverwin),
-+ RPC_UINT(buffers),
-+ RPC_UINT(width),
-+ RPC_UINT(height),
-+ RPC_UINT(color),
-+ RPC_UINT(depth),
-+ RPC_UINT(mask),
-+ RPC_UINT(multi),
-+ RPC_UINT(largest_pbuffer),
-+ RPC_UINT(mipmap_texture),
-+ RPC_UINT(config_depth_bits),
-+ RPC_UINT(config_stencil_bits),
-+ RPC_UINT(sem_name),
-+ RPC_UINT(type),
-+ RPC_INT(next_resource_handle),
-+ results);
-+ else
- RPC_CALL15_OUT_CTRL(eglIntCreateSurface_impl,
- thread,
- EGLINTCREATESURFACE_ID,
-diff --git a/interface/khronos/egl/egl_client_surface.h b/interface/khronos/egl/egl_client_surface.h
-index c99d44c..b5bf70a 100644
---- a/interface/khronos/egl/egl_client_surface.h
-+++ b/interface/khronos/egl/egl_client_surface.h
-@@ -322,7 +322,8 @@ extern EGL_SURFACE_T *egl_surface_create(
- EGLenum texture_format,
- EGLenum texture_target,
- EGLNativePixmapType pixmap,
-- const uint32_t *pixmap_server_handle);
-+ const uint32_t *pixmap_server_handle,
-+ DISPMANX_RESOURCE_HANDLE_T next_resource_handle);
- extern EGL_SURFACE_T *egl_surface_from_vg_image(
- VGImage vg_handle,
- EGLSurface name,
-diff --git a/interface/khronos/egl/egl_int_impl.h b/interface/khronos/egl/egl_int_impl.h
-index 8a5734c..51b3580 100644
---- a/interface/khronos/egl/egl_int_impl.h
-+++ b/interface/khronos/egl/egl_int_impl.h
-@@ -56,7 +56,8 @@ FN(int, eglIntCreateSurface_impl, (
- uint32_t config_stencil_bits,
- uint32_t sem,
- uint32_t type,
-- uint32_t *results))
-+ uint32_t *results,
-+ DISPMANX_RESOURCE_HANDLE_T next_resource_handle))
-
- FN(int, eglIntCreatePbufferFromVGImage_impl, (
- VGImage vg_handle,
-@@ -110,7 +111,7 @@ FN(void, eglIntMakeCurrent_impl, (uint32_t pid_0, uint32_t pid_1, uint32_t glver
- FN(int, eglIntFlushAndWait_impl, (uint32_t flushgl, uint32_t flushvg))
- FN(void, eglIntFlush_impl, (uint32_t flushgl, uint32_t flushvg))
-
--FN(void, eglIntSwapBuffers_impl, (EGL_SURFACE_ID_T s, uint32_t width, uint32_t height, uint32_t handle, uint32_t preserve, uint32_t position))
-+FN(void, eglIntSwapBuffers_impl, (EGL_SURFACE_ID_T s, uint32_t width, uint32_t height, uint32_t handle, uint32_t preserve, uint32_t position, DISPMANX_RESOURCE_HANDLE_T new_back_buffer))
- FN(void, eglIntSelectMipmap_impl, (EGL_SURFACE_ID_T s, int level))
-
- FN(void, eglIntGetColorData_impl, (EGL_SURFACE_ID_T s, KHRN_IMAGE_FORMAT_T format, uint32_t width, uint32_t height, int32_t stride, uint32_t y_offset, void *data))
---
-2.16.1
-
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0002-wayland-Add-support-for-the-Wayland-winsys.patch b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0002-wayland-Add-support-for-the-Wayland-winsys.patch
deleted file mode 100644
index 461350407..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0002-wayland-Add-support-for-the-Wayland-winsys.patch
+++ /dev/null
@@ -1,1861 +0,0 @@
-From 5608ec8002be8370e78c9dbb1e07cee4cfb18b58 Mon Sep 17 00:00:00 2001
-From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
-Date: Tue, 1 Oct 2013 13:19:20 +0200
-Subject: [PATCH 02/16] wayland: Add support for the Wayland winsys
-
-* Adds EGL_WL_bind_wayland_display extension
-* Adds wayland-egl library
-* Adds wl_dispmanx_buffer protocol extension
-
-TODO: Check that platform_get_dimensions() returning swapchain_count == 1 is correct
-
-TODO: Remove the requirement of passing a valid DispmanX element handle to
-the SwapBuffers and CreateSurface RPC calls. This will remove the need to open
-a DispmanX display from the clients.
-
-TODO: wl_dispmanx_server_buffer should probably be defined in a
-private header that can be included from EGL and vc_* instead of in
-vc_vchi_dispmanx.h
----
- .gitignore | 1 +
- CMakeLists.txt | 11 +
- README.md | 4 +
- buildme | 10 +-
- .../linux/apps/raspicam/CMakeLists.txt | 2 +-
- interface/khronos/CMakeLists.txt | 53 ++++-
- interface/khronos/common/khrn_client.c | 15 ++
- interface/khronos/common/khrn_client.h | 10 +
- interface/khronos/common/khrn_client_mangle.h | 3 +
- interface/khronos/common/khrn_client_platform.h | 8 +
- interface/khronos/common/khrn_client_unmangle.h | 3 +
- .../common/linux/khrn_client_platform_linux.c | 115 ++++++++--
- interface/khronos/common/linux/khrn_wayland.c | 215 ++++++++++++++++++
- .../common/linux/khrn_wayland.h} | 46 +---
- interface/khronos/egl/egl_client.c | 92 +++++---
- interface/khronos/egl/egl_client_get_proc.c | 11 +
- interface/khronos/egl/egl_client_surface.c | 42 +++-
- interface/khronos/egl/egl_client_surface.h | 38 +++-
- interface/khronos/egl/egl_int_impl.h | 2 +-
- interface/khronos/ext/egl_wayland.c | 246 +++++++++++++++++++++
- interface/khronos/include/EGL/eglext.h | 23 ++
- interface/khronos/wayland-egl/wayland-egl-priv.h | 53 +++++
- interface/khronos/wayland-egl/wayland-egl.c | 59 +++++
- interface/khronos/wayland-egl/wayland-egl.pc.in | 10 +
- interface/vmcs_host/CMakeLists.txt | 21 +-
- interface/vmcs_host/vc_dispmanx.h | 10 +
- interface/vmcs_host/vc_vchi_dispmanx.c | 42 ++++
- interface/vmcs_host/vc_vchi_dispmanx.h | 15 ++
- interface/wayland/dispmanx.xml | 123 +++++++++++
- makefiles/cmake/Wayland.cmake | 72 ++++++
- 30 files changed, 1257 insertions(+), 98 deletions(-)
- create mode 100644 interface/khronos/common/linux/khrn_wayland.c
- copy interface/{vmcs_host/vc_vchi_dispmanx.h => khronos/common/linux/khrn_wayland.h} (56%)
- create mode 100644 interface/khronos/ext/egl_wayland.c
- create mode 100644 interface/khronos/wayland-egl/wayland-egl-priv.h
- create mode 100644 interface/khronos/wayland-egl/wayland-egl.c
- create mode 100644 interface/khronos/wayland-egl/wayland-egl.pc.in
- create mode 100644 interface/wayland/dispmanx.xml
- create mode 100644 makefiles/cmake/Wayland.cmake
-
-Index: git/.gitignore
-===================================================================
---- git.orig/.gitignore
-+++ git/.gitignore
-@@ -30,3 +30,4 @@ build/
- *.pts
- *.ppm
- *.mkv
-+*~
-Index: git/CMakeLists.txt
-===================================================================
---- git.orig/CMakeLists.txt
-+++ git/CMakeLists.txt
-@@ -24,6 +24,17 @@ include(makefiles/cmake/global_settings.
- include(makefiles/cmake/arm-linux.cmake)
- include(makefiles/cmake/vmcs.cmake)
-
-+if (BUILD_WAYLAND)
-+ include(makefiles/cmake/Wayland.cmake)
-+
-+ # Find Wayland libraries
-+ find_package(PkgConfig)
-+ pkg_check_modules(WAYLAND_CLIENT wayland-client REQUIRED)
-+ pkg_check_modules(WAYLAND_SERVER wayland-server REQUIRED)
-+
-+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DBUILD_WAYLAND")
-+endif()
-+
- enable_language(ASM)
-
- # Global include paths
-Index: git/README.md
-===================================================================
---- git.orig/README.md
-+++ git/README.md
-@@ -6,3 +6,7 @@ Use buildme to build. It requires cmake
- https://github.com/raspberrypi/tools/tree/master/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian
-
- Note that this repository does not contain the source for the edid_parser and vcdbg binaries due to licensing restrictions.
-+
-+To build support for the Wayland winsys in EGL, execute the buildme script like this:
-+
-+$ BUILD_WAYLAND=1 ./buildme.
-Index: git/buildme
-===================================================================
---- git.orig/buildme
-+++ git/buildme
-@@ -8,6 +8,10 @@ fi
-
- BUILDSUBDIR=`echo $BUILDTYPE | tr '[A-Z]' '[a-z]'`;
-
-+if [ -n "$BUILD_WAYLAND" ]; then
-+ WAYLAND_VARS="-DBUILD_WAYLAND=TRUE"
-+fi
-+
- if [ "armv6l" = `arch` ] || [ "armv7l" = `arch` ]; then
- # Native compile on the Raspberry Pi
- mkdir -p build/raspberry/$BUILDSUBDIR
-@@ -32,9 +36,13 @@ elif [ "$1" = "--native" ]; then
- make -j `nproc` $*
- else
- # Cross compile on a more capable machine
-+ if [ -n "$BUILD_WAYLAND" ]; then
-+ # Use wayland-scanner from the build platform
-+ WAYLAND_VARS+=" -DWAYLAND_SCANNER_EXECUTABLE:FILEPATH=/usr/bin/wayland-scanner"
-+ fi
- mkdir -p build/arm-linux/$BUILDSUBDIR
- pushd build/arm-linux/$BUILDSUBDIR
-- cmake -DCMAKE_TOOLCHAIN_FILE=../../../makefiles/cmake/toolchains/arm-linux-gnueabihf.cmake -DCMAKE_BUILD_TYPE=$BUILDTYPE ../../..
-+ cmake -DCMAKE_TOOLCHAIN_FILE=../../../makefiles/cmake/toolchains/arm-linux-gnueabihf.cmake -DCMAKE_BUILD_TYPE=$BUILDTYPE $WAYLAND_VARS ../../..
- make -j `nproc`
-
- if [ "$1" != "" ]; then
-Index: git/host_applications/linux/apps/raspicam/CMakeLists.txt
-===================================================================
---- git.orig/host_applications/linux/apps/raspicam/CMakeLists.txt
-+++ git/host_applications/linux/apps/raspicam/CMakeLists.txt
-@@ -28,7 +28,7 @@ add_executable(raspividyuv ${COMMON_SOU
-
- set (MMAL_LIBS mmal_core mmal_util mmal_vc_client)
-
--target_link_libraries(raspistill ${MMAL_LIBS} vcos bcm_host brcmGLESv2 brcmEGL m)
-+target_link_libraries(raspistill ${MMAL_LIBS} vcos bcm_host brcmGLESv2 brcmEGL m ${WAYLAND_SERVER_LIBRARIES} ${WAYLAND_CLIENT_LIBRARIES})
- target_link_libraries(raspiyuv ${MMAL_LIBS} vcos bcm_host)
- target_link_libraries(raspivid ${MMAL_LIBS} vcos bcm_host)
- target_link_libraries(raspividyuv ${MMAL_LIBS} vcos bcm_host)
-Index: git/interface/khronos/CMakeLists.txt
-===================================================================
---- git.orig/interface/khronos/CMakeLists.txt
-+++ git/interface/khronos/CMakeLists.txt
-@@ -6,6 +6,12 @@
- # have quite a few circular dependencies, and so the only way
- # to make it work seems to be to have everything static.
-
-+if (BUILD_WAYLAND)
-+include_directories(
-+ ${WAYLAND_SERVER_INCLUDE_DIRS}
-+)
-+endif ()
-+
- set(EGL_SOURCE
- egl/egl_client_config.c
- egl/egl_client_context.c
-@@ -55,12 +61,55 @@ set(CLIENT_SOURCE
- common/khrn_int_hash_asm.s
- common/khrn_client_cache.c)
-
-+set(EGL_LIBS
-+ khrn_client
-+ vchiq_arm
-+ vcos
-+ bcm_host)
-+
-+if (BUILD_WAYLAND)
-+ set(EGL_SOURCE
-+ ${EGL_SOURCE}
-+ ext/egl_wayland.c
-+ common/linux/khrn_wayland.c)
-+
-+ set(EGL_LIBS
-+ ${EGL_LIBS}
-+ wayland-client
-+ wayland-server)
-+
-+ set(WAYLAND_EGL_SOURCE
-+ wayland-egl/wayland-egl.c)
-+
-+ wayland_add_protocol_server(
-+ EGL_SOURCE
-+ ../../interface/wayland/dispmanx.xml
-+ dispmanx
-+ )
-+
-+ wayland_add_protocol_client(
-+ EGL_SOURCE
-+ ../../interface/wayland/dispmanx.xml
-+ dispmanx
-+ )
-+
-+ add_library(wayland-egl ${SHARED} ${WAYLAND_EGL_SOURCE})
-+ install(TARGETS wayland-egl DESTINATION lib)
-+
-+ configure_file ("wayland-egl/wayland-egl.pc.in" "wayland-egl/wayland-egl.pc" @ONLY)
-+ install (FILES "${CMAKE_CURRENT_BINARY_DIR}/wayland-egl/wayland-egl.pc"
-+ DESTINATION lib/pkgconfig)
-+endif ()
-+
- add_library(EGL ${SHARED} ${EGL_SOURCE})
- add_library(GLESv2 ${SHARED} ${GLES_SOURCE})
- add_library(OpenVG ${SHARED} ${VG_SOURCE})
- add_library(WFC ${SHARED} ${WFC_SOURCE})
- add_library(khrn_client ${CLIENT_SOURCE})
-
-+set_target_properties(EGL PROPERTIES SOVERSION 1 VERSION 1.0.0)
-+set_target_properties(GLESv2 PROPERTIES SOVERSION 2 VERSION 2.0.0)
-+
- # TODO do we need EGL_static and GLESv2_static now that khrn_static exists?
- add_library(EGL_static STATIC ${EGL_SOURCE})
- add_library(GLESv2_static STATIC ${GLES_SOURCE})
-@@ -72,8 +121,7 @@ include_directories (../../host_applicat
- set(VCSM_LIBS vcsm)
- add_definitions(-DKHRONOS_HAVE_VCSM)
- endif()
--
--target_link_libraries(EGL khrn_client vchiq_arm vcos bcm_host ${VCSM_LIBS} -lm)
-+target_link_libraries(EGL ${EGL_LIBS} ${VCSM_LIBS} -lm)
- target_link_libraries(GLESv2 EGL khrn_client vcos)
- target_link_libraries(WFC EGL)
- target_link_libraries(OpenVG EGL)
-@@ -87,7 +135,7 @@ add_library(brcmGLESv2 ${SHARED} ${GLES_
- add_library(brcmOpenVG ${SHARED} ${VG_SOURCE})
- add_library(brcmWFC ${SHARED} ${WFC_SOURCE})
-
--target_link_libraries(brcmEGL khrn_client vchiq_arm vcos bcm_host ${VCSM_LIBS} -lm)
-+target_link_libraries(brcmEGL ${EGL_LIBS} ${VCSM_LIBS} -lm)
- target_link_libraries(brcmGLESv2 brcmEGL khrn_client vcos)
- target_link_libraries(brcmWFC brcmEGL)
- target_link_libraries(brcmOpenVG brcmEGL)
-Index: git/interface/khronos/common/khrn_client.c
-===================================================================
---- git.orig/interface/khronos/common/khrn_client.c
-+++ git/interface/khronos/common/khrn_client.c
-@@ -54,6 +54,10 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI
- #include "applications/vmcs/khronos/khronos_server.h"
- #endif
-
-+#ifdef BUILD_WAYLAND
-+#include "interface/khronos/common/linux/khrn_wayland.h"
-+#endif
-+
- VCOS_LOG_CAT_T khrn_client_log = VCOS_LOG_INIT("khrn_client", VCOS_LOG_WARN);
-
- /*
-@@ -142,6 +146,10 @@ void client_try_unload_server(CLIENT_PRO
- bool client_process_state_init(CLIENT_PROCESS_STATE_T *process)
- {
- if (!process->inited) {
-+#ifdef BUILD_WAYLAND
-+ process->wl_global = NULL;
-+#endif
-+
- if (!khrn_pointer_map_init(&process->contexts, 64))
- return false;
-
-@@ -194,6 +202,13 @@ bool client_process_state_init(CLIENT_PR
- }
- #endif
-
-+#ifdef BUILD_WAYLAND
-+ struct wl_display *wl_display = khrn_platform_get_wl_display();
-+ if (wl_display)
-+ if (!init_process_wayland(process))
-+ return false;
-+#endif
-+
- process->inited = true;
- }
-
-Index: git/interface/khronos/common/khrn_client.h
-===================================================================
---- git.orig/interface/khronos/common/khrn_client.h
-+++ git/interface/khronos/common/khrn_client.h
-@@ -310,6 +310,16 @@ struct CLIENT_PROCESS_STATE {
- #ifdef RPC_LIBRARY
- KHRONOS_SERVER_CONNECTION_T khrn_connection;
- #endif
-+
-+#ifdef BUILD_WAYLAND
-+ /* Client-side Wayland state */
-+ struct wl_registry *wl_registry;
-+ struct wl_dispmanx *wl_dispmanx;
-+ struct wl_event_queue *wl_queue;
-+
-+ /* Compositor-side Wayland state */
-+ struct wl_global *wl_global;
-+#endif
- };
-
- extern bool client_process_state_init(CLIENT_PROCESS_STATE_T *process);
-Index: git/interface/khronos/common/khrn_client_mangle.h
-===================================================================
---- git.orig/interface/khronos/common/khrn_client_mangle.h
-+++ git/interface/khronos/common/khrn_client_mangle.h
-@@ -83,6 +83,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI
- #define eglReleaseGlobalImageBRCM mangled_eglReleaseGlobalImageBRCM
- #define eglInitGlobalImageBRCM mangled_eglInitGlobalImageBRCM
- #define eglTermGlobalImageBRCM mangled_eglTermGlobalImageBRCM
-+#define eglBindWaylandDisplayWL mangled_eglBindWaylandDisplayWL
-+#define eglUnbindWaylandDisplayWL mangled_eglUnbindWaylandDisplayWL
-+#define eglQueryWaylandBufferWL mangled_eglQueryWaylandBufferWL
-
- /* OpenGL ES 1.1 and 2.0 functions */
-
-Index: git/interface/khronos/common/khrn_client_platform.h
-===================================================================
---- git.orig/interface/khronos/common/khrn_client_platform.h
-+++ git/interface/khronos/common/khrn_client_platform.h
-@@ -48,6 +48,10 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI
- #include "interface/khronos/common/vcos/khrn_client_platform_filler_vcos.h"
- #endif
-
-+#ifdef BUILD_WAYLAND
-+#include <wayland-client.h>
-+#endif
-+
- #ifdef __cplusplus
- extern "C" {
- #endif
-@@ -328,4 +332,8 @@ typedef struct
-
- void *platform_wfc_bounce_thread(void *param);
-
-+#ifdef BUILD_WAYLAND
-+struct wl_display *khrn_platform_get_wl_display();
-+#endif
-+
- #endif // KHRN_CLIENT_PLATFORM_H
-Index: git/interface/khronos/common/khrn_client_unmangle.h
-===================================================================
---- git.orig/interface/khronos/common/khrn_client_unmangle.h
-+++ git/interface/khronos/common/khrn_client_unmangle.h
-@@ -83,6 +83,9 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI
- #undef eglReleaseGlobalImageBRCM
- #undef eglInitGlobalImageBRCM
- #undef eglTermGlobalImageBRCM
-+#undef eglBindWaylandDisplayWL
-+#undef eglUnbindWaylandDisplayWL
-+#undef eglQueryWaylandBufferWL
-
- /* OpenGL ES 1.1 and 2.0 functions */
-
-Index: git/interface/khronos/common/linux/khrn_client_platform_linux.c
-===================================================================
---- git.orig/interface/khronos/common/linux/khrn_client_platform_linux.c
-+++ git/interface/khronos/common/linux/khrn_client_platform_linux.c
-@@ -37,6 +37,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI
- #include "X11/Xlib.h"
- #endif
-
-+#ifdef BUILD_WAYLAND
-+#include <wayland-client.h>
-+#include "interface/khronos/wayland-egl/wayland-egl-priv.h"
-+#endif
-+
- extern VCOS_LOG_CAT_T khrn_client_log;
-
- extern void vc_vchi_khronos_init();
-@@ -464,14 +469,37 @@ EGLDisplay khrn_platform_set_display_id(
- return EGL_NO_DISPLAY;
- }
- #else
-+
-+#ifdef BUILD_WAYLAND
-+static struct wl_display *hacky_display = NULL;
-+#endif
-+
- EGLDisplay khrn_platform_set_display_id(EGLNativeDisplayType display_id)
- {
- if (display_id == EGL_DEFAULT_DISPLAY)
- return (EGLDisplay)1;
-- else
-- return EGL_NO_DISPLAY;
-+ else {
-+#ifdef BUILD_WAYLAND
-+ void *first_pointer = *(void **) display_id;
-+
-+ /* wl_display is a wl_proxy, which is a wl_object.
-+ * wl_object's first element points to the interfacetype. */
-+ if (first_pointer == &wl_display_interface) {
-+ hacky_display = (struct wl_display*)display_id;
-+ return (EGLDisplay)1;
-+ } else
-+#endif
-+ return EGL_NO_DISPLAY;
-+ }
-+}
-+
-+#ifdef BUILD_WAYLAND
-+struct wl_display *khrn_platform_get_wl_display()
-+{
-+ return hacky_display;
- }
- #endif
-+#endif
-
- #ifdef WANT_X
- static void dump_hierarchy(Window w, Window thisw, Window look, int level)
-@@ -805,22 +833,81 @@ static EGL_DISPMANX_WINDOW_T *check_defa
- void platform_get_dimensions(EGLDisplay dpy, EGLNativeWindowType win,
- uint32_t *width, uint32_t *height, uint32_t *swapchain_count)
- {
-- EGL_DISPMANX_WINDOW_T *dwin = check_default(win);
-- vcos_assert(dwin);
-- vcos_assert(dwin->width < 1<<16); // sanity check
-- vcos_assert(dwin->height < 1<<16); // sanity check
-- *width = dwin->width;
-- *height = dwin->height;
-- *swapchain_count = 0;
-+#ifdef BUILD_WAYLAND
-+ if(khrn_platform_get_wl_display()) {
-+ struct wl_egl_window *wl_egl_window = (struct wl_egl_window*)win;
-+ *width = wl_egl_window->width;
-+ *height = wl_egl_window->height;
-+ /* This seems to be used for sync'ing with the VC on buffer creation, but
-+ we are managing them on the CPU side */
-+ *swapchain_count = 1;
-+ } else {
-+#endif
-+ EGL_DISPMANX_WINDOW_T *dwin = check_default(win);
-+ vcos_assert(dwin);
-+ vcos_assert(dwin->width < 1<<16); // sanity check
-+ vcos_assert(dwin->height < 1<<16); // sanity check
-+ *width = dwin->width;
-+ *height = dwin->height;
-+ *swapchain_count = 0;
-+#ifdef BUILD_WAYLAND
-+ }
-+#endif
-+}
-+
-+#ifdef BUILD_WAYLAND
-+static DISPMANX_ELEMENT_HANDLE_T create_dummy_element()
-+{
-+ DISPMANX_DISPLAY_HANDLE_T display = vc_dispmanx_display_open(0);
-+ DISPMANX_UPDATE_HANDLE_T update = vc_dispmanx_update_start(0);
-+ DISPMANX_ELEMENT_HANDLE_T element;
-+ VC_DISPMANX_ALPHA_T alpha = {DISPMANX_FLAGS_ALPHA_FIXED_ALL_PIXELS, 255, 0};
-+ VC_RECT_T src_rect;
-+ VC_RECT_T dst_rect;
-+
-+ src_rect.x = 0;
-+ src_rect.y = 0;
-+ src_rect.width = 1 << 16;
-+ src_rect.height = 1 << 16;
-+
-+ dst_rect.x = 0;
-+ dst_rect.y = 0;
-+ dst_rect.width = 1;
-+ dst_rect.height = 1;
-+
-+ element = vc_dispmanx_element_add(update, display, 0/*layer*/, &dst_rect,
-+ 0/*src*/, &src_rect,
-+ DISPMANX_PROTECTION_NONE, &alpha,
-+ 0/*clamp*/, 0/*transform*/);
-+
-+ vc_dispmanx_update_submit_sync(update);
-+
-+ vc_dispmanx_display_close(display);
-+
-+ return element;
- }
-+#endif
-
- uint32_t platform_get_handle(EGLDisplay dpy, EGLNativeWindowType win)
- {
-- EGL_DISPMANX_WINDOW_T *dwin = check_default(win);
-- vcos_assert(dwin);
-- vcos_assert(dwin->width < 1<<16); // sanity check
-- vcos_assert(dwin->height < 1<<16); // sanity check
-- return dwin->element;
-+#ifdef BUILD_WAYLAND
-+ if(khrn_platform_get_wl_display()) {
-+ struct wl_egl_window *wl_egl_window = (struct wl_egl_window*)win;
-+
-+ if (wl_egl_window->dummy_element == PLATFORM_WIN_NONE)
-+ wl_egl_window->dummy_element = create_dummy_element();
-+
-+ return wl_egl_window->dummy_element;
-+ } else {
-+#endif
-+ EGL_DISPMANX_WINDOW_T *dwin = check_default(win);
-+ vcos_assert(dwin);
-+ vcos_assert(dwin->width < 1<<16); // sanity check
-+ vcos_assert(dwin->height < 1<<16); // sanity check
-+ return dwin->element;
-+#ifdef BUILD_WAYLAND
-+ }
-+#endif
- }
-
- #endif
-Index: git/interface/khronos/common/linux/khrn_wayland.c
-===================================================================
---- /dev/null
-+++ git/interface/khronos/common/linux/khrn_wayland.c
-@@ -0,0 +1,215 @@
-+/*
-+Copyright (c) 2013, Raspberry Pi Foundation
-+All rights reserved.
-+
-+Redistribution and use in source and binary forms, with or without
-+modification, are permitted provided that the following conditions are met:
-+ * Redistributions of source code must retain the above copyright
-+ notice, this list of conditions and the following disclaimer.
-+ * Redistributions in binary form must reproduce the above copyright
-+ notice, this list of conditions and the following disclaimer in the
-+ documentation and/or other materials provided with the distribution.
-+ * Neither the name of the copyright holder nor the
-+ names of its contributors may be used to endorse or promote products
-+ derived from this software without specific prior written permission.
-+
-+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
-+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+*/
-+
-+#define VCOS_LOG_CATEGORY (&khrn_client_log)
-+
-+#include "interface/khronos/common/linux/khrn_wayland.h"
-+#include "interface/khronos/wayland-dispmanx-client-protocol.h"
-+#include "interface/khronos/wayland-egl/wayland-egl-priv.h"
-+
-+extern VCOS_LOG_CAT_T khrn_client_log;
-+
-+static void handle_dispmanx_format(void *data, struct wl_dispmanx *dispmanx,
-+ uint32_t format)
-+{
-+}
-+
-+static void handle_dispmanx_allocated(void *data, struct wl_dispmanx *dispmanx,
-+ struct wl_buffer *wl_buffer,
-+ uint32_t resource_handle)
-+{
-+ struct wl_dispmanx_client_buffer *buffer = wl_buffer_get_user_data(wl_buffer);
-+
-+ buffer->pending_allocation = 0;
-+ buffer->resource = resource_handle;
-+}
-+
-+static const struct wl_dispmanx_listener dispmanx_listener = {
-+ handle_dispmanx_format,
-+ handle_dispmanx_allocated,
-+};
-+
-+static void
-+sync_callback(void *data, struct wl_callback *callback, uint32_t serial)
-+{
-+ int *done = data;
-+
-+ *done = 1;
-+
-+ wl_callback_destroy(callback);
-+}
-+
-+static const struct wl_callback_listener sync_listener = {
-+ sync_callback
-+};
-+
-+static int
-+roundtrip(CLIENT_PROCESS_STATE_T *process)
-+{
-+ struct wl_display *wl_display = khrn_platform_get_wl_display();
-+ struct wl_callback *callback;
-+ int done = 0, ret = 0;
-+
-+ callback = wl_display_sync(wl_display);
-+ wl_callback_add_listener(callback, &sync_listener, &done);
-+ wl_proxy_set_queue((struct wl_proxy *) callback, process->wl_queue);
-+ while (ret != -1 && !done)
-+ ret = wl_display_dispatch_queue(wl_display, process->wl_queue);
-+
-+ if (!done)
-+ wl_callback_destroy(callback);
-+
-+ return ret;
-+}
-+
-+int do_wl_roundtrip()
-+{
-+ CLIENT_PROCESS_STATE_T *process = CLIENT_GET_PROCESS_STATE();
-+ return roundtrip(process);
-+}
-+
-+static void
-+registry_handle_global(void *data, struct wl_registry *registry,
-+ uint32_t name, const char *interface, uint32_t version)
-+{
-+ struct wl_display *wl_display = khrn_platform_get_wl_display();
-+ CLIENT_PROCESS_STATE_T *process = (CLIENT_PROCESS_STATE_T *)data;
-+
-+ if (strcmp(interface, "wl_dispmanx") == 0) {
-+ process->wl_dispmanx = wl_registry_bind(registry, name,
-+ &wl_dispmanx_interface, 1);
-+
-+ wl_proxy_set_queue((struct wl_proxy *) process->wl_dispmanx,
-+ process->wl_queue);
-+ wl_dispmanx_add_listener(process->wl_dispmanx, &dispmanx_listener, wl_display);
-+ roundtrip(process);
-+ }
-+}
-+
-+static void
-+registry_handle_global_remove(void *data, struct wl_registry *registry,
-+ uint32_t name)
-+{
-+}
-+
-+static const struct wl_registry_listener registry_listener = {
-+ registry_handle_global,
-+ registry_handle_global_remove
-+};
-+
-+int
-+init_process_wayland(CLIENT_PROCESS_STATE_T *process)
-+{
-+ struct wl_display *wl_display = khrn_platform_get_wl_display();
-+
-+ process->wl_queue = wl_display_create_queue(wl_display);
-+ if (!process->wl_queue) {
-+ vcos_log_error("wl_display_create_queue failed\n");
-+ return false;
-+ }
-+ wl_display_dispatch_pending(wl_display);
-+
-+ process->wl_registry = wl_display_get_registry(wl_display);
-+ if (!process->wl_registry) {
-+ vcos_log_error("wl_display_get_registry failed\n");
-+ return false;
-+ }
-+
-+ wl_proxy_set_queue((struct wl_proxy *) process->wl_registry,
-+ process->wl_queue);
-+
-+ wl_registry_add_listener(process->wl_registry, &registry_listener, process);
-+
-+ if (roundtrip(process) < 0 || process->wl_dispmanx == NULL) {
-+ vcos_log_error("failed to get wl_dispmanx\n");
-+ return false;
-+ }
-+
-+ return true;
-+}
-+
-+#ifndef ALIGN_UP
-+#define ALIGN_UP(x,y) ((x + (y)-1) & ~((y)-1))
-+#endif
-+
-+static void handle_buffer_release(void *data, struct wl_buffer *buffer_wl)
-+{
-+ struct wl_dispmanx_client_buffer *wl_dispmanx_client_buffer = data;
-+ wl_dispmanx_client_buffer->in_use = 0;
-+}
-+
-+static const struct wl_buffer_listener buffer_listener = {
-+ handle_buffer_release
-+};
-+
-+struct wl_dispmanx_client_buffer *
-+allocate_wl_buffer(struct wl_egl_window *window, KHRN_IMAGE_FORMAT_T color)
-+{
-+ CLIENT_PROCESS_STATE_T *process = CLIENT_GET_PROCESS_STATE();
-+ struct wl_dispmanx_client_buffer *wl_dispmanx_client_buffer;
-+ struct wl_buffer *wl_buffer;
-+ uint32_t stride = ALIGN_UP(window->width * 4, 16);
-+ uint32_t buffer_height = ALIGN_UP(window->height, 16);
-+ enum wl_dispmanx_format color_format;
-+ int ret = 0;
-+
-+ switch (color) {
-+ case ABGR_8888:
-+ color_format = WL_DISPMANX_FORMAT_ABGR8888;
-+ break;
-+ case XBGR_8888:
-+ color_format = WL_DISPMANX_FORMAT_XBGR8888;
-+ break;
-+ case RGB_565:
-+ color_format = WL_DISPMANX_FORMAT_RGB565;
-+ break;
-+ default:
-+ vcos_log_error("unknown KHRN_IMAGE_FORMAT_T 0x%x\n", color);
-+ return NULL;
-+ }
-+
-+ wl_buffer = wl_dispmanx_create_buffer(process->wl_dispmanx, window->width,
-+ window->height, stride, buffer_height,
-+ color_format);
-+ if (wl_buffer == NULL)
-+ return NULL;
-+
-+ wl_dispmanx_client_buffer = calloc(1, sizeof(struct wl_dispmanx_client_buffer));
-+ wl_dispmanx_client_buffer->wl_buffer = wl_buffer;
-+ wl_dispmanx_client_buffer->in_use = 0;
-+ wl_dispmanx_client_buffer->pending_allocation = 1;
-+ wl_dispmanx_client_buffer->width = window->width;
-+ wl_dispmanx_client_buffer->height = window->height;
-+
-+ wl_proxy_set_queue((struct wl_proxy *) wl_buffer, process->wl_queue);
-+ wl_buffer_add_listener(wl_buffer, &buffer_listener, wl_dispmanx_client_buffer);
-+
-+ while (ret != -1 && wl_dispmanx_client_buffer->pending_allocation)
-+ ret = do_wl_roundtrip();
-+
-+ return wl_dispmanx_client_buffer;
-+}
-Index: git/interface/vmcs_host/vc_vchi_dispmanx.h
-===================================================================
---- git.orig/interface/vmcs_host/vc_vchi_dispmanx.h
-+++ git/interface/vmcs_host/vc_vchi_dispmanx.h
-@@ -66,4 +66,19 @@ typedef struct {
- #define ELEMENT_CHANGE_MASK_RESOURCE (1<<4)
- #define ELEMENT_CHANGE_TRANSFORM (1<<5)
-
-+#ifdef BUILD_WAYLAND
-+/* XXX: This should be in a private header that can be included from EGL and vc_* */
-+#include <wayland-server.h>
-+#include "interface/vmcs_host/wayland-dispmanx-server-protocol.h"
-+struct wl_dispmanx_server_buffer {
-+ struct wl_resource *resource;
-+ struct wl_dispmanx *dispmanx;
-+ enum wl_dispmanx_format format;
-+ DISPMANX_RESOURCE_HANDLE_T handle;
-+ int32_t width;
-+ int32_t height;
-+ int in_use;
-+};
-+#endif
-+
- #endif
-Index: git/interface/khronos/common/linux/khrn_wayland.h
-===================================================================
---- /dev/null
-+++ git/interface/khronos/common/linux/khrn_wayland.h
-@@ -0,0 +1,33 @@
-+/*
-+Copyright (c) 2013, Raspberry Pi Foundation
-+All rights reserved.
-+
-+Redistribution and use in source and binary forms, with or without
-+modification, are permitted provided that the following conditions are met:
-+ * Redistributions of source code must retain the above copyright
-+ notice, this list of conditions and the following disclaimer.
-+ * Redistributions in binary form must reproduce the above copyright
-+ notice, this list of conditions and the following disclaimer in the
-+ documentation and/or other materials provided with the distribution.
-+ * Neither the name of the copyright holder nor the
-+ names of its contributors may be used to endorse or promote products
-+ derived from this software without specific prior written permission.
-+
-+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
-+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+*/
-+
-+#include "interface/khronos/common/khrn_client.h"
-+
-+int init_process_wayland(CLIENT_PROCESS_STATE_T *process);
-+int do_wl_roundtrip();
-+
-+struct wl_dispmanx_client_buffer *allocate_wl_buffer(struct wl_egl_window *window, KHRN_IMAGE_FORMAT_T color);
-Index: git/interface/khronos/egl/egl_client.c
-===================================================================
---- git.orig/interface/khronos/egl/egl_client.c
-+++ git/interface/khronos/egl/egl_client.c
-@@ -153,6 +153,10 @@ by an attribute value"
- #include <stdlib.h>
- #include <string.h>
-
-+#ifdef BUILD_WAYLAND
-+#include "interface/khronos/wayland-egl/wayland-egl-priv.h"
-+#include "interface/khronos/common/linux/khrn_wayland.h"
-+#endif
-
- #include "interface/khronos/egl/egl_client_cr.c"
-
-@@ -162,17 +166,6 @@ static void egl_current_release(CLIENT_P
- void egl_gl_flush_callback(bool wait);
- void egl_vg_flush_callback(bool wait);
-
--#include "interface/vmcs_host/vc_dispmanx_types.h"
--/**HACKHACK - give us the ability to inject a DispmanX
-- * resource handle into the CreateWindowSurface and
-- * SwapBuffers calls */
--static DISPMANX_RESOURCE_HANDLE_T next_resource_handle;
--
--EGLAPI EGLBoolean EGLAPIENTRY eglSetNextResourceHandle(DISPMANX_RESOURCE_HANDLE_T handle)
--{
-- next_resource_handle = handle;
--}
--
- /*
- TODO: do an RPC call to make sure the Khronos vll is loaded (and that it stays loaded until eglTerminate)
- Also affects global image (and possibly others?)
-@@ -451,6 +444,9 @@ EGLAPI const char EGLAPIENTRY * eglQuery
- "EGL_KHR_fence_sync "
- #endif
- #endif
-+#if EGL_WL_bind_wayland_display
-+ "EGL_WL_bind_wayland_display "
-+#endif
- ;
- break;
- case EGL_VENDOR:
-@@ -655,8 +651,7 @@ EGLAPI EGLSurface EGLAPIENTRY eglCreateW
- false,
- EGL_NO_TEXTURE,
- EGL_NO_TEXTURE,
-- 0, 0,
-- next_resource_handle);
-+ 0, 0);
-
- if (surface) {
- if (khrn_pointer_map_insert(&process->surfaces, process->next_surface, surface)) {
-@@ -901,7 +896,7 @@ EGLAPI EGLSurface EGLAPIENTRY eglCreateP
- mipmap_texture,
- texture_format,
- texture_target,
-- 0, 0, 0);
-+ 0, 0);
-
- if (surface) {
- if (khrn_pointer_map_insert(&process->surfaces, process->next_surface, surface)) {
-@@ -1043,7 +1038,7 @@ EGLAPI EGLSurface EGLAPIENTRY eglCreateP
- false,
- EGL_NO_TEXTURE,
- EGL_NO_TEXTURE,
-- pixmap, ((server_handle[0] == 0) && (server_handle[1] == (uint32_t)(-1))) ? NULL : server_handle, 0);
-+ pixmap, ((server_handle[0] == 0) && (server_handle[1] == (uint32_t)(-1))) ? NULL : server_handle);
-
- if (surface) {
- if (khrn_pointer_map_insert(&process->surfaces, process->next_surface, surface)) {
-@@ -2245,6 +2240,9 @@ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuf
- CLIENT_THREAD_STATE_T *thread;
- CLIENT_PROCESS_STATE_T *process;
- EGLBoolean result;
-+#ifdef BUILD_WAYLAND
-+ struct wl_display *wl_display = khrn_platform_get_wl_display();
-+#endif
-
- vcos_log_trace("eglSwapBuffers start. dpy=%d. surf=%d.", (int)dpy, (int)surf);
-
-@@ -2315,18 +2313,58 @@ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuf
-
- vcos_log_trace("eglSwapBuffers server call");
-
-- if (next_resource_handle)
-- RPC_CALL7(eglIntSwapBuffers_impl,
-- thread,
-- EGLINTSWAPBUFFERS_ID_V2,
-- RPC_UINT(surface->serverbuffer),
-- RPC_UINT(surface->width),
-- RPC_UINT(surface->height),
-- RPC_UINT(surface->internal_handle),
-- RPC_UINT(surface->swap_behavior == EGL_BUFFER_PRESERVED ? 1 : 0),
-- RPC_UINT(khrn_platform_get_window_position(surface->win)),
-- RPC_INT(next_resource_handle));
-- else
-+#ifdef BUILD_WAYLAND
-+ if (wl_display) {
-+ struct wl_egl_window *wl_egl_window = surface->wl_egl_window;
-+ struct wl_dispmanx_client_buffer *buffer_temp;
-+ uint32_t configid;
-+ KHRN_IMAGE_FORMAT_T color;
-+ int ret = 0;
-+
-+ buffer_temp = surface->front_wl_buffer;
-+ surface->front_wl_buffer = surface->back_wl_buffer;
-+ surface->back_wl_buffer = buffer_temp;
-+
-+ configid = egl_config_to_id(surface->config);
-+ color = egl_config_get_color_format(configid);
-+
-+ if (surface->back_wl_buffer == NULL)
-+ surface->back_wl_buffer = allocate_wl_buffer(wl_egl_window, color);
-+ else if (surface->back_wl_buffer->width != width ||
-+ surface->back_wl_buffer->height != height) {
-+
-+ struct wl_dispmanx_client_buffer *buffer;
-+
-+ wl_buffer_destroy(surface->back_wl_buffer->wl_buffer);
-+ free(surface->back_wl_buffer);
-+
-+ buffer = allocate_wl_buffer(wl_egl_window, color);
-+ surface->back_wl_buffer = buffer;
-+ }
-+
-+ RPC_CALL7(eglIntSwapBuffers_impl,
-+ thread,
-+ EGLINTSWAPBUFFERS_ID_V2,
-+ RPC_UINT(surface->serverbuffer),
-+ RPC_UINT(surface->width),
-+ RPC_UINT(surface->height),
-+ RPC_UINT(surface->internal_handle),
-+ RPC_UINT(surface->swap_behavior == EGL_BUFFER_PRESERVED ? 1 : 0),
-+ RPC_UINT(khrn_platform_get_window_position(surface->win)),
-+ RPC_INT(surface->back_wl_buffer->resource));
-+
-+ surface->front_wl_buffer->in_use = 1;
-+ wl_surface_attach(wl_egl_window->wl_surface,
-+ surface->front_wl_buffer->wl_buffer,
-+ 0, 0);
-+ wl_surface_damage(wl_egl_window->wl_surface, 0, 0,
-+ surface->width, surface->height);
-+ wl_surface_commit(wl_egl_window->wl_surface);
-+
-+ while(ret != -1 && surface->back_wl_buffer->in_use)
-+ ret = wl_display_dispatch_queue(wl_display, process->wl_queue);
-+ } else
-+#endif
- RPC_CALL6(eglIntSwapBuffers_impl,
- thread,
- EGLINTSWAPBUFFERS_ID,
-Index: git/interface/khronos/egl/egl_client_get_proc.c
-===================================================================
---- git.orig/interface/khronos/egl/egl_client_get_proc.c
-+++ git/interface/khronos/egl/egl_client_get_proc.c
-@@ -254,6 +254,17 @@ EGLAPI void EGLAPIENTRY (* eglGetProcAdd
- return (void(*)(void))eglQueryGlobalImageBRCM;
- #endif
-
-+#ifdef BUILD_WAYLAND
-+#if EGL_WL_bind_wayland_display
-+ if (!strcmp(procname, "eglBindWaylandDisplayWL"))
-+ return (void(*)(void))eglBindWaylandDisplayWL;
-+ if (!strcmp(procname, "eglUnbindWaylandDisplayWL"))
-+ return (void(*)(void))eglUnbindWaylandDisplayWL;
-+ if (!strcmp(procname, "eglQueryWaylandBufferWL"))
-+ return (void(*)(void))eglQueryWaylandBufferWL;
-+#endif
-+#endif
-+
- return (void(*)(void)) NULL;
- }
-
-Index: git/interface/khronos/egl/egl_client_surface.c
-===================================================================
---- git.orig/interface/khronos/egl/egl_client_surface.c
-+++ git/interface/khronos/egl/egl_client_surface.c
-@@ -46,6 +46,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI
- #include "interface/khronos/egl/egl_int_impl.h"
- #endif
-
-+#ifdef BUILD_WAYLAND
-+#include "interface/khronos/wayland-egl/wayland-egl-priv.h"
-+#include "interface/khronos/common/linux/khrn_wayland.h"
-+#endif
-+
- #include <stdlib.h>
-
-
-@@ -314,8 +319,7 @@ EGL_SURFACE_T *egl_surface_create(
- EGLenum texture_format,
- EGLenum texture_target,
- EGLNativePixmapType pixmap,
-- const uint32_t *pixmap_server_handle,
-- DISPMANX_RESOURCE_HANDLE_T next_resource_handle)
-+ const uint32_t *pixmap_server_handle)
- {
- KHRN_IMAGE_FORMAT_T color;
- KHRN_IMAGE_FORMAT_T depth;
-@@ -326,6 +330,10 @@ EGL_SURFACE_T *egl_surface_create(
- EGLint config_depth_bits;
- EGLint config_stencil_bits;
- CLIENT_THREAD_STATE_T *thread = CLIENT_GET_THREAD_STATE();
-+#ifdef BUILD_WAYLAND
-+ struct wl_display *wl_display = khrn_platform_get_wl_display();
-+ DISPMANX_RESOURCE_HANDLE_T resource;
-+#endif
-
- EGL_SURFACE_T *surface = egl_surface_pool_alloc();
-
-@@ -390,6 +398,18 @@ EGL_SURFACE_T *egl_surface_create(
-
- vcos_assert(color != IMAGE_FORMAT_INVALID);
-
-+#ifdef BUILD_WAYLAND
-+ if (type == WINDOW && wl_display) {
-+ surface->wl_egl_window = (struct wl_egl_window*)win;
-+ surface->back_wl_buffer = allocate_wl_buffer(
-+ surface->wl_egl_window, color);
-+ resource = surface->back_wl_buffer->resource;
-+ } else {
-+ surface->wl_egl_window = NULL;
-+ resource = DISPMANX_NO_HANDLE;
-+ }
-+#endif
-+
- #ifdef KHRONOS_EGL_PLATFORM_OPENWFC
- // Create stream for this window
- if(type != PBUFFER)
-@@ -474,7 +494,8 @@ EGL_SURFACE_T *egl_surface_create(
- #endif
- uint32_t results[3];
-
-- if (next_resource_handle)
-+#ifdef BUILD_WAYLAND
-+ if (resource != DISPMANX_NO_HANDLE)
- RPC_CALL16_OUT_CTRL(eglIntCreateSurface_impl,
- thread,
- EGLINTCREATESURFACE_ID_V2,
-@@ -492,9 +513,10 @@ EGL_SURFACE_T *egl_surface_create(
- RPC_UINT(config_stencil_bits),
- RPC_UINT(sem_name),
- RPC_UINT(type),
-- RPC_INT(next_resource_handle),
-+ RPC_INT(resource),
- results);
- else
-+#endif
- RPC_CALL15_OUT_CTRL(eglIntCreateSurface_impl,
- thread,
- EGLINTCREATESURFACE_ID,
-@@ -663,6 +685,18 @@ void egl_surface_free(EGL_SURFACE_T *sur
- if( surface->type == WINDOW ) {
- vcos_log_trace("egl_surface_free: calling platform_destroy_winhandle...");
- platform_destroy_winhandle( surface->win, surface->internal_handle );
-+
-+#ifdef BUILD_WAYLAND
-+ if (surface->back_wl_buffer) {
-+ wl_buffer_destroy(surface->back_wl_buffer->wl_buffer);
-+ free(surface->back_wl_buffer);
-+ }
-+
-+ if (surface->front_wl_buffer) {
-+ wl_buffer_destroy(surface->front_wl_buffer->wl_buffer);
-+ free(surface->front_wl_buffer);
-+ }
-+#endif
- }
- /* return value ignored -- read performed to ensure blocking. we want this to
- * block so clients can safely destroy the surface's window as soon as the
-Index: git/interface/khronos/egl/egl_client_surface.h
-===================================================================
---- git.orig/interface/khronos/egl/egl_client_surface.h
-+++ git/interface/khronos/egl/egl_client_surface.h
-@@ -288,6 +288,41 @@ typedef struct {
- type == PIXMAP
- */
- bool server_owned;
-+
-+#ifdef BUILD_WAYLAND
-+ /*
-+ wl_egl_window
-+
-+ Validity:
-+ type == WINDOW
-+
-+ Invariant:
-+ wayland EGL window
-+ */
-+ struct wl_egl_window *wl_egl_window;
-+
-+ /*
-+ front_wl_buffer
-+
-+ Validity:
-+ type == WINDOW
-+
-+ Invariant:
-+ client-side information about the wl_buffer in the front
-+ */
-+ struct wl_dispmanx_client_buffer *front_wl_buffer;
-+
-+ /*
-+ back_wl_buffer
-+
-+ Validity:
-+ type == WINDOW
-+
-+ Invariant:
-+ client-side information about the wl_buffer in the back
-+ */
-+ struct wl_dispmanx_client_buffer *back_wl_buffer;
-+#endif
- } EGL_SURFACE_T;
-
- extern bool egl_surface_check_attribs(
-@@ -322,8 +357,7 @@ extern EGL_SURFACE_T *egl_surface_create
- EGLenum texture_format,
- EGLenum texture_target,
- EGLNativePixmapType pixmap,
-- const uint32_t *pixmap_server_handle,
-- DISPMANX_RESOURCE_HANDLE_T next_resource_handle);
-+ const uint32_t *pixmap_server_handle);
- extern EGL_SURFACE_T *egl_surface_from_vg_image(
- VGImage vg_handle,
- EGLSurface name,
-Index: git/interface/khronos/egl/egl_int_impl.h
-===================================================================
---- git.orig/interface/khronos/egl/egl_int_impl.h
-+++ git/interface/khronos/egl/egl_int_impl.h
-@@ -57,7 +57,7 @@ FN(int, eglIntCreateSurface_impl, (
- uint32_t sem,
- uint32_t type,
- uint32_t *results,
-- DISPMANX_RESOURCE_HANDLE_T next_resource_handle))
-+ DISPMANX_RESOURCE_HANDLE_T resource_handle))
-
- FN(int, eglIntCreatePbufferFromVGImage_impl, (
- VGImage vg_handle,
-Index: git/interface/khronos/ext/egl_wayland.c
-===================================================================
---- /dev/null
-+++ git/interface/khronos/ext/egl_wayland.c
-@@ -0,0 +1,246 @@
-+/*
-+Copyright (c) 2013, Raspberry Pi Foundation
-+All rights reserved.
-+
-+Redistribution and use in source and binary forms, with or without
-+modification, are permitted provided that the following conditions are met:
-+ * Redistributions of source code must retain the above copyright
-+ notice, this list of conditions and the following disclaimer.
-+ * Redistributions in binary form must reproduce the above copyright
-+ notice, this list of conditions and the following disclaimer in the
-+ documentation and/or other materials provided with the distribution.
-+ * Neither the name of the copyright holder nor the
-+ names of its contributors may be used to endorse or promote products
-+ derived from this software without specific prior written permission.
-+
-+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
-+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+*/
-+
-+#include "interface/khronos/common/khrn_client_mangle.h"
-+#include "interface/khronos/common/khrn_client_rpc.h"
-+
-+#include "interface/khronos/ext/egl_khr_sync_client.h"
-+#include "interface/khronos/include/EGL/egl.h"
-+#include "interface/khronos/include/EGL/eglext.h"
-+
-+#include "interface/vmcs_host/vc_vchi_dispmanx.h"
-+
-+#include <wayland-server.h>
-+#include "interface/khronos/wayland-dispmanx-server-protocol.h"
-+
-+static void
-+destroy_buffer(struct wl_resource *resource)
-+{
-+ struct wl_dispmanx_server_buffer *buffer = wl_resource_get_user_data(resource);
-+
-+ if(!buffer->in_use)
-+ vc_dispmanx_resource_delete(buffer->handle);
-+
-+ free(buffer);
-+}
-+
-+static void
-+buffer_destroy(struct wl_client *client, struct wl_resource *resource)
-+{
-+ wl_resource_destroy(resource);
-+}
-+
-+static const struct wl_buffer_interface dispmanx_buffer_interface = {
-+ buffer_destroy
-+};
-+
-+static VC_IMAGE_TYPE_T
-+get_vc_format(enum wl_dispmanx_format format)
-+{
-+ /* XXX: The app is likely to have been premultiplying in its shaders,
-+ * but the VC scanout hardware on the RPi cannot mix premultiplied alpha
-+ * channel with the element's alpha.
-+ */
-+ switch (format) {
-+ case WL_DISPMANX_FORMAT_ABGR8888:
-+ return VC_IMAGE_RGBA32;
-+ case WL_DISPMANX_FORMAT_XBGR8888:
-+ return VC_IMAGE_BGRX8888;
-+ case WL_DISPMANX_FORMAT_RGB565:
-+ return VC_IMAGE_RGB565;
-+ default:
-+ /* invalid format */
-+ return VC_IMAGE_MIN;
-+ }
-+}
-+
-+static void
-+dispmanx_create_buffer(struct wl_client *client, struct wl_resource *resource,
-+ uint32_t id, int32_t width, int32_t height,
-+ uint32_t stride, uint32_t buffer_height, uint32_t format)
-+{
-+ struct wl_dispmanx_server_buffer *buffer;
-+ VC_IMAGE_TYPE_T vc_format = get_vc_format(format);
-+ uint32_t dummy;
-+
-+ if(vc_format == VC_IMAGE_MIN) {
-+ wl_resource_post_error(resource,
-+ WL_DISPMANX_ERROR_INVALID_FORMAT,
-+ "invalid format");
-+ return;
-+ }
-+
-+ buffer = calloc(1, sizeof *buffer);
-+ if (buffer == NULL) {
-+ wl_resource_post_no_memory(resource);
-+ return;
-+ }
-+
-+ buffer->handle = vc_dispmanx_resource_create(vc_format,
-+ width | (stride << 16),
-+ height | (buffer_height << 16),
-+ &dummy);
-+ if(buffer->handle == DISPMANX_NO_HANDLE) {
-+ wl_resource_post_error(resource,
-+ WL_DISPMANX_ERROR_ALLOC_FAILED,
-+ "allocation failed");
-+ free(buffer);
-+ return;
-+ }
-+
-+ buffer->width = width;
-+ buffer->height = height;
-+ buffer->format = format;
-+
-+ buffer->resource = wl_resource_create(resource->client, &wl_buffer_interface,
-+ 1, id);
-+ if (!buffer->resource) {
-+ wl_resource_post_no_memory(resource);
-+ vc_dispmanx_resource_delete(buffer->handle);
-+ free(buffer);
-+ return;
-+ }
-+
-+ wl_resource_set_implementation(buffer->resource,
-+ (void (**)(void)) &dispmanx_buffer_interface,
-+ buffer, destroy_buffer);
-+
-+ wl_dispmanx_send_buffer_allocated(resource, buffer->resource,
-+ buffer->handle);
-+}
-+
-+static const struct wl_dispmanx_interface dispmanx_interface = {
-+ dispmanx_create_buffer,
-+};
-+
-+static void
-+bind_dispmanx(struct wl_client *client, void *data, uint32_t version, uint32_t id)
-+{
-+ struct wl_resource *resource;
-+
-+ resource = wl_resource_create(client, &wl_dispmanx_interface, 1, id);
-+ wl_resource_set_implementation(resource, &dispmanx_interface, NULL, NULL);
-+
-+ wl_resource_post_event(resource, WL_DISPMANX_FORMAT,
-+ WL_DISPMANX_FORMAT_ARGB8888);
-+
-+ wl_resource_post_event(resource, WL_DISPMANX_FORMAT,
-+ WL_DISPMANX_FORMAT_XRGB8888);
-+
-+ wl_resource_post_event(resource, WL_DISPMANX_FORMAT,
-+ WL_DISPMANX_FORMAT_ABGR8888);
-+
-+ wl_resource_post_event(resource, WL_DISPMANX_FORMAT,
-+ WL_DISPMANX_FORMAT_XBGR8888);
-+
-+ wl_resource_post_event(resource, WL_DISPMANX_FORMAT,
-+ WL_DISPMANX_FORMAT_RGB565);
-+}
-+
-+EGLBoolean EGLAPIENTRY
-+eglBindWaylandDisplayWL(EGLDisplay dpy, struct wl_display *display)
-+{
-+ CLIENT_THREAD_STATE_T *thread;
-+ CLIENT_PROCESS_STATE_T *process;
-+
-+ if (!CLIENT_LOCK_AND_GET_STATES(dpy, &thread, &process))
-+ return EGL_FALSE;
-+
-+ if (process->wl_global != NULL)
-+ goto error;
-+
-+ process->wl_global = wl_global_create(display, &wl_dispmanx_interface, 1,
-+ NULL, bind_dispmanx);
-+ if (process->wl_global == NULL)
-+ goto error;
-+
-+ return EGL_TRUE;
-+
-+error:
-+ CLIENT_UNLOCK();
-+ return EGL_FALSE;
-+}
-+
-+EGLBoolean EGLAPIENTRY
-+eglUnbindWaylandDisplayWL(EGLDisplay dpy, struct wl_display *display)
-+{
-+ CLIENT_THREAD_STATE_T *thread;
-+ CLIENT_PROCESS_STATE_T *process;
-+
-+ if (!CLIENT_LOCK_AND_GET_STATES(dpy, &thread, &process))
-+ return EGL_FALSE;
-+
-+ wl_global_destroy(process->wl_global);
-+ process->wl_global = NULL;
-+
-+ CLIENT_UNLOCK();
-+
-+ return EGL_TRUE;
-+}
-+
-+static int
-+get_egl_format(enum wl_dispmanx_format format)
-+{
-+ switch (format) {
-+ case WL_DISPMANX_FORMAT_ABGR8888:
-+ return EGL_TEXTURE_RGBA;
-+ case WL_DISPMANX_FORMAT_XBGR8888:
-+ return EGL_TEXTURE_RGB;
-+ case WL_DISPMANX_FORMAT_RGB565:
-+ return EGL_TEXTURE_RGB;
-+ default:
-+ /* invalid format */
-+ return EGL_NO_TEXTURE;
-+ }
-+}
-+
-+EGLBoolean EGLAPIENTRY
-+eglQueryWaylandBufferWL(EGLDisplay dpy, struct wl_resource *_buffer,
-+ EGLint attribute, EGLint *value)
-+{
-+ struct wl_dispmanx_server_buffer *buffer = wl_resource_get_user_data(_buffer);
-+
-+ if (wl_resource_instance_of(_buffer, &wl_dispmanx_interface,
-+ &dispmanx_buffer_interface))
-+ return EGL_FALSE;
-+
-+ switch (attribute) {
-+ case EGL_TEXTURE_FORMAT:
-+ *value = get_egl_format(buffer->format);
-+ if (*value == EGL_NO_TEXTURE)
-+ return EGL_FALSE;
-+ return EGL_TRUE;
-+ case EGL_WIDTH:
-+ *value = buffer->width;
-+ return EGL_TRUE;
-+ case EGL_HEIGHT:
-+ *value = buffer->height;
-+ return EGL_TRUE;
-+ }
-+
-+ return EGL_FALSE;
-+}
-Index: git/interface/khronos/include/EGL/eglext.h
-===================================================================
---- git.orig/interface/khronos/include/EGL/eglext.h
-+++ git/interface/khronos/include/EGL/eglext.h
-@@ -191,6 +191,29 @@ typedef EGLBoolean (EGLAPIENTRYP PFNEGLG
- #endif
-
-
-+#ifndef EGL_WL_bind_wayland_display
-+#define EGL_WL_bind_wayland_display 1
-+
-+#define EGL_WAYLAND_BUFFER_WL 0x31D5 /* eglCreateImageKHR target */
-+#define EGL_WAYLAND_PLANE_WL 0x31D6 /* eglCreateImageKHR target */
-+#define EGL_TEXTURE_Y_U_V_WL 0x31D7
-+#define EGL_TEXTURE_Y_UV_WL 0x31D8
-+#define EGL_TEXTURE_Y_XUXV_WL 0x31D9
-+
-+struct wl_display;
-+struct wl_resource;
-+#ifdef EGL_EGLEXT_PROTOTYPES
-+EGLAPI EGLBoolean EGLAPIENTRY eglBindWaylandDisplayWL(EGLDisplay dpy, struct wl_display *display);
-+EGLAPI EGLBoolean EGLAPIENTRY eglUnbindWaylandDisplayWL(EGLDisplay dpy, struct wl_display *display);
-+EGLAPI EGLBoolean EGLAPIENTRY eglQueryWaylandBufferWL(EGLDisplay dpy, struct wl_resource *buffer, EGLint attribute, EGLint *value);
-+#endif
-+typedef EGLBoolean (EGLAPIENTRYP PFNEGLBINDWAYLANDDISPLAYWL) (EGLDisplay dpy, struct wl_display *display);
-+typedef EGLBoolean (EGLAPIENTRYP PFNEGLUNBINDWAYLANDDISPLAYWL) (EGLDisplay dpy, struct wl_display *display);
-+typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYWAYLANDBUFFERWL) (EGLDisplay dpy, struct wl_resource *buffer, EGLint attribute, EGLint *value);
-+
-+#endif
-+
-+
- #ifdef __cplusplus
- }
- #endif
-Index: git/interface/khronos/wayland-egl/wayland-egl-priv.h
-===================================================================
---- /dev/null
-+++ git/interface/khronos/wayland-egl/wayland-egl-priv.h
-@@ -0,0 +1,53 @@
-+/* Copied from Mesa */
-+
-+#ifndef _WAYLAND_EGL_PRIV_H
-+#define _WAYLAND_EGL_PRIV_H
-+
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
-+
-+/* GCC visibility */
-+#if defined(__GNUC__) && __GNUC__ >= 4
-+#define WL_EGL_EXPORT __attribute__ ((visibility("default")))
-+#else
-+#define WL_EGL_EXPORT
-+#endif
-+
-+#include "interface/vmcs_host/vc_dispmanx.h"
-+#include "interface/khronos/egl/egl_client_surface.h"
-+
-+#include <wayland-client.h>
-+
-+struct wl_dispmanx_client_buffer {
-+ struct wl_buffer *wl_buffer;
-+ DISPMANX_RESOURCE_HANDLE_T resource;
-+
-+ int pending_allocation;
-+ int in_use;
-+ int width;
-+ int height;
-+};
-+
-+struct wl_egl_window {
-+ struct wl_surface *wl_surface;
-+
-+ int width;
-+ int height;
-+ int dx;
-+ int dy;
-+
-+ int attached_width;
-+ int attached_height;
-+
-+ /* XXX: The VC side seems to expect a valid element handle to be
-+ passed to eglIntCreateSurface_impl and/or eglIntSwapBuffers_impl,
-+ even for host-managed surfaces. */
-+ DISPMANX_ELEMENT_HANDLE_T dummy_element;
-+};
-+
-+#ifdef __cplusplus
-+}
-+#endif
-+
-+#endif
-Index: git/interface/khronos/wayland-egl/wayland-egl.c
-===================================================================
---- /dev/null
-+++ git/interface/khronos/wayland-egl/wayland-egl.c
-@@ -0,0 +1,59 @@
-+/* Copied from Mesa */
-+
-+#include <stdlib.h>
-+
-+#include <wayland-client.h>
-+#include <wayland-egl.h>
-+#include "wayland-egl-priv.h"
-+
-+WL_EGL_EXPORT void
-+wl_egl_window_resize(struct wl_egl_window *egl_window,
-+ int width, int height,
-+ int dx, int dy)
-+{
-+ if (egl_window->width == width &&
-+ egl_window->height == height &&
-+ egl_window->dx == dx &&
-+ egl_window->dy == dy)
-+ return;
-+
-+ egl_window->width = width;
-+ egl_window->height = height;
-+ egl_window->dx = dx;
-+ egl_window->dy = dy;
-+}
-+
-+WL_EGL_EXPORT struct wl_egl_window *
-+wl_egl_window_create(struct wl_surface *surface,
-+ int width, int height)
-+{
-+ struct wl_egl_window *egl_window;
-+
-+ egl_window = calloc(1, sizeof *egl_window);
-+ if (!egl_window)
-+ return NULL;
-+
-+ egl_window->wl_surface = surface;
-+ wl_egl_window_resize(egl_window, width, height, 0, 0);
-+ egl_window->attached_width = 0;
-+ egl_window->attached_height = 0;
-+ egl_window->dummy_element = PLATFORM_WIN_NONE;
-+
-+ return egl_window;
-+}
-+
-+WL_EGL_EXPORT void
-+wl_egl_window_destroy(struct wl_egl_window *egl_window)
-+{
-+ free(egl_window);
-+}
-+
-+WL_EGL_EXPORT void
-+wl_egl_window_get_attached_size(struct wl_egl_window *egl_window,
-+ int *width, int *height)
-+{
-+ if (width)
-+ *width = egl_window->attached_width;
-+ if (height)
-+ *height = egl_window->attached_height;
-+}
-Index: git/interface/khronos/wayland-egl/wayland-egl.pc.in
-===================================================================
---- /dev/null
-+++ git/interface/khronos/wayland-egl/wayland-egl.pc.in
-@@ -0,0 +1,10 @@
-+prefix=@CMAKE_INSTALL_PREFIX@
-+exec_prefix=${prefix}
-+libdir=${exec_prefix}/lib
-+includedir=${prefix}/include
-+
-+Name: wayland-egl
-+Description: VideoCore wayland-egl library
-+Version: @PROJECT_APIVER@
-+Libs: -L${libdir} -lwayland-egl
-+Cflags: -I${includedir}
-Index: git/interface/vmcs_host/CMakeLists.txt
-===================================================================
---- git.orig/interface/vmcs_host/CMakeLists.txt
-+++ git/interface/vmcs_host/CMakeLists.txt
-@@ -9,13 +9,24 @@ add_definitions(-fno-strict-aliasing)
-
- include_directories(${VMCS_TARGET}/vcfiled)
-
--add_library(vchostif
-- ${VMCS_TARGET}/vcfilesys.c ${VMCS_TARGET}/vcmisc.c
-- vc_vchi_gencmd.c vc_vchi_filesys.c vc_vchi_gpuserv.c
-- vc_vchi_tvservice.c vc_vchi_cecservice.c
-- vc_vchi_dispmanx.c vc_service_common.c)
-+set(VCHOSTIF_SOURCE
-+ ${VMCS_TARGET}/vcfilesys.c ${VMCS_TARGET}/vcmisc.c
-+ vc_vchi_gencmd.c vc_vchi_filesys.c vc_vchi_gpuserv.c
-+ vc_vchi_tvservice.c vc_vchi_cecservice.c
-+ vc_vchi_dispmanx.c vc_service_common.c)
- # ${VMCS_TARGET}/vmcs_main.c
- # vc_vchi_haud.c
-+
-+if (BUILD_WAYLAND)
-+wayland_add_protocol_server(
-+ VCHOSTIF_SOURCE
-+ ../../interface/wayland/dispmanx.xml
-+ dispmanx
-+)
-+endif ()
-+
-+add_library(vchostif ${VCHOSTIF_SOURCE})
-+
- #add_library(bufman vc_vchi_bufman.c )
-
- # OpenMAX/IL component service
-Index: git/interface/vmcs_host/vc_dispmanx.h
-===================================================================
---- git.orig/interface/vmcs_host/vc_dispmanx.h
-+++ git/interface/vmcs_host/vc_dispmanx.h
-@@ -39,6 +39,11 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBI
- #ifdef __cplusplus
- extern "C" {
- #endif
-+
-+#ifdef BUILD_WAYLAND
-+struct wl_resource;
-+#endif
-+
- // Same function as above, to aid migration of code.
- VCHPRE_ int VCHPOST_ vc_dispman_init( void );
- // Stop the service from being used
-@@ -135,6 +140,11 @@ VCHPRE_ int VCHPOST_ vc_dispmanx_resourc
- // Start triggering callbacks synced to vsync
- VCHPRE_ int VCHPOST_ vc_dispmanx_vsync_callback( DISPMANX_DISPLAY_HANDLE_T display, DISPMANX_CALLBACK_FUNC_T cb_func, void *cb_arg );
-
-+#ifdef BUILD_WAYLAND
-+VCHPRE_ DISPMANX_RESOURCE_HANDLE_T VCHPOST_ vc_dispmanx_get_handle_from_wl_buffer( struct wl_resource *_buffer );
-+
-+VCHPRE_ void VCHPOST_ vc_dispmanx_set_wl_buffer_in_use( struct wl_resource *_buffer, int in_use );
-+#endif
- #ifdef __cplusplus
- }
- #endif
-Index: git/interface/vmcs_host/vc_vchi_dispmanx.c
-===================================================================
---- git.orig/interface/vmcs_host/vc_vchi_dispmanx.c
-+++ git/interface/vmcs_host/vc_vchi_dispmanx.c
-@@ -1319,3 +1319,45 @@ static void *dispmanx_notify_func( void
- }
- return 0;
- }
-+
-+
-+#ifdef BUILD_WAYLAND
-+/***********************************************************
-+ * Name: vc_dispmanx_get_handle_from_wl_buffer
-+ *
-+ * Arguments:
-+ * struct wl_resource *_buffer
-+ *
-+ * Description: Return the handle of the resource associated to this Wayland buffer
-+ *
-+ * Returns: A resource handle
-+ *
-+ ***********************************************************/
-+VCHPRE_ DISPMANX_RESOURCE_HANDLE_T VCHPOST_ vc_dispmanx_get_handle_from_wl_buffer( struct wl_resource *_buffer )
-+{
-+ struct wl_dispmanx_server_buffer *buffer = (struct wl_dispmanx_server_buffer*)_buffer->data;
-+ if (!buffer)
-+ return DISPMANX_NO_HANDLE;
-+
-+ return buffer->handle;
-+}
-+
-+/***********************************************************
-+ * Name: vc_dispmanx_set_wl_buffer_in_use
-+ *
-+ * Arguments:
-+ * struct wl_resource *_buffer
-+ * int in_use
-+ *
-+ * Description: Mark this Wayland buffer as being in use by the compositor
-+ *
-+ ***********************************************************/
-+VCHPRE_ void VCHPOST_ vc_dispmanx_set_wl_buffer_in_use( struct wl_resource *_buffer, int in_use )
-+{
-+ struct wl_dispmanx_server_buffer *buffer = (struct wl_dispmanx_server_buffer*)_buffer->data;
-+ if (!buffer)
-+ return;
-+
-+ buffer->in_use = in_use;
-+}
-+#endif
-Index: git/interface/wayland/dispmanx.xml
-===================================================================
---- /dev/null
-+++ git/interface/wayland/dispmanx.xml
-@@ -0,0 +1,123 @@
-+<?xml version="1.0" encoding="UTF-8"?>
-+<protocol name="dispmanx">
-+
-+ <copyright>
-+ Copyright © 2008-2011 Kristian Høgsberg
-+ Copyright © 2010-2011 Intel Corporation
-+ Copyright © 2013 Raspberry Pi Foundation
-+
-+ Permission to use, copy, modify, distribute, and sell this
-+ software and its documentation for any purpose is hereby granted
-+ without fee, provided that\n the above copyright notice appear in
-+ all copies and that both that copyright notice and this permission
-+ notice appear in supporting documentation, and that the name of
-+ the copyright holders not be used in advertising or publicity
-+ pertaining to distribution of the software without specific,
-+ written prior permission. The copyright holders make no
-+ representations about the suitability of this software for any
-+ purpose. It is provided "as is" without express or implied
-+ warranty.
-+
-+ THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS
-+ SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
-+ FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY
-+ SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
-+ AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
-+ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF
-+ THIS SOFTWARE.
-+ </copyright>
-+
-+ <!-- DispManX support. This object is created by the server and published
-+ using the display's global event. -->
-+ <interface name="wl_dispmanx" version="1">
-+ <enum name="error">
-+ <entry name="alloc_failed" value="0"/>
-+ <entry name="invalid_format" value="1"/>
-+ </enum>
-+
-+ <enum name="format">
-+ <!-- The pixel format codes match the #defines in drm_fourcc.h.
-+ The formats actually supported by the compositor will be
-+ reported by the format event. -->
-+ <entry name="c8" value="0x20203843"/>
-+ <entry name="rgb332" value="0x38424752"/>
-+ <entry name="bgr233" value="0x38524742"/>
-+ <entry name="xrgb4444" value="0x32315258"/>
-+ <entry name="xbgr4444" value="0x32314258"/>
-+ <entry name="rgbx4444" value="0x32315852"/>
-+ <entry name="bgrx4444" value="0x32315842"/>
-+ <entry name="argb4444" value="0x32315241"/>
-+ <entry name="abgr4444" value="0x32314241"/>
-+ <entry name="rgba4444" value="0x32314152"/>
-+ <entry name="bgra4444" value="0x32314142"/>
-+ <entry name="xrgb1555" value="0x35315258"/>
-+ <entry name="xbgr1555" value="0x35314258"/>
-+ <entry name="rgbx5551" value="0x35315852"/>
-+ <entry name="bgrx5551" value="0x35315842"/>
-+ <entry name="argb1555" value="0x35315241"/>
-+ <entry name="abgr1555" value="0x35314241"/>
-+ <entry name="rgba5551" value="0x35314152"/>
-+ <entry name="bgra5551" value="0x35314142"/>
-+ <entry name="rgb565" value="0x36314752"/>
-+ <entry name="bgr565" value="0x36314742"/>
-+ <entry name="rgb888" value="0x34324752"/>
-+ <entry name="bgr888" value="0x34324742"/>
-+ <entry name="xrgb8888" value="0x34325258"/>
-+ <entry name="xbgr8888" value="0x34324258"/>
-+ <entry name="rgbx8888" value="0x34325852"/>
-+ <entry name="bgrx8888" value="0x34325842"/>
-+ <entry name="argb8888" value="0x34325241"/>
-+ <entry name="abgr8888" value="0x34324241"/>
-+ <entry name="rgba8888" value="0x34324152"/>
-+ <entry name="bgra8888" value="0x34324142"/>
-+ <entry name="xrgb2101010" value="0x30335258"/>
-+ <entry name="xbgr2101010" value="0x30334258"/>
-+ <entry name="rgbx1010102" value="0x30335852"/>
-+ <entry name="bgrx1010102" value="0x30335842"/>
-+ <entry name="argb2101010" value="0x30335241"/>
-+ <entry name="abgr2101010" value="0x30334241"/>
-+ <entry name="rgba1010102" value="0x30334152"/>
-+ <entry name="bgra1010102" value="0x30334142"/>
-+ <entry name="yuyv" value="0x56595559"/>
-+ <entry name="yvyu" value="0x55595659"/>
-+ <entry name="uyvy" value="0x59565955"/>
-+ <entry name="vyuy" value="0x59555956"/>
-+ <entry name="ayuv" value="0x56555941"/>
-+ <entry name="nv12" value="0x3231564e"/>
-+ <entry name="nv21" value="0x3132564e"/>
-+ <entry name="nv16" value="0x3631564e"/>
-+ <entry name="nv61" value="0x3136564e"/>
-+ <entry name="yuv410" value="0x39565559"/>
-+ <entry name="yvu410" value="0x39555659"/>
-+ <entry name="yuv411" value="0x31315559"/>
-+ <entry name="yvu411" value="0x31315659"/>
-+ <entry name="yuv420" value="0x32315559"/>
-+ <entry name="yvu420" value="0x32315659"/>
-+ <entry name="yuv422" value="0x36315559"/>
-+ <entry name="yvu422" value="0x36315659"/>
-+ <entry name="yuv444" value="0x34325559"/>
-+ <entry name="yvu444" value="0x34325659"/>
-+ </enum>
-+
-+ <event name="format">
-+ <arg name="format" type="uint"/>
-+ </event>
-+
-+ <!-- Create a wayland buffer for the DispManX resource. -->
-+ <request name="create_buffer">
-+ <arg name="id" type="new_id" interface="wl_buffer"/>
-+ <arg name="width" type="int"/>
-+ <arg name="height" type="int"/>
-+ <arg name="stride" type="uint"/>
-+ <arg name="buffer_height" type="uint"/>
-+ <arg name="format" type="uint"/>
-+ </request>
-+
-+ <event name="buffer_allocated">
-+ <arg name="buffer" type="object" interface="wl_buffer"/>
-+ <arg name="handle" type="uint"/>
-+ </event>
-+ </interface>
-+
-+</protocol>
-Index: git/makefiles/cmake/Wayland.cmake
-===================================================================
---- /dev/null
-+++ git/makefiles/cmake/Wayland.cmake
-@@ -0,0 +1,72 @@
-+#=============================================================================
-+# Copyright (C) 2012-2013 Pier Luigi Fiorini <pierluigi.fiorini@gmail.com>
-+# All rights reserved.
-+#
-+# Redistribution and use in source and binary forms, with or without
-+# modification, are permitted provided that the following conditions
-+# are met:
-+#
-+# * Redistributions of source code must retain the above copyright
-+# notice, this list of conditions and the following disclaimer.
-+#
-+# * Redistributions in binary form must reproduce the above copyright
-+# notice, this list of conditions and the following disclaimer in the
-+# documentation and/or other materials provided with the distribution.
-+#
-+# * Neither the name of Pier Luigi Fiorini nor the names of his
-+# contributors may be used to endorse or promote products derived
-+# from this software without specific prior written permission.
-+#
-+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-+# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+#=============================================================================
-+
-+find_program(WAYLAND_SCANNER_EXECUTABLE NAMES wayland-scanner)
-+
-+# wayland_add_protocol_client(outfiles inputfile basename)
-+function(WAYLAND_ADD_PROTOCOL_CLIENT _sources _protocol _basename)
-+ if(NOT WAYLAND_SCANNER_EXECUTABLE)
-+ message(FATAL "The wayland-scanner executable has nto been found on your system. You must install it.")
-+ endif()
-+
-+ get_filename_component(_infile ${_protocol} ABSOLUTE)
-+ set(_client_header "${CMAKE_CURRENT_BINARY_DIR}/wayland-${_basename}-client-protocol.h")
-+ set(_code "${CMAKE_CURRENT_BINARY_DIR}/wayland-${_basename}-protocol.c")
-+
-+ add_custom_command(OUTPUT "${_client_header}"
-+ COMMAND ${WAYLAND_SCANNER_EXECUTABLE} client-header < ${_infile} > ${_client_header}
-+ DEPENDS ${_infile} VERBATIM)
-+
-+ add_custom_command(OUTPUT "${_code}"
-+ COMMAND ${WAYLAND_SCANNER_EXECUTABLE} code < ${_infile} > ${_code}
-+ DEPENDS ${_infile} VERBATIM)
-+
-+ list(APPEND ${_sources} "${_client_header}" "${_code}")
-+ set(${_sources} ${${_sources}} PARENT_SCOPE)
-+endfunction()
-+
-+# wayland_add_protocol_server(outfiles inputfile basename)
-+function(WAYLAND_ADD_PROTOCOL_SERVER _sources _protocol _basename)
-+ if(NOT WAYLAND_SCANNER_EXECUTABLE)
-+ message(FATAL "The wayland-scanner executable has nto been found on your system. You must install it.")
-+ endif()
-+
-+ get_filename_component(_infile ${_protocol} ABSOLUTE)
-+ set(_server_header "${CMAKE_CURRENT_BINARY_DIR}/wayland-${_basename}-server-protocol.h")
-+
-+ add_custom_command(OUTPUT "${_server_header}"
-+ COMMAND ${WAYLAND_SCANNER_EXECUTABLE} server-header < ${_infile} > ${_server_header}
-+ DEPENDS ${_infile} VERBATIM)
-+
-+ list(APPEND ${_sources} "${_server_header}")
-+ set(${_sources} ${${_sources}} PARENT_SCOPE)
-+endfunction()
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0003-wayland-Add-Wayland-example.patch b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0003-wayland-Add-Wayland-example.patch
deleted file mode 100644
index e3a0cf277..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0003-wayland-Add-Wayland-example.patch
+++ /dev/null
@@ -1,866 +0,0 @@
-From 20ac7c6af4e826b5c536b6a7c8b2d1d266ced81e Mon Sep 17 00:00:00 2001
-From: Tomeu Vizoso <tomeu.vizoso@collabora.com>
-Date: Tue, 1 Oct 2013 13:19:20 +0200
-Subject: [PATCH 03/16] wayland: Add Wayland example
-
----
- .../linux/apps/hello_pi/CMakeLists.txt | 1 +
- .../apps/hello_pi/hello_wayland/CMakeLists.txt | 8 +
- .../apps/hello_pi/hello_wayland/Djenne_128_128.raw | 3 +
- .../linux/apps/hello_pi/hello_wayland/Makefile | 5 +
- .../hello_wayland/cube_texture_and_coords.h | 100 ++++
- .../linux/apps/hello_pi/hello_wayland/triangle.c | 666 +++++++++++++++++++++
- host_applications/linux/apps/hello_pi/rebuild.sh | 3 +-
- 7 files changed, 785 insertions(+), 1 deletion(-)
- create mode 100644 host_applications/linux/apps/hello_pi/hello_wayland/CMakeLists.txt
- create mode 100644 host_applications/linux/apps/hello_pi/hello_wayland/Djenne_128_128.raw
- create mode 100644 host_applications/linux/apps/hello_pi/hello_wayland/Makefile
- create mode 100644 host_applications/linux/apps/hello_pi/hello_wayland/cube_texture_and_coords.h
- create mode 100644 host_applications/linux/apps/hello_pi/hello_wayland/triangle.c
-
-diff --git a/host_applications/linux/apps/hello_pi/CMakeLists.txt b/host_applications/linux/apps/hello_pi/CMakeLists.txt
-index f2c6aef..0df78f7 100644
---- a/host_applications/linux/apps/hello_pi/CMakeLists.txt
-+++ b/host_applications/linux/apps/hello_pi/CMakeLists.txt
-@@ -21,6 +21,7 @@ add_subdirectory(hello_encode)
- add_subdirectory(hello_jpeg)
- add_subdirectory(hello_videocube)
- add_subdirectory(hello_teapot)
-+add_subdirectory(hello_wayland)
-
- if(BUILD_FONT)
- set(VGFONT_SRCS libs/vgfont/font.c libs/vgfont/vgft.c libs/vgfont/graphics.c)
-diff --git a/host_applications/linux/apps/hello_pi/hello_wayland/CMakeLists.txt b/host_applications/linux/apps/hello_pi/hello_wayland/CMakeLists.txt
-new file mode 100644
-index 0000000..9a2f75c
---- /dev/null
-+++ b/host_applications/linux/apps/hello_pi/hello_wayland/CMakeLists.txt
-@@ -0,0 +1,8 @@
-+set(EXEC hello_wayland.bin)
-+set(SRCS triangle.c)
-+
-+add_executable(${EXEC} ${SRCS})
-+target_link_libraries(${EXEC} ${HELLO_PI_LIBS} -lwayland-client -lwayland-egl)
-+
-+install(TARGETS ${EXEC}
-+ RUNTIME DESTINATION bin)
-diff --git a/host_applications/linux/apps/hello_pi/hello_wayland/Djenne_128_128.raw b/host_applications/linux/apps/hello_pi/hello_wayland/Djenne_128_128.raw
-new file mode 100644
-index 0000000..de9173c
---- /dev/null
-+++ b/host_applications/linux/apps/hello_pi/hello_wayland/Djenne_128_128.raw
-@@ -0,0 +1,3 @@
-+öÖż÷×Ŕ÷×ŔřŘÁúÚĂúÚĂúÚĂúÚĂůŮÂůŮÂůŮÂůŮÂůŮÂůŮÂůŮÂůŮÂűŮÂűŮÂűŮÂűŮÂúŘÁúŘÁúŘÁúŘÁřÖżů×Ŕů×ŔúŘÁúŘÁúŘÁúŘÁúŘÁů×Ŕů×Ŕů×Ŕů×Ŕ÷ŐľřÖżů×Ŕů×Ŕ÷Őľ÷Őľ÷Őľ÷Őľ÷Őľ÷Őľ÷Őľ÷Őľ÷Őľ÷ŐľöÔ˝öÔ˝÷Őľ÷Őľ÷Őľ÷ŐľőÓĽöÔ˝öÔ˝őÓĽôŇ»ôŇ»ôŇ»ôŇ»őĐşőĐşőĐşőĐşőĐşőĐşőĐşőĐşôиőŃąôиôиňζóĎ·óĎ·őŃąń͵óĎ·óĎ·ń͵ňζń͵ń͵ń͵ń͵ń͵đĚ´đĚ´đĚ´ďËłďËłďËłî˱î˱î˱î˱î˱î˱î˱íʰďʰďʰîÉŻîÉŻíČ®ěÇ­ěÇ­ěÇ­ëƬëƬëƬęĹ«ęĹ«ęĹ«ëƬëƬčĂ©éÄŞéÄŞčĂ©čĂ©čĂ©čĂ©ç¨ůŮÂúÚĂúÚĂűŰÄüÜĹüÜĹüÜĹüÜĹűŰÄűŰÄűŰÄűŰÄűŰÄűŰÄűŰÄűŰÄýŰÄýŰÄýŰÄýŰÄýŰÄýŰÄýŰÄýŰÄüÚĂüÚĂüÚĂüÚĂüÚĂüÚĂüÚĂüÚĂüÚĂüÚĂüÚĂüÚĂűŮÂűŮÂűŮÂűŮÂúŘÁúŘÁúŘÁúŘÁů×Ŕů×Ŕů×Ŕů×ŔúŘÁů×Ŕů×Ŕů×ŔřÖżřÖżřÖżřÖżřÖżřÖżřÖż÷Őľ÷Őľ÷Őľ÷Őľ÷ŐľřÓ˝řÓ˝řÓ˝řÓ˝÷ŇĽ÷ŇĽ÷ŇĽ÷ŇĽöÓş÷Ó»÷Ó»÷Ó»őŃąöŇşöŇşöŇşôиőŃąőŃąôиôиôиôиóĎ·ôиóĎ·óĎ·óĎ·óĎ·ňζňζňζńδńδńδńδńδńδđÍłđÍłňÍłń̲ń̲ń̲đ˱ďʰďʰďʰîÉŻîÉŻîÉŻíČ®îÉŻíČ®íČ®ěÇ­ěÇ­íČ®íČ®ěÇ­ëƬëƬęĹ«ęĹ«űŰÄűŰÄűŰÄűŰÄüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹűŰÄűŰÄűŰÄűŰÄýŰÄýŰÄüÚĂüÚĂüÚĂüÚĂüÚĂüÚĂüÚĂüÚĂüÚĂüÚĂüÚĂüÚĂűŮÂúŘÁűŮÂűŮÂűŮÂűŮÂúŘÁúŘÁúŘÁúŘÁúŘÁúŘÁů×Ŕů×ŔřÖżřÖżřÖżřÖżřÖżů×ŔřÖż÷Őľ÷Őľ÷Őľ÷Őľ÷ŐľřÓ˝řÓ˝řÓ˝řÓ˝÷ŇĽ÷ŇĽ÷ŇĽ÷ŇĽöÓş÷Ó»÷Ó»öŇşöŇşöŇşöŇşöŇşőŃąőŃąőŃąőŃąőŃąőŃąôиôиôиôиôиóĎ·óĎ·óĎ·ňζňζńδńδńδńδńδńδđÍłđÍłňÍłń̲ń̲ń̲đ˱đ˱ďʰďʰďʰîÉŻîÉŻîÉŻďʰîÉŻíČ®ěÇ­ěÇ­ěÇ­ěÇ­ëƬěÇ­ëƬëƬëƬüÜĹüÜĹüÜĹüÜĹýÝĆýÝĆýÝĆýÝĆüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹűŰÄűŰÄűŰÄűŰÄüÚĂýŰÄýŰÄýŰÄüÚĂüÚĂüÚĂüÚĂüÚĂüÚĂüÚĂüÚĂűŮÂűŮÂűŮÂűŮÂűŮÂűŮÂűŮÂűŮÂúŘÁúŘÁúŘÁúŘÁúŘÁúŘÁů×Ŕů×Ŕů×Ŕů×Ŕů×Ŕů×ŔřÖżů×ŔřÖż÷Őľ÷Őľ÷Őľ÷Őľ÷ŐľřÓ˝řÓ˝řÓ˝řÓ˝÷ŇĽ÷ŇĽ÷ŇĽ÷ŇĽöÓş÷Ó»÷Ó»öŇş÷Ó»÷Ó»öŇşöŇşőŃąôиőŃąöŇşőŃąőŃąôиôиőŃąôиôиôиóĎ·óĎ·óĎ·ňζňϵňϵňϵňϵńδńδđÍłđÍłňÍłń̲ń̲ń̲đ˱đ˱đ˱ďʰďʰďʰîÉŻîÉŻîÉŻîÉŻîÉŻîÉŻíČ®îÉŻîÉŻíČ®ěÇ­ěÇ­ëƬëƬűÜĹüÝĆýŢÇüÝĆüÝĆüÝĆüÝĆüÝĆűÜĹűÜĹűÜĹűÜĹűÜĹűÜĹűÜĹűÜĹűŰÄűŰÄűŰÄűŰÄüÜĹüÜĹüÜĹüÜĹűŰÄűŰÄűŰÄűŰÄúÚĂűŰÄűŰÄűŰÄýŰĂýŰĂýŰĂýŰĂüÚÂüÚÂüÚÂüÚÂüÚĂüÚĂüÚĂüÚĂűŮÂűŮÂűŮÂűŮÂúŘŔúŘŔúŘŔů׿÷Ő˝úŘŔúŘŔů׿řÖżřÖżřÖż÷Őľ÷Őľů×Ŕů×ŔöÔľřÔĽřÔĽůŐ˝úÖľőŃąřÔĽůŐ˝ůŐ˝÷Ó»÷Ó»÷Ó»÷Ó»öŇşöŇşöŇşöŇşőŃąőŃąőŃąőŃąőŃąőŃąőŃąőŃąőŃąőŃąőŃąőŃąôиôиóĎ·óĎ·óжňϵňϵňϵńδńδđÍłđÍłń̲ń̲ń̲ń̲ń̲ń̲đ˱đ˱đ˱đ˱đ˱ďʰďʰîÉŻîÉŻîÉŻďʰîÉŻîÉŻîÉŻěÇ­ěÇ­ěÇ­ëƬűÜĹüÝĆýŢÇýŢÇüÝĆüÝĆüÝĆüÝĆűÜĹűÜĹűÜĹűÜĹűÜĹűÜĹűÜĹűÜĹüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹűŰÄűŰÄüÜĹűŰÄýŰĂýŰĂýŰĂýŰĂýŰĂýŰĂýŰĂýŰĂýŰÄýŰÄýŰÄýŰÄüÚĂüÚĂüÚĂüÚĂüÚÂüÚÂüÚÂűŮÁúŘŔúŘŔúŘŔů׿ů×Ŕů×Ŕů×ŔřÖżů×Ŕů×Ŕů×Ŕ÷ŐżúÖľúÖľű׿ű׿řÔĽůŐ˝ůŐ˝řÔĽůŐ˝ůŐ˝ůŐ˝ůŐ˝řÔĽřÔĽřÔĽřÔĽ÷Ó»÷Ó»÷Ó»÷Ó»÷Ó»÷Ó»÷Ó»÷Ó»őŃąőŃąőŃąőŃąőŃąôиôиôиóжóжóжňϵóжóжňϵňϵóδóδóδóδňÍłń̲ń̲ń̲ń̲ń̲đ˱đ˱đ˱ďʰďʰďʰďʰďʰîÉŻîÉŻîÉŻîÉŻîÉŻíČ®üÝĆýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆűÜĹűÜĹűÜĹűÜĹýÝĆýÝĆýÝĆýÝĆűŰÄüÜĹüÜĹüÜĹţÜÄţÜÄţÜÄţÜÄýŰĂýŰĂýŰĂýŰĂýŰÄýŰÄýŰÄýŰÄýŰÄýŰÄýŰÄýŰÄüÚÂüÚÂüÚÂűŮÁüÚÂűŮÁűŮÁúŘŔűŮÂűŮÂúŘÁúŘÁúŘÁúŘÁů×Ŕů×Ŕű׿ű׿ű׿ű׿ű׿úÖľůŐ˝ůŐ˝ůŐ˝ůŐ˝ůŐ˝ůŐ˝řÔĽřÔĽřÔĽřÔĽřÔĽřÔĽřÔĽřÔĽ÷Ó»÷Ó»÷Ó»÷Ó»÷Ó»÷Ó»÷Ó»÷Ó»öŇşöŇşőŃąőŃąőҸôŃ·ôŃ·ôŃ·óжóжňϵňϵőжôϵôϵôϵóδóδňÍłňÍłňÍłňÍłňÍłń̲ń̲ń̲đ˱đ˱đ˱đ˱đ˱ďʰďʰďʰîÉŻíČ®üÝĆýŢÇţßČýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆýÝĆýÝĆýÝĆýÝĆüÜĹýÝĆýÝĆüÜĹ˙ÝĹ˙ÝĹ˙ÝĹ˙ÝĹţÜÄţÜÄţÜÄţÜÄţÜĹţÜĹţÜĹţÜĹýŰÄýŰÄýŰÄýŰÄţÜÄýŰĂýŰĂýŰĂüÚÂűŮÁűŮÁýŰĂüÚĂüÚĂüÚĂűŮÂüÚĂűŮÂúŘÁűŮÂýŮŔüŘŔüŘŔű׿üŘŔúÖľúÖľű׿úÖľúÖľúÖľúÖľůŐ˝ůŐ˝ůŐ˝ůŐ˝ůŐ˝ůŐ˝ůŐ˝ůŐ˝řÔĽřÔĽřÔĽřÔĽřÔĽřÔĽřÔĽřÔĽ÷Ó»÷Ó»öŇşöŇşöÓąőҸőҸőҸôŃ·ôŃ·ôŃ·óжőжőжôϵóδôϵôϵóδóδóδóδóδňÍłňÍłňÍłňÍłń̲ń̲ń̲ń̲đ˱đ˱ń̲đ˱ďʰýŢÇýŢÇýŢÇýŢÇüÝĆüÝĆüÝĆüÝĆýŢÇýŢÇýŢÇýŢÇüÝĆýŢÇýŢÇýŢÇţŢÇţŢÇţŢÇţŢÇţŢÇţŢÇţŢÇţŢÇýŢÇýŢÇýŢÇýŢÇüÝĆüÝĆüÝĆüÝĆýÝĆýÝĆýÝĆýÝĆüÜĹüÜĹüÜĹüÜĹűÜÂüÝÄüÝÄűÜĂűÜĂűÜĂűÜĂűÜĂýÜÂýÜÂýÜÂýÜÂýÜÂýÜÂýÜÂýÜÂüÚÂüÚÂüÚÂüÚÂüÚÂüÚÂüÚÂüÚÂúŮżúŮżúŮżúŮżúŮżúŮżúŮżůŘľúŘÁúŘÁúŘÁúŘÁřÖżřÖżřÖżřÖżřÖľ÷Ő˝÷Ő˝÷Ő˝÷Ő˝÷Ő˝÷Ő˝÷Ő˝öÔĽ÷Ő˝öÔĽőÓ»őÓ»őÓ»őÓ»ôŇşóŃąôŇşóŃąňиóŃąňиňиňиôиóĎ·óĎ·óĎ·ôиôиôиôиńĎ·ńĎ·ńĎ·đζđζđζď͵ď͵đÍłđÍłđÍłď̲ď̲ď̲î˱î˱ţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČýŢÇýŢÇţßČýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýÝĆýÝĆýÝĆýÝĆüÜĹüÜĹüÜĹüÜĹűÜĂüÝÄüÝÄüÝÄüÝÄüÝÄüÝÄüÝÄţÝĂţÝĂţÝĂţÝĂýÜÂýÜÂýÜÂýÜÂýŰĂýŰĂýŰĂýŰĂýŰĂýŰĂýŰĂýŰĂüŰÁüŰÁüŰÁüŰÁýÜÂýÜÂüŰÁüÜÁúŘÁúŘÁúŘÁúŘÁúŘÁúŘÁúŘÁúŘÁúŘŔúŘŔů׿ů׿řÖľřÖľřÖľřÖľ÷Ő˝řÖľ÷Ő˝öÔĽřÖľ÷Ő˝÷Ő˝öÔĽöÔĽöÔĽőÓ»ôŇşőÓ»őÓ»ôŇşôŇşöŇşőŃąőŃąőŃąóĎ·óĎ·óĎ·óĎ·ńĎ·ńĎ·đζđζńĎ·đζđζđζňϵňϵňϵńδńδńδđÍłđÍłţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČ˙ŕÉţßČýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇüÝĆüÝĆüÝĆüÝĆţŢÇţŢÇţŢÇţŢÇýÝĆýÝĆýÝĆýÝĆüÝÄýŢĹýŢĹüÝÄýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹüÝÄüÝÄüÝÄüÝÄűÜĂűÜĂűÜĂűÜĂűÜĂűÜĂűÜĂűÜĂűÜĂűÜĂűÜĂűÜĂűÜĂűÜĂűÜĂűÜĂúÚĂúÚĂúÚĂúÚĂůŮÂůŮÂůŮÂůŮÂřÚŔřŮŔřŮŔřŮŔ÷Řż÷Řż÷Řż÷Řżů׿ů׿řÖľřÖľřÖľřÖľ÷Ő˝÷Ő˝÷Ő˝÷Ő˝öÔĽőÓ»őÓ»őÓ»őÓ»őÓ»öŇşöŇşőŃąőŃąôиôиôиôиňиňиńĎ·ńĎ·ňиňиńĎ·ńĎ·ňϵňϵňϵńδńδńδđÍłđÍłüŕČüŕČüŕČüŕČýáÉýáÉýáÉýáÉüŕČüŕČüŕČüŕČüŕČýáÉýáÉýáÉţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČýŢÇýŢÇýŢÇýŢÇ˙ßČ˙ßČ˙ßČ˙ßČţŢÇţŢÇţŢÇţŢÇýŢĹýŢĹţßĆýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹüÝÄüÝÄüÝÄüÝÄüÝÄüÝÄüÝÄüÝÄüÝÄüÝÄüÝÄüÝÄűÜĂűÜĂüÝÄüÝÄűŰÄűŰÄűŰÄűŰÄúÚĂúÚĂúÚĂúÚĂúŰÂúŰÂúŰÂůÚÁůÚÁůÚÁůÚÁůÚÁúŘŔúŘŔúŘŔů׿úŘŔů׿ů׿ů׿ů׿ů׿řÖľ÷Ő˝÷Ő˝÷Ő˝öÔĽöÔĽöÔĽőÓ»őÓ»őÓ»ôŇşôŇşôŇşôŇşôŇşôŇşóŃąóŃąóŃąóŃąňиňиňŃ·ńжńжńжđϵđϵđϵďδüŕČüŕČýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉţßČţßČţßČţßČţßČţßČţßČţßČýŢÇţßČţßČýŢÇýŢÇýŢÇýŢÇýŢÇüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹüÝÄüÝÄüÝÄüÝÄüÝÄüÝÄüÝÄüÝÄüÝÄüÝÄýŢĹýŢĹüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹýÜĆůÚÁůÚÁůÚÁůÚÁůÚÁůÚÁůÚÁůÚÁůŮÂůŮÂůŮÂůŮÂůŮÂůŮÂůŮÂůŮÂ÷Řż÷Řż÷Řż÷Řżö׾ö׾ö׾őÖ˝řÖľ÷Ő˝÷Ő˝÷Ő˝öÔĽöÔĽöÔĽ÷ÔĽňÓşňÓşňÓşňÓşňÓşňÓşńŇąńŇąňиňиńĎ·ńĎ·ńĎ·ńĎ·ńĎ·đζüŕČýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉţßČţßČţßČţßČţßČţßČţßČţßČýŢÇţßČţßČýŢÇţßČţßČţßČţßČ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉýŢÇýŢÇýŢÇýŢÇýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹýŢĹüÝÄýŢĹýŢĹýŢĹüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹüÝÄüÝÄüÝÄüÝÄűÜĂűÜĂűÜĂűÜĂűŰÄűŰÄűŰÄűŰÄúÚĂúÚĂúÚĂúÚĂůÚÁůÚÁřŮŔřŮŔůÚÁřŮŔřŮŔřŮŔů׿řÖľřÖľřÖľ÷Ő˝÷Ő˝÷Ő˝öÔĽôŐĽôŐĽôŐĽôŐĽóÔ»óÔ»óÔ»ňÓşôŇşóŃąóŃąóŃąňиňиńĎ·ńĎ·űáÉűáÉűáÉüâĘűáÉűáÉűáÉűáÉűáÉűáÉűáÉűáÉűáÉűáÉűáÉűáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉýŢÇţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýßĆýßĆýßĆýßĆüŢĹüŢĹüŢĹüŢĹüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆűÜĹűÜĹűÜĹűÜĹűÜĹűÜĹűÜĹűÜĹűÝÄűÝÄűÝÄűÝÄűÝÄűÝÄűÝÄűÝÄüÜĹüÜĹüÜĹüÜĹűŰÄűŰÄűŰÄűŰÄűÜĂúŰÂúŰÂúŰÂůÚÁůÚÁřŮŔřŮŔúŘŔúŘŔů׿ů׿ů׿ů׿řÖľřÖľö׾ö׾ö׾őÖ˝őÖ˝őÖ˝ôŐĽôŐĽőÓ»őÓ»ôŇşôŇşóŃąóŃąóŃąňиűáÉűáÉüâĘüâĘüâĘüâĘüâĘüâĘüâĘüâĘüâĘüâĘüâĘüâĘüâĘüâĘţâĘţâĘţâĘţâĘţâĘţâĘţâĘţâĘ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉţßČ˙ŕÉ˙ŕÉţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČýßĆýßĆýßĆýßĆüŢĹüŢĹüŢĹüŢĹüÝĆüÝĆüÝĆüÝĆýŢÇýŢÇüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆűÝÄűÝÄűÝÄűÝÄűÝÄűÝÄűÝÄűÝÄüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹüÜĹűÜĂúŰÂúŰÂúŰÂűÜĂúŰÂúŰÂúŰÂúŰÂůÚÁůÚÁůÚÁřŮŔřŮŔřŮŔ÷Řż÷Řż÷Řżö׾őÖ˝őÖ˝őÖ˝ôŐĽôŐĽóÔ»óÔ»óÔ»ňÓşňÓşňÓşňÓşńŇąůâČůâČůáÉůáÉüáĚüáĚüáÍüáÍűáÉűáÉűáÉűáÉüâĘüâĘüâĘüâĘüâĘüâĘüâĘţâĘýáÉýáÉýáÉ˙ŕÉýăČýâČýâČýâČýâČýâČýâČýâČ˙áČ˙áČ˙áČ˙áČ˙áČ˙áČ˙áČ˙áČţáŔúŕĆřŢĘţŢÇ˙ăÄ˙âĂűÝĂöÚĆúŢĹ˙ăČúÝÂ÷äĘůÝÎ˙ŰÎ˙ŢČńĺĂ˙ŢÉ˙ßČ˙ßČ˙ßČţŢÇţŢÇţŢÇţŢÇţŢÇţŢÇţŢÇţŢÇţŢÇţŢÇţŢÇţŢÇţŢÇţŢÇţŢÇţŢÇýÝĆýÝĆýÝĆýÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆűÜĹűÜĹűÜĹűÜĹúŰÄúŰÄúŰÄúŰÄúŰÄúŰÄúŰÄúŰÄúŰÄúŰÄúŰÄúŰÄúŰÄúŰÄúŰÄúŰĹřŮÂ÷ŘÁ÷ŘÁ÷ŘÁ÷Řż÷Řż÷Řżö׾őÖ˝ö׾őÖ˝ôŐĽôŐĽôŐĽôŐĽóÔ»óÔ»óÔ»ňÓşňÓşůăĘúâĘúâĘúâĚüáĚüáĚüáÍüáÍüâĘüâĘüâĘüâĘüâĘüâĘüâĘüâĘüâĘüâĘüâĘüâĘýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉ˙âÄýâČűŕĚ˙ŕÉ˙ŢĹ˙ćČúÜĂöŕÍţéÖ˙ăÉűÝÁůćĘúßË˙ŰÎ˙ŢČőäĂ˙ŢÉţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆűÜĹűÜĹűÜĹűÜĹüÝĆüÝĆüÝĆüÝĆűÜĹűÜĹűÜĹűÜĹúŰÄúŰÄúŰÄúŰÄúŰÄúŰÄúŰÄúŰÄřŮÂřŮÂ÷ŘÁ÷ŘÁřŮŔřŮŔ÷Řż÷Řżö׾ö׾őÖ˝őÖ˝őÖ˝ôŐĽôŐĽôŐĽóÔ»óÔ»óÔ»óÔ»úäËúäËűăÍűăÍűăÍýâÍýâÎýâÎýăËýăËýăËýăËüâĘüâĘüâĘüâĘüâĘüâĘüâĘüâĘţâĘţâĘţâĘţâĘţâĘţâĘţâĘţâĘţâĘţâĘţâĘţâĘ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉţâĂůŕČúßĘţßČţŕĆ˙ăÇ÷ßĚěÜŃóăŇ˙ăĎ˙áĹřâČűŕÍ˙ŢĚ˙ŕÉöäÇ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉţßČţßČţßČţßČ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇüÝĆüÝĆüÝĆüÝĆýŢÇýŢÇýŢÇýŢÇüÝĆüÝĆüÝĆüÝĆűÜĹűÜĹűÜĹűÜĹúŰÄúŰÄúŰÄúŰÄůÚĂůÚĂřŮÂřŮÂůÚÁřŮŔřŮŔřŮŔ÷Řżö׾ö׾ö׾ö׾őÖ˝őÖ˝őÖ˝ôŐĽôŐĽôŐĽóÔ»úăÍúăÍúăÍűăÍüäÎüäÎţăĎţăĎűăÍűăÍűăÍűăÍűăÍűăÍűăÍűăÍűăÍűăÍýâÍýâÍüáĚţáĚţáĚţáĚţâĘţâĘţâĘţâĘţâĘţâĘţâĘţâĘţâĘţâĘţâĘţâĘţâĘţâĘţâĘţâĘýâÇűáÉűŕĚ˙ŕÉ˙ĺÉřÝĹúíŢnhcňëŢřÜË˙äĘřŕĹúßË˙ŢĚ˙ßËřäĆ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČţßČýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇüÝĆüÝĆüÝĆüÝĆűÜĹűÜĹűÜĹűÜĹűÜĹűÜĹűÜĹűÜĹúŰÄůÚĂůÚĂůÚĂůÚÁůÚÁůÚÁřŮŔřŮŔö׾ö׾÷Řżö׾ö׾őÖ˝őÖ˝őÖ˝őÖ˝ôŐĽôŐĽúâÎúâÎúâÎúâÎúáÍüăĎüäÎűăÍüäÎüäÎüäÎüäÎűăÍűăÍűăÍűăÍűăÍűăÍűăÍýâÍýâÍýâÍýâÍ˙âÍüâĘüâĘüâĘüâĘűáÉüâĘýăËűâĘýáÉýáÉţâĘ˙ăËţâĘţâĘţâĘţâĘţâĘüáÍüáĚ˙ăÉýŕÄńÝÇÚÖĚ]eg•ŽňŰĚ˙ÜÄ˙ćĘřáÉ˙ŕË˙ßËúâČ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉţßČţßČţßČţßČýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇţßČţßČţßČţßČýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇţßČţßČýŢÇýŢÇýŢÇýŢÇüÝĆüÝĆüÝĆüÝĆűÜĹűÜĹűÜĹűÜĹúŰÄúŰÄúŰÄúŰÄúŰÄúŰÄúŰÄúŰÄúŰÄúŰÄůÚĂůÚĂůÚÁůÚÁřŮŔřŮŔřŮŔřŮŔ÷Řż÷Řżö׾ö׾őÖ˝őÖ˝ôŐĽôŐĽôŐĽôŐĽüćÔűĺÓüäĐúâÎűăĎüăĎýĺĎüäÎüäÎüäÎüäÎüäÎűăÍűăÍűăÍűăÍűăÍűăÍűăÍűăÍýâÍýâÍýâÍýâÍýâÍýâÍýâÍýâÍýâÍţăÎţăÎýâÍţáĚţáĚţáĚţáĚţáĚţáĚţáĚţáĚűáĚüáĚüáĚ˙âÉůŕĹôćÓ¬­«UdlYhe˙ěá˙äĐţáĹůäÉţáÍ˙ŕĚţâĘýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉţâĘţâĘţâĘţâĘýáÉýáÉýáÉýáÉüŕČüŕČüŕČüŕČüŕČüŕČüŕČűŕČţßČţßČţßČţßČţßČţßČýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆúŰÄúŰÄúŰÄúŰÄúŰÄúŰÄúŰÄůÚĂúŰÂúŰÂúŰÂůÚÁřŮŔřŮŔřŮŔřŮŔ÷Řżö׾ö׾ö׾ö׾őÖ˝őÖ˝ôŐĽůăŃůăŃůăŃűăĎűăĎűăĎűăÍűăÍüăĎüăĎüăĎüăĎüăĎüăĎüăĎüăĎűăĎűăĎüăĎüăĎüăĎţăĎţăĎţăĎýâÍýâÍýâÍýâÍýâÍýâÍýâÍýâÍýâÍýâÍüáĚüáĚüáĚüáĚüáĚüáĚüáĚüáĚüâĘţăÉ˙čÍîâĐŠŠ@Vg:PM˙őî˙ŢÉ˙äĆůĺČüáÍ˙áĚ˙áÍýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉüŕČüŕČüŕČüŕČýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉ˙ŕÉţßČýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇüÝĆüÝĆüÝĆüÝĆűÜĹűÜĹűÜĹűÜĹűÜĹűÜĹűÜĹűÜĹűÜĹúŰÄúŰÄúŰÄűÜĂűÜĂúŰÂúŰÂůÚÁůÚÁůÚÁřŮŔ÷Řż÷Řż÷Řżö׾řŮŔ÷Řżö׾őÖ˝ţç×ţç×ţčÖ˙çÖ˙çÓýĺŃűäÎýĺĎüäĐüäĐüäĐüäĐűăĎűăĎűăĎűăĎűăĎűăĎüăĎüăĎüăĎţăĎţăĎţăĎýâÍýâÍýâÍýâÍţăÎýâÍýâÍţăÎüáĚýâÍýâÍýâÍýâÍýâÍýâÍýâÍýâÎýâÎýăË˙äÉřŕĆäÚÉlyzB[n>VWIJ¬˙ŢÉ˙ĺĆřäČůâĘ˙ßÎ˙áĚţâĘţâĘţâĘţâĘţâĘţâĘţâĘţâĘýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉýáÉţáÉýáÉýáÉýáÉţßČţßČţßČţßČţßČţßČ˙ŕÉ˙ŕÉţßČţßČţßČţßČýŢÇýŢÇýŢÇýŢÇüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆüÝĆűÜĹűÜĹűÜĹűÜĹűÜĹűÜĹúŰÄúŰÄúŰÂúŰÂúŰÂúŰÂúŰÂúŰÂůÚÁůÚÁřŮŔřŮŔ÷Řż÷Řżö׾ö׾ö׾ö׾úęŇýëÚţëÜůçÖőĺÎřçĎűĺÓüá×řăÎůäĎůĺĐůĺĎüäĐüäĐüäĐüäĐüäÎüäÎýĺĎýĺĎüäÎüäÎüäÎüäÎüăĎüăĎüăĎüăĎüăĎüăĎüăĎüăĎüĺÎüäÎüäÎüäÎűăÍűăÍűăÍúăÍ˙áČőâÎöâÍ˙ĺĂ˙čĎA;=?LWI]`AU[Ž’“ôăŰúÝÍ˙ăČüăÉűâÉţßÎýăÇýâČýâČýâČýăČţăÉ˙äĘ˙äĘţăÉţăÉţăÉţăÉýâČýâČýâČýâÇřßËďćÉ˙ŕÂ˙äËŮáČřăŇ˙ŘÉđčČýŕČüŕČüŕČüŕČüŕČüŕČüŕČüŕČűßÇűßÇűßÇűßÇűßÇűßÇűßÇúßÇýŢÇýŢÇýŢÇýŢÇűÜĹüÝĆýŢÇýŢÇüÝĆüÝĆűÜĹűÜĹűÜĹűÜĹűÜĹűÜĹúŰÄúŰÄůÚĂůÚĂůÚĂůÚĂůÚĂřŮÂůŮÂřŘÁřŘÁřŘÁ÷×Ŕ÷×Ŕ÷×ŔöÖżůéŮ÷ç×öĺŘřč×řęÔűęŐýéŘýçŰ˙ńŰ˙îŮ˙ëÖýčÓűăĎűăĎűăĎűăĎüäÎüäÎüäÎüäÎüäÎüäÎüäÎüäÎýäĐýäĐýäĐýäĐüăĎüăĎüăĎüăĎüäÎüäÎüäÎüäÎűăÍűăÍűăÍűăÍ˙äČ÷ăĎ÷ăÍ˙ćĆüĺĎÉÇĹGV`=QV@TY.23D2+óŘĆ˙ăËüăÉüâĘţßÎ˙ăË˙ăË˙ăË˙ăË˙ăË˙ăËţâĘţâĘţâĘţâĘţâĘţâĘţâĘţâĘţâĘţâĘţßČőçËţŰÄüâŃÝç×îÚĎ˙ßĚőĺÄüßČüŕČüŕČüŕČüŕČüŕČüŕČüŕČüŕČüŕČüŕČüŕČűßÇűßÇűßÇűßÇýŢÇýŢÇýŢÇýŢÇýŢÇüÝĆüÝĆüÝĆüÝĆüÝĆűÜĹűÜĹűÜĹűÜĹűÜĹűÜĹúŰÄúŰÄúŰÄůÚĂúŰÄůÚĂůÚĂůÚĂřŮÂřŮÂ÷ŘÁ÷ŘÁ÷ŘÁ÷ŘÁö×Ŕö×Ŕúîâůîâůíß÷ëŮřęŘúęŮůéÚřčŰúĺĎůäĎůäĎúĺĐüäĐüäĐüäĐüäĐýĺĎýĺĎüäÎüäÎüäÎüäÎüäÎüäÎüăĎüăĎüăĎüăĎüăĎüăĎüăĎüăĎüäÎüäÎüäÎüäÎüäÎüäÎüäÎüäÎ˙äČúâŃúâÎ˙äČĂ°š¶¸»_pzGV]@T\MRSˇ“Š÷ŢËýâĘüäÉüáÍüáÎüâÉüâĘüâĘűâĘýăËýăËüâĘűáÉţâĘţâĘţâĘţâĘţâĘţâĘţâĘţâĘ˙áĹůáČýâŇęÝŮhwvńäŕ˙ÝĚůăÁýáĘýáÉýáÉýáÉýáÉýáÉýáÉýáÉüŕČüŕČüŕČüŕČűßÇűßÇűßÇűßÇýŢÇýŢÇýŢÇýŢÇýŢÇýŢÇüÝĆüÝĆýŢÇüÝĆüÝĆüÝĆűÜĹűÜĹűÜĹűÜĹűÜĹúŰÄúŰÄúŰÄúŰÄúŰÄůÚĂůÚĂůÚĂůÚĂřŮÂřŮÂřŮÂ÷ŘÁ÷ŘÁ÷ŘÁőíéůđćúňáýńß˙đŕţîáűëßůęÚüçŇúĺĐůäĎűćŃ˙čÔ˙čÔ˙čÔ˙čÔ˙çŃ˙çŃţćĐýĺĎýĺĎýĺĎýĺĎýĺĎüăĎüăĎüăĎüăĎýäĐýäĐýäĐýäĐüäÎüäÎüäÎüäÎüäÎüäÎüäÎüäÎ˙ĺČůâŃűáŃ˙ĺÉěßÍ›ť\m|M[d:T\LSV˙ńëöÝÍüäĘűăËűăÍýâÎýăËýăËýăËýăËüâĘüâĘýăËýăËţâĘţâĘţâĘţâĘţâĘţâĘţâĘţâË˙ăĹ˙ŕĘöâÚ¦ŻłViuŻ©ŻýŢĐţĺżýáĘýáÉýáÉýáÉýáÉýáÉýáÉýáÉüŕČüŕČüŕČüŕČüŕČüŕČüŕČüŕČüŕČüŕČüŕČüŕČúßÇűßÇűßÇűßÇűßÇűßÇúŢĆúŢĆúŢĆúŢĆúŢĆúŢĆůÝĹůÝĹřÜÄřÜÄřÜÄřÜÄřÜÄ÷ŰĂúŰÄůÚĂůÚĂůÚĂřŮÂřŮÂřŮÂ÷ŘÁőěďôěĺřńŢůîÚřéŮúčŢůęÝřę×ţčÓ˙ëÖ˙ě×ţéÔýäĐýĺŃýĺŃýĺŃűăĐüäĐüäĐüäĐüäĐüäĐüäĐüäĐýäĐýäĐýäĐýäĐüăĎüăĎüăĎüăĎüăĎüăĎüăĎüăĎüăĎüăĎüăĎüăĐőâÄűäÓţăŐţáˢšŚ /5G\nJS_<ZgFOWËÁ˝ş¤”˙îŘűćĚüäÎúâÎýăËýăËýăËýăËýăËýăËýăËýăËüâĘüâĘüâĘüâĘüâĘüâĘüâĘüâËýăÂűŮĹóć↛ĄK`tSS_üęŕ˙ĺĹúáÉűáÉűáÉűáÉűáÉűáÉűáÉűáÉúáÉüâĘűáÉůßÇúŕČúŕČúŕČúŕČűßÇűßÇűßÇűßÇűßÇűßÇűßÇűßÇúŢĆúŢĆúŢĆúŢĆůÝĹůÝĹůÝĹůÝĹůÝĹůÝĹůÝĹůÝĹřÜÄřÜÄřÜÄřÜÄúŰÄúŰÄúŰÄúŰÄůÚĂůÚĂřŮÂřŮÂŃĆŃöěĺří×ůëÔüć×úăÜ÷äŐőčĐúĺĐűćŃűćŃúĺĐýĺŃýĺŃýĺŃýĺŃüäĐüäĐüäĐüäĐüäĐüäĐüäĐüäĐýäĐýäĐýäĐýäĐýäĐýäĐýäĐýäĐýäĐýäĐýäĐýäĐüăĎüăĎüăĎüăĐůĺÇřŕĎ˙áŐőçŃÓÎÁvŹ–1EYPVd;ZiGQYogc˙îáůŕĚűĺËűäÎüăĎűăÍűăÍűăÍűăÍűăÍűăÍűăÍűăÎýâÍýâÍýâÍýâÍüáĚüáĚüáĚýáÎőăĹ˙ÚÍßÖÓ|žĄ?RePUbâáŘúŕÇűáÉűáÉűáÉűáÉűáÉűáÉűáÉűáÉűáÉűáÉűáÉúŕČúŕČúŕČúŕČúŕČüŕČüŕČüŕČüŕČűßÇűßÇűßÇűßÇúŢĆúŢĆúŢĆúŢĆúŢĆúŢĆúŢĆúŢĆůÝĹůÝĹůÝĹůÝĹřÜÄřÜÄřÜÄřÜÄřÜÄřÜÄřÜÄřÜÄ÷ŰĂ÷ŰĂ÷ŰĂöÚÂŚ|‹éÝ×óčĚýěĐţăÖýŕÚúăŇůéËűćŃűćŃüçŇűćŃýĺŃýĺŃýĺŃýĺŃýĺŃýĺŃýĺŃýĺŃýĺŃýĺŃýĺŃýĺŃţĺŃţĺŃţĺŃţĺŃýäĐýäĐýäĐýäĐýäĐýäĐýäĐýäĐüăĎüăĎüăĎýăĐřéÇţĺŐ÷ŐÉ˙íŢĚÍĂ|ź@ZnKM\=_nJU`C<;˙˙ňůäÎřäÎüäÎüăĎüäÎüäÎüäÎüäÎüäÎüäÎüäÎüäÎýâÍýâÍýâÍýâÍüáĚüáĚüáĚţáĚéŕĘ˙ßÓł­§9=APbTYf–ŁśęÔĂýâĘüâĘüâĘüâĘűáÉűáÉűáÉűáÉüâĘűáÉűáÉűáÉűáÉűáÉűáÉűáÉúŕČúŕČúŕČúŕČůßÇůßÇůßÇůßÇůßÇůßÇůßÇůßÇřŢĆřŢĆřŢĆřŢĆ÷ÝĹ÷ÝĹ÷ÝĹ÷ÝĹ÷ÝĹ÷ÝĹ÷ÝĹ÷ÝĹřÜÄřÜÄřÜÄřÜÄřÜÄřÜÄ÷ŰĂ÷ŰĂjWiďŕÚřęÍ˙îŃ˙äŐ˙âÜ˙ć×üęĘűćŇűćŃűćŃűćŃýĺŃýĺŃýĺŃýĺŃýĺŃýĺŃýĺŃýĺŃýĺŃýĺŃýĺŃýĺŃţĺŃţĺŃţĺŃţĺŃýäĐýäĐýäĐýäĐýäĐýäĐýäĐýäĐýäĐýäĐýäĐţäĐ÷ęĆţăŐţŘĐ˙çŐĎŃĆwˇ]v‰`bsChx[irކ„úćÚűĺÍúäÎúĺĎýäŃüäÎüäÎüäÎüäÎüäÎüäÎüäÎüäÎýâÍýâÍýâÍýâÍýâÍýâÍýâÍ˙âÍęčŇ纲ľąłbŚŽ;JXZbn°Á»îßĎýâÉüâĘüâĘüâĘüâĘüâĘüâĘüâĘýâĘűáÉűáÉüâĘűáÉűáÉűáÉűáÉúŕČúŕČúŕČúŕČúŕČúŕČúŕČúŕČůßÇůßÇůßÇůßÇřŢĆřŢĆřŢĆřŢĆřŢĆřŢĆřŢĆřŢĆ÷ÝĹ÷ÝĹ÷ÝĹ÷ÝĹůÝĹůÝĹůÝĹůÝĹůÝĹřÜÄřÜÄřÜÄCHVčÚÔ˙ćÔ÷ăÓöĺÔýçÎýçÍôä×öćŃöćŃöćŃůćŃ÷ĺĐřćŃűćŃüçŇýĺŃýĺŃýĺŃýĺŃýĺŃýĺŃýĺŃýĺŃýćĐýćĐýćĐýćĐüĺĎýćĐýćĐ˙çŃňęĚţęČűçÎóäÚřáŇ˙äĆüŕËóčăĐăÚĚßÚĽŐŐ®ËÔŚŞĽ±Ä‡žµ–łk…†;W^Nir/GQ¤¶»ŇŮÖîíßçßÍůĺĘűĺĚűĺËűäÎűăĎüăĎüăĎüáÓüéĹüĺËúćËűăĐůâÎűâÎűăÍţăĘóáĘďçࡹĂj™UT_MZ[xʆôÜÜúăĚúâĚůáÎüáÍüáÍüáÎúâĚúâÍřăĘůăĘúâĘúâĘűáÉűáÉţáÉţáÉůáĚůáËůáËůáĚřŕĘřŕĘřŕĘřŕË÷ŕĆ÷ŕĆ÷ŕĆ÷ŕĆőßĹ÷ŕĆ÷ŕĆřáÇößĹößĹößĹößĹößĹößĹößĹößĹ÷ŢÄ÷ŢÄ÷ŢÄ÷ŢÄőÜÂ÷ŢÄöÝĂőÜÂJM[÷éăýĺŃ÷ăŇ÷ĺÔýćĐýçÎőĺŐúćŃúćŃůćŃůćŃýçŇüçŇűćŃűćŃűćŃűćŃűćŃűćŃűćŃűćŃűćŃűćŃűćĐűćĐűćĐűćĐüçŃüçŃúćĐűćĐöćÔ˙ćÍ˙ĺŇöäŘúćŐúăÉäŰËĄ¦”¤±‘ٰŤ˘´}©‰Ą¶y©z©x™§\mx<R^8M]K\iJVaV[^onjîéĺţčĚúćÍýĺĐüĺĎüäĐýäĐýäĐýăÓüĺĘüäĚűäÎüăĎýäĐýäŃ˙ĺĚ˙äÍ˙čËüçŢm"?PSXiN^`F]YĺÎĚúäÉűăÎţâÍţăÍüáĚüáĚúâĚúâĚůăĘůăĘúâĘúâĘűáÉűáÉűáÉţáÉůáËůáËůáËůáËřŕĘřŕĘřŕĘřŕĘřŕČřŕČřŕČřŕČ÷ßČ÷ßÇ÷ßÇ÷ßÇ÷ßÇ÷ßÇ÷ßÇ÷ßÇöŢĆöŢĆöŢĆöŢĆ÷ÝĹ÷ÝĹ÷ÝĹ÷ÝĹ÷ÝĹ÷ÝĆ÷ÝĹ÷ÝĹNQ_öéăţéŐüč×řćŐţçŃţčĎöćÖúçŇúçŇüçŇüçŇýčÓţćŇţćŇýĺŃüçŇüçŇüçŇüçŇüçŇüçŇüçŇüçŇüçŇüçŇüçŇüçŇýčÓüçŇüçŇűćŃöáÝ˙äÓ˙äŃűäÖôăŇöęÔ´ľ´v—Ą‰ťż‚·{•°{›µs’¨ˇ°~ˇ­]„ŠR_q>M_BSg=L`KXhFO]OU]»ÁÉţĺĚúĺĎůĺĎüĺĎüäĐüäĐýäĐýäĐűäÎűäÎýăĎüăĎţăĎţăÎ˙äĚ˙ĺËţéÄÎ°źŞ˝Ăs‘§KRhL]h#>:˙ôôűçĚűĺĚüäË˙ăĎüáĚýáĚúâĚůáÎůăĘůăĘúâĘúâĘůâĘüâĘüâĘüâĘůáËůáËůáËůáËůáËůáËůáËůáĚřŕČřŕČřŕČřŕČřŕČřŕČ÷ßÇöŢĆöŢĆöŢĆöŢĆöŢĆ÷ßÇ÷ßÇ÷ßÇ÷ßÇ÷ÝĹ÷ÝĹ÷ÝĹ÷ÝĹ÷ÝĹöÜÄöÜÄ÷ÜÄJM[çŮÓ˙ńÝřäÓřćŐţçŃţčĎöćÖýćÔýćÔüćÔüćÔţćÔţćÔţćÔ˙çÖüçŇüçŇüçŇüçŇüçŇüçŇüçŇüçŇüçŇüçŇüçŇüçŇüçŇüçŇüçŇţčÓôäÝ˙ćŃ˙čÎ˙ćŇţęŐřęÓ ¨Ąv–«}™µy•Żx“®|°sĄˇ˛…Ł­^‡^gv@Q]>N^<L^<M]TaoMZd’ťţäËúĺĐúĺĐůĺĐüäĐüäĐüäĐüäĐúäÓůäŇüäŇýäĐ˙äĐ˙äĎ˙äĐ˙äÍ˙óĚýŰĚ­ĽÄmФgn`w„.OJđćĺôâĚőäĚúăÎýăĘýăĘýâÍűăÍúâÎűăÍűăÍűăÍűăÍúâĚúâĚúâĚúâĚúâĚúâĚúâĚúâĚůáËůáËůáËůáËřŕČřŕČřŕČřŕČ÷ßÇřŕČřŕČůáÉ÷ßÇ÷ßÇ÷ßÇ÷ßÇ÷ßÇ÷ßÇ÷ßÇ÷ßÇöŢĆöŢĆöŢĆöŢĆöŢĆôÝĹőŢĆ÷ßÇ,/=ztnZţíÜřćŐţçŃţčĎöćÖöâĐôŕÎ˙ěÚýčÖüćÔţćÔţćÔţćÔüçŇüçŇüçŇüçŇüçŇüçŇüçŇüçŇüçŇüçŇüçŇüçŇüçŇüçŇüçŇýçŇéĺÔ˙ěŃ˙čË˙çŇúăĚţčŇŞ§¤q‡ś†¦®Ť§µ^w†m„–^s…CXkCZj|“ŁObf<MVBV\BU\@TZGXaCW]r†Ź˙çŇ÷äŇ÷ăÍýčÓúćŃţĺŃýĺŃţĺŃ÷äŇüćÔţćÔýäĐýâÎůŕĚűĺŃüčÔ˙ĺÇóßŐm‚Ť:Zt‰Ź©Mfs.QRQINÓĚşßÔĂňăÍ÷ŕĘţăËţâÍúăÍ÷ăÎűăÍűăÍűăÍűăÍúăÍúăÍůâĚůâĚůâĚůâĚůâĚůâĚřáËřáËřáËřáËřâÉřâÉřâÉřăÉöŕÇöŕÇöŕÇöŕÇ÷áČ÷áČ÷áČ÷áČöŕÇöŕÇ÷áČ÷âČ÷ßÇ÷ßÇöŢĆöŢĆőÝĹőÝĹöŢĆöŢĆ?BPůëĺűŕĚďÚÉřćŐţçŃţčĎöćÖöĺŇ˙đÝńÝËţé×úćÔüćÔüćÔüćÔúçŇúçŇúçŇúçŇúçŇúçŇúçŇúçŇúćŐúćÔúćÔúćÔúćÔúćÔúćÔúćÔďéÔúéÍ˙ëĎřç×ôßŃůéŘ––…—°Yxy%*=Q\-?M<N_yŠ›Yj{CTfTglATZAT[AT[@RY!59@PUu‰˙čÓýíÚôßÍýęŮüçŃúćŃýĺŃţĺŃřĺÓűĺÓýĺĐţĺŃüäĎůĺÓ÷č×íŕŃđéÜ®¦¨ŞČÖPp…٧ŔK`k*PS|}˘¤›MJ@ýđáúčŇűăÎűăĘüăÍúâĎűăÍűăÍűăÍúäÍůâĚűăÍřăÍňŢČůâĚůâĚůâĚůâĚřáËřáËřáËřáËřáËřáËřáËřáË÷ŕË÷ŕË÷ŕË÷ŕË÷ŕĘ÷ŕĘ÷ŕĘ÷ŕĘößĘößĘ÷ŕĘ÷ŕĘ÷ßĘ÷ßÉ÷ßÉöŢÉöŢČöŢČöŢČöŢČDGUóĺßüăĎţęŮřćŐţçŃţčĎöćÖůë×ôĺŇ÷čŐěŰČ÷ćÓ÷çÔúćÔúćÔúçŇúçŇúçŇúçŇúçŇúçŇúçŇúçŇúćÔúćÔúćÔúćÔúćÔúćÔúćÔúćÔűęÔ˙éĎôâÓëáŕďěëäáÝŤś u˛…ꬦľĎś˛Ä©˝Ď¶ĹŮj~ŹJape€‹o‰“VlxF\cGW`2@J6CK-6A $ì—ôßĎ˙îÝ÷ăŃűĺÔűćŃúćŃţĺŃůçŃűćŃýćĐýĺŃýçŐđŕĐňęŢĺÝаĹĘŻ¸ČłÇx™¬wy‹RhlCkmś¨O\]Z`\ČÄşńâŃüäÎüäĚüäÎűäÎüăĎüăĎüăĎűăĐűâĎűćŇöŕĚńÜÇúăÍůâĚůâĚůâĚůâĚůâĚůâĚůâĚřáËřáËřáËřáËřáËřáËřáËřáËřáËřáËřáËřáË÷ŕĘ÷ŕĘ÷ŕĘ÷ŕĘřŕĘ÷ßÉ÷ßÉ÷ßÉ÷ßÉöŢČöŢČőÝÇGIWóăÝţĺĐ˙ěŰůçÖ˙čŇ˙éĐ÷ç×÷é×÷čŐŃż­˙óŕ÷çÖřćŐ÷ćÖ÷ćŐúçÓűçŃüčŃúçŇúçÓúçŇúçŇúçŇűćŐűćÔűćÔúćÔúćŐúćÔúćÔúćŐ˙äŐ˙âŇűčăŇĐŮźĄ°žž‚ˇ«m˘Ľz’°„›ş€•±~‘¬‚—­7R_3T[6]]<RiAYjBTe>N\<GS">BPEJ]˙˙˙óßÍýéŘůĺŇüćÔüçŇüçŇüçŇűçŇűćĎýćĐ˙čŃôĺŃöéÚđëঠ“‰¨ĽŚ¤ąy˘şSu…qm|]pt:dfNU`^mvZcdĹĂ»ćŮÉúĺÎţĺËýäĚúäÎüăĎüăĎüăĎűâĎűçŇńÜÇüčŇéŐżýäÍűăÍúăÍúăÍůâĚůâĚůâĚůâĚůâĚůâĚůâĚúâĚřáËřáËřáËřŕËřáËřáËřáËřáËřáËřŕĘ÷ŕĘ÷ŕĘ÷ŕĘ÷ŕĘößÉößÉößÉößÉőŢČôÝÇ?TXĂÎÍçĺÝůë×˙čŃüčÓőç×ńč×çŢË˝ÇÄZp~XdrîßŢţŕŃ˙ßË˙íÝúëĽęăâäâí÷čÔ˙ćÇüŕŇúäÚýěËîęÍęč×ďęÖ˙íĎýçČůčÓůęŃűéÁűćÉ˙éŘčçänŽ•{˘µś¶Źś¶—ŞuڎsŠźxڎn„•e|Ś7N]>R^=Q_8MR@U\@V]@S[9MU/6;MV<NWw–ŘăĺďćĺűăŮ˙ćŃ˙çÎ˙ćŇ˙ă×čäÝôĺÖ÷äÖöä×ţçĐ˙ëĘďčŢ{”¬…¨ÁŤ¬Á®Â]j~CTdYhwSak<NXSkd^fuµş´áĺĐŇÎÚĺÚÚňçĹ˙äŇöăŃöăŇřäĎýäĚţĺÉőćŃŕŢÚU`kŮŢŘäŕĎűćĐýäËűáÍ÷áĐ÷âÎ÷ĺČőăĚőăĚőăĚőäĚóâËőăĚőăĚöĺÎőŕĘöáË÷âĚ÷âĚöáËöáËöáËöáË÷ŕĘ÷ŕĘ÷ŕĘ÷ŕĘößÉřŕĘ÷ŕĘöŢČBTZJSWöóëôăÓ˙çÓ˙čŇůčÓöčÖóę܇ڋPdlEU^ďęé˙îÝüéÔöęÓóéĆĽş¸\\cöěŢýčÎüâÓ÷ĺŘýîŇÚŮÍŰŘÖěăÚüăĎţëŐîâŐęâÖüđŢ˙ňŐíÚĘĺăŕŚ¦°…¨ą‹žµ„”©š¬wڎk€•|’Łf}ŤThw>U`@Vc:P\AT[@SZ@RZEX`?OYGXaBS\DT^9WRHX[”‘’˙ńéýçŃ˙čÎůçŇőć×ňćÖűçŃýçŃřćÖůăÍ˙éËâŕÔ“§¸…©˝oŚ˘—°Ĺh|ŤDTdfv‚DU^9ITIa[HQb˘¨ŁÚŕŃF>HôéčöęĘ˙äÔřäŇřäŇ÷ĺĐüćÍüčËőĺĐĆÂĽfpzĽŔ·ďéŰěÚĹţäËűâÎřâĐőăÎřäËöäÍöäÍöäÍöäÍőăĚőăĚőăĚőăĚ÷âĚ÷âĚöáËöáËöáËöáËöáËöáËőŕĘőŕĘőŕĘőŕĘőŕĘőáËöáËőŕĘ9JX<FMuppíßÓýçŐ˙čŇţčŇůéŃĺăÜpz~>T\@S[†ĺßŇďęÖčćÍćéÔ}‡U\i‰‰‚ňçŃřäÓöĺŮíçÓŚZ]höďńüĺŐüć×îé鲶ąÓŐÖńäÍöęßÍÎІ¤«¦ą}‘¦o”uŽźxŤŁuŚť|Ź au„e|‡8KV@S_F[bFV_>OXIZcFW`GU^GV_ET]ES\7Y^G[c@FJ˙üőőçŐőęÎőčŇďčÖřćĐ˙çĚţçÍôäÔöéÖőĺŃĐÎÇ•¨¸~ž´{š­ž¸ÉLdt=P]_q|?RY;NWCZYWarśšŇÝĎ_^lĎËÍőęĐýäŐ÷äŇřäŇ÷ĺĐüćĚţéĎîáͧ¨¦Ubl•š–űöęýíŘüčŇúáÍöâĐöăÎřäĘöăÎöăÎöăÎöăÎöăÎöăÎőâÍőâÍřăÍ÷âĚ÷áËöáËöáËöáËöáËöáËöáËöáËöáËöáËőŕĘôßÉôßÉőŕĘ4DTGQ[IHMňçä÷ćŮűçŐűčÓúéŇÂĚÎ`ruBZbAT\]adîĺÝđâŃöëÔŔÔËdpxKXeZcgöńćůĺÓńĺ×ŃŇÄlz‹O[k§Ą©ůčŮóâѧ¬®XjvAS\ěčŰęăßźĄ©Š§µžŻ^o… 1C!<K[n€-=;O`6KZ*<I@T_>SZ1FN-:)5=JW!.;1?LJUaFR^NXd:XbBUaBDMđčćôçÖöëŇöęŃóč×őçŐ˙ęÍűčĐęćÜëčĺŮÚÓĹÎĐ•ŻĆťĽĚڍą™©Lcr9P[OdoI\c<OX.-'2IQ`]˛ÂąLReĹĹĘęĺË˙âÖűćĎřäÓřĺĐúäĎńŢĆéŢËĽ˝ĽQapRYZś™ŹŢĐ˝úäÎůäÎôăĐôăŃöĺÍ÷ăÎöăÎ÷ăÎ÷ăÎ÷ăÎöăÎőâÍőâÍőăĚőăĚőăĚöĺÍőăĚőăĚőăĚőäĚöáËöáËöáËöáËöáĘôßÉôßÉőŕĘ.?%347?ćáăčÝÚřěŕňč×íäφť¤Sls:RX<LVFFNüěîüăŰ˙ęٰłTdl>KZCU^çëĺöäŇóéŰŹťTjx>R__eg˙řćăßĎ~ŤŽD`lA^eglfäĺ獗ˇ“Żľ ˛’Ą·kz‹x”ˇTj|y‘ ‚•¦BWfG^i?R]@U\9NV0?L7GS0>J#1=6DP#/%1"-9"6F2<K74?˙úűřč×öćÎýě×řĺÔńĺŮűčĐňĺŇÜă䣱ľ¦˛˝‰š§~šµw‘ † °c}‹H`l?UaAW^BR[>PWDWX;F\)8;¨˝·GRgŚ—íčŇüäÖůäĎ÷ăŇôäĎřćĎöĺĚ˙öč©­°Ug{T]]ŰÚÔíßËţčŇ÷äĎőäŃőäŃřäĎóăÎôäĎôăÎôăÎóâÍóâÍóâÍóâÍőâÍőâÍőâÍőâÍôáĚőâÍőâÍóŕËöáĚöáĚöáĚöáĚőŕËőŕËőŕËőŕË,9G!,:7=H #,/.3›ššą»˛ŔÁ¸a|Jbh?UZ>MTEDS¬ ŞýćäüáŇj™HV^;IU:P`mtsúçÔďâ×r‡ŚUnt4OYGVXááŐÓŘĚgz~>[e9TZ7EIÝäîx’8I8IŽ˘}Śťv“ˇ µz’¤cz‰q—Qit<R]@Va6NU<KW<LX3CO1AM/<H:HT;IU(6B(:G*2A'%0F85áŃż˙óŰúäĎţčŘěćŰüčÓňę׾ËĐu‘¨…ꞗ©†ˇĽxŽścy‰Uny=VbCVbG[b?NWDPYHZZEPe@QSPhbP_tZbjóî×üŕÔűćĎůćĐöĺŃöćÎ÷éŃđčÜ{†Uk€\hnŰÜ×čßÎôäĚőäĎóäŃňăŇőäŃôăĐőäŃőäŇôăĐôăĐôăĐôăĐôăŃőâÍőâÍőâÍőâÍôáĚőâÍőâÍôáĚôáĚôáĚôáĚôáĚôáĚôáĚôáĚôáĚ?KT.:F0:H1;JCMW?JQ>LPCRP8KY:NR>RR=PW?M\BIVôôöřóčeŤ™IRULU_/J]Wae˙îÚěŕÓx“ŁI_c@[h8LXqxw¦®®q„‘LdtIZ`2LTHQ`’ˇ˛‘ŻŔNj{.?Pet„^|†rŠ n‡śx˘o`{‰8P\=Ua<V`AQ^?P^9JW6GT7GT6FS8HV8HU7LW8DQ;=EéáŢôćÖňĺĚýíÚüčŮňćÚ˙îŃőčŃąĹĘRp‡/@*<K2@;KWdw„&9D9OZ@V]-7%2:AKTL\[CLaGXZF`[FVmIPX˙üá˙äÖűćĐůćŃ÷ćŃ÷ćŃëŰÇŔ˝˛˘®ł=TlWclvxu»° đăĚöäĎóăŇóăŇőäŃőäŃőäŃőäŃôăĐôăĐôăĐôăĐôăĐóâÍóâÍóâÍóâÍóâÍóâÍóâÍóăÎôáĚôáĚôáĚôáĚőâÍőâÍőâÍőâÍ@JR?IS/:I%3C(8J&9G-BI7OU;FU@MR;IJ5HO1JZ2L[-CEL`O/TdMRSKPY4OeGRV˙÷áéŰĐOm‚gz}:TfCWjPXb‹“ťl}“G[nCQV1N[CPaŚ›­s‘˘sˇŹ lz‰]{„tʦn…ś€™®o‰šQk|4O]:U`9T`<O\;O\1ER*:G=N[<MZ?O\BQ_5SW-@G9CGáâŰůňßëŕÉűîÚřčß÷çÔ˙čĹţďеÂŔo‹žz’˘w„ŠNW\FVd5GQVkuAU`GZa8GP5?G?FQ*75ILeK\^Hc\@PgAIQ˙űŕţâÔýćĎůĺĐ÷ćĐůćĎúčŃäŢĐ•ť¤E_xWbj¨«ŞďćÔôĺÍóćÎňäŇóăŇőâÓőäŃöĺŇőäŃőäŃőăĐőäŃőăĐőăŃôăÎôăÎôăÎôăÎôăÎňáĚóâÍôăÎőâÍőâÍőâÍőâÍôáĚôáĚôáĚôáĚ9JP4BH1<C/8A-5>'%,;1;J6FN2DN3FR2ES1DP8IS7HR1?L?P];P_5KX@P\>P^J`rq…•ft€BX`9MW=P]7K[Ž˘˛Zr|Kbk4MT7PZ.KV…ˇ˛wʤn‰źkžh…™f‚”uťa}ŠB]jXs€d{Š@Tc?P`=P_8CQ*7+<I@Sa8LY2BO(6"+:ALS6=G7:>’“îçäřîŕ÷čĐ˙ëĚęëŮőäŐňäÜŁ«©yŚ›v†˘s†Ąs”Żi}Ť^s…as;N\I[f@QZ;NU6JP;M\@RV>HQ,3@-7@CEJ¶±¬ůéÔŢáÖüęŘöß×ÎŃÝĄÄŐˇÄĎ’®˝“«Í†˘´lŚ·żÄçâŰňâÔóĺÎóĺÎńĺÎóäŃóäŃóäŃóäŃńâĎńâĎňăĐňăĐńâĐńâĐńâĐńâĐđâĎńâĎńâĎďáÎóâÍóâÍóâÍóâÍňáĚňáĚňáĚňáĚ4DK)9BEOY2;D4=G"0)2?1=I6EN:IQ5EQ7GT8IV9IU5CL(.?L5ER6GT<MZ7GT3CP@P];KX4JQ3GS=P]>Qa:M\H[h6JU6KR2IQ2JV`wd}Źd|z“§a|ŚqŚťhŽ<SbAYh;O^AVe/DS=P_=P`<IU5EQ2DO9NY8JU-<I+9EEP\:KW)8D(2y}‡¸»ŔŰŮŐĺäÚëčŮÍŃĹřěâüňꢰŻt‹›ަ—®m‰k‚–§h{ŠBUbEWbCT]BT[<NUI]dK\cLY^9DLLU_/38ëĺÜúęÖďćŐúćÎ˙ňć‚„ŹwŹŁ‚ź©g~Śuڍa}‹Seo]bdľ¸˛ńäÔôĺÓôćĐóćĐóäŃóäŃóäŃóäŃôĺŇóäŃóäŃóäŃňăĐňăĐňăĐňăĐňăĐńâĎńâĎńâĎóâÍóâÍóâÍóâÍňáĚňáĚňáĚňáĚ-=J+9E#/)2?-6@2=F0:D2=G3?I<GT6DP/@M5ER1?K9DQ#/9'7E4DQ;KX9IV@L[9FT)+8F4JQ4HS8KX8K[3FU8KX1EP8MU<QY6IU!4A)<K^rgz‹{Ž vŽť9IUK\iAQ^FZf?R_?Q^;N[<S_BS[5FO:MU;NU9MT:KT7FO=HQ4IW8IV1CQŠś©et^luëř˙ ¬˛N^[ČÄÄőö󑤦–Żżn~’|ŚśxŹ™h|Ťs‡_rDWdEWbK\eM_fGY`HYc@NTfqt^gn=GQEKOřôěřéŘúëĎýćÎóćŰ‘Łt’¬~™©~”žh|’Wn~HZdfoputkđčÚôćÔőĺÓôçĐňäÓňäÓňäÓňäÓňäŇńäŇńăŃđâĐńăĐńăĐńăĐńăĐńăĐńăĐđâĎđâĎóâÍóâÍóâÍóâÍňáĚňáĚňáĚňáĚ)9F)72=K*3@%/9=GQ0>E6CK8BL6BN4AP5AO5BP:GUDP\8BK1BO5ER8ES8ES2?M8BP)7.8F0EP6HR;KYCS`%6C$5B2BM5EQ7JR=MV&6C+;F/<]lyM^k9IV-8C<GS@NZ (3EP8LW8LW<S^CS\:KT?OY@QZFXaFU^?NW<GQ;LX8HU7IVN_lSgw?Sc¦ĽĚe{ŤF_d\dlńőúVns$2-?P3>Mn‚”Thy0?9LYEWb$4=)0&8?*9B2=C*.sJW^CKPňńéőçŮţëÎúćĚçŕŮ|¦Kh‰j‚•\mw`t†[n{@R\OY^_^[îčŢďćÔóĺŃôĺŇóĺÓóĺÓóĺÓóĺÓňäŇóĺÓóĺÓóĺÓńăĐńăĐńăĐňäĐńăĐńăĐńăĐđâĎńâĎńâĎńâĎńâĎńâĎńâĎńâĎńâĎ3BS3@P5?M.7D/8F7AJ6BL(9?-6D)5A3@N1=N2>O#0>'/7E7HU8HU6BQ7DRAN\5?M9DR>HV.?L2BP3FP:LW0?L)9E-:H/<J5GO8GP".8&0&/,%1,:"+.7AFQ[:IQ5FNAT[?U\6OV&6?(1,>G #$-(1(1-=F9AGO\`?KSAPY7ITBUbXp€Tk|1N^@MZ˛şÄq‹•g†•j{Ť7DP\qsK_q,@R`r9LYEWb:KT8JPCV\BP]?JR4?C +.1@G2<?®ŻŞÚŃĹüéŇúě×ŇÖŇ‘«Á†¤ĆuŠśŹž©|•Ło€ŽWfoLX]DGFŮŘÎęáÔóçŐöçÔóĺÓóĺÓóĺÓóĺÓńăŃňäŇňäŇňäŇńăŃńăŃńăŃńăŃńăŃńăŃńăŃńăŃđâĎđâĎđâĎđâĎđâĎđâĎđâĎđâĎ3DQ6GS2@N1<J2;H5BN-9E%2+7(63@N/>O7FV)6C0:H?LW;KX:JW3DQ1AN0<J&4 &.;I3CT4ER1CNCS\>MU1?L1;I,6H4GS;IU5?H'0:#'3 )3#0<,:&31>J:ERDQ^DS`@R^?S^9MY1DK6GP+9B +5&2<&1;0@H)207=$(.$17'-:MT?R_J_n,L[CS_z„~™¨g‡{ŤŁ‰—¨by|[n“§¸M`o7KX?Q\>OX<NU:MS@M\BNYEPSARX:MU:GNŕăâóîĺëâŮŇĘŔ““ź¸w°‰–©‰¤|ŞO_kSblVcgAHGăăŢăŢÔóćÖóăŇóĺÓóĺÓóĺÓóĺÓóĺÓňäŇńăŃńăŃňăŃňăŃňăŃňăŃňăŃňăŃňăŃňăŇńăĐńăĐńăĐńăĐđâĎđâĎđâĎđâĎ3EP6FS2@L.:F.:H6AO0>L%2@%3?.:I1AQ/?O1AQ/>N0<J8GS7HU5FS5FS4ER2CO,9?P\=MZ5EU0BN4CO3DM%.%108F29J8IZ8HU&.;%*5(.9'1:,4B"/= /:3AM:HT?O[:MX@R]=OZ<Q[6GS0@L9GT%)1>0=I8FS$0&.=.6C;GQ:KQ;MT3FM<MXAS`-IZBM\~‰”š§Yz‘uŠ Xey[r|ThzOcu{ŽťDWdI[fEV_ASY@SX;I]?MYBSYDW[=S[<PXŞłłíéăŮŮâ¶ĽşYlpv“§z‘­‘˘„ h‹˘UbnSclP\cOZZEJFęćŰíăÖőĺÓńäÔńäÔńäÔńäÔňĺŐńäÔđăÓďâŇđäŇđäŇđäŇđäŇđäŇđäŇđäŇđäŇďäĐďäĐďäĐďäĐîäĎîäĎîäĎîäĎ4HO1BK7FR*7C-8G09K-:J-8K.=H+<I/?O';J*>M.>N,<I4BN5IV3FS4HU4ER/@M(9F)9E5FR.>O2DP3CO2@H)4=8DO5=K4;M(<M)7H -',6-0:).9/8F1>O&7C->K8HU8IV>O\GWe;LY6FT3CQ8HU+4C#18@O?FUCQ_%3'0G6DX6GS1AN<PW;MX7KX>Qa3P^@JUEKX6Qb'J_‰žĽdt‰ &2Pcu/A1@AUbEWb>OX'9@L^c?NdGXf@PWDX^8P]H]fS\`ŐÔΖš­^fm…śž]{Źfw“}€ŤšŞeŽ©U^jNYdAPVWehU]XöőěîäÖúéŘńăŐńäÓňĺÓóäÓňăÓňäÓńäÔńäŐđäŇđäŇđäŇđäŇđäŇđäŇđäŇńäŇđăŇđăŇđăŇđăŇďăŃďăŃďăŃďăŃ0=I0>J(13<F.8A2>J0=K1>M*8D,=I'8E+>M.BN2DN3EM3CI1@M/?K1AN4DQ6EV,;K+9L/<O/@J0AO,@P0CU+>P/?Q)9I*7E-<M);G!3@#1?#.="2>*8D+<G*;H-?L2CP5IV2ER9Q\:Q]8Q],CM 7B"7B:MX9JV6GS&2,8.EN5HR=MY>KW4?K4?KCP\<IU;JW8ETAMY:CO2<IDTbuždy’9IT0AM1CM2DOCVa*;D<LV$.")'4<E*4<DPWKW_YfoGY`€–Ą@Uew‰šPaoQbrt‡K^o<K\LdiEX_HX^@EK=<>ŤŠ‚ěä×íć×ďëĆňčÝěçěÝăŰŕçŘćäÚîä×öćÍěĺÔíĺÔíĺÔíĺÔëăŇëăŇëăŇëăŇěăŇěăŇěăŇíăŇěâŃěâŃěâŃěâŃ,<I+7-9E-9C*6.9G*7G-;M3AM0=K-=J.>N0AN5EQ3BK1BH3CP4DP->I7GT6FS2AR1@P0@P0@L0@L1BO7FW6EV+:K+8F*6B,>K/?L'4B#.<)1>#/;'3?)7C/;J0@M1AN4ER6JW;N[.EQ/EQ/EP-@K+@K8JU<LX5EQ1?K9GS8NY2EO%1)58DP3?K/=I-:F,<I5APBNZ'4=)5 #%5F(9M0@L5ER3BO:JVFVc!2;6GP=OX"*3DLU9EL>HP)15BJ,4<MRjzDXeat€zŤťViwCUfi{Śx‰śH[bNahFU[V_cLQRŘ×ÓćáŘęâÖćéĐĎĚČŠ†ŠäćÝććÓęä×ěä×ňćŇíĺÔíĺÔíĺÔíĺÔěäÓěäÓěäÓěäÓîäÓîäÓîäÓîäÓîăŇîăŇîăŇîăŇ2BR3CP1=L)7C-;I-:J-;N/>Q4@K7BP0<M-<L3BS7DR9EN8CN8GP1@I2@L9GS1?K1?J.;I,9G5DL/>G->J3CP:JW2?K-8B09C0AN2>L)4B(0?)1>%-;)1?*6B/9H0=K2?M3CP:JW=N[8HV7JX7KV5JU7HS7IT:JV1AM6DP;IU5GR4DQ3AM=IU8DP.:FFT`6GR3BS3@N@LX"+5.8B'09*6B0;F2?M0=L2AL8EQES`7FOCR[APY<FNFQY<GOGQY&4<:GOGT\EQYWiq6GOI[fSdpzŤśl€‘l’i}’I]aIYa4@EALT>BFŠŹçčçŢÜ×âň妪°XW]ęéŰęçŇěĺÖěăÚěĺÖíĺÔíĺÔíĺÔíĺÔíĺÔíĺÔíĺÔíĺÔěäÓěäÓěäÓěäÓëäÓëäÓëäÓëäÓ5GX-=M9IV)6E*7E*9I)9J(;-"0.;K2?N3@P-:H!.$-7".8%0:$09*6@=IR.9F%1=5AM8EL0<F1?L7DPDR^2=G3=E,6=.;J4?M,5C%-:)/<'0=-6?/9C1:H4?M9DR;HV?KY<LY<MZ7HU;MW9JU5HS<KX8HT3DP9FR:HT3DM1CL9HQ?JT'0/:D2BJ%7?'7H7DR@KW:DM7?H*5;8?F3;@4=L@HV3;H9EQFR^NYcJV`DOZHV]DQYES[AOWCPXFS[IV^@MUDTZBQXEV_br~x‰–t‡–fx‰H]pIV\R`fLX^JS[U_b†ŚowzĄ¨¬Ś¤¦•ž­[]iÜŘĘîéÎîćÔęâŮäăŰěĺÖěĺÖěĺÖěĺ×ëäŐëäŐëäŐëäŐëăŇëăŇëăŇëăŇëăŇëăŇëăŇëăŇ(:K.>N/?L&3A,9G2BR-=N!3F08F0:K9GV5@S.;J/<J'3?7AJ*6(4%1=*6?-8B+4$.)3%()55DP&2;)0)0"*-$/>7?L)1>',9#)6 &0)2<+3=-6E.7E'2@*4B<IW8HU:JW@P]<LX5EQ9IU9IU9IU7DP6DP@NZ<KS>MV>IT@IS1>H7BL6EN2CL=IX8ES&5@&1>2=D$+2"'4;<(/?$409F7@M?LX7CM&1<&6?1BI8IOMYaGT\VckN[cMZb;IQFQW;JOHU]CS[DR^4DRgx„6GYJT\R^dCOU>JPEOWIS[blt‘<Y_}ŤˇOQ^ÚÚĚďęĐîćÔěăÝćĺÜëäŐëäŐëäŐëäŐëäŐëäŐëäŐęäŐëăŇëăŇëăŇęâŃęâŃęâŃęâŃęâŃ.>N;KX<IW+:F1>L7DT+9K)8K,7E.7I/:M0?Q/=P6CS/;F/;G+8F&3A,:F)7C/=I,:F+;C$3< ,6(4@&5A-:F*6$+$$(+8)5A)'5*#"-)3%+9)7"08DR;LY:KX6GT!1=&2/;(4)7C*9E.<H$1>&6>/;E.8B5?I+4>9EO.=F3DM:HT3@N0=L.<H-9C"*4(*/67&-=")8)2?;CPCO[AQY7GO;IR*9@/>E,2/5(5=,9A2?G9FNIS\?JRGRZ;FM0:D7AK%/9\foEPWQ\dGSZ>IMYdh+6:ISZhoyOin…“¤\`nĐŇÉçäÎęâŇęăÚçăŮëäŐëäŐëäŐëäŐęăÔęăÔęăÔęăÔęăŇęăŇéâŃéâŃéâŃéâŃéâŃéâŃ"2?!.:'3*6@*6B9DR4AQ-;M.;K2?O1?Q1AR4DU4DS/<J0>J.=N)9I+:J%6B*;H0@L&6C*:G.8G&3A*6D'8E/=I'2=(-"-0&4A+7C/7D(1%.#-".5$.6"-<%0>$2@,8F1BN9JW:KX:KX*7C1>J0=I,9E1?K-;G9JV%6B/:E(2<+5@(2<(1;9EO.@I6HQ5AJ0<H5AP.?L(4C'3=&/9(06,2C)3@)1>4@LAO\AR[<LV;OW1CJ=OV8JQ<KR?PWJW_<IQ'4<6@J09CCLU3:C:@F29@;=EHJR@KUV^hNY\GTU1=?HUVMY\SYbCVSR[hgj{ą˝ąáäĐçăŮčßÖîçŘëăÖëăÖëăÖëăÖęâŐęâŐęâŐęâŐęăŇéâŃéâŃéâŃéâŃéâŃéâŃéâŃ0<H*7B7BK'1(2.:F4AO1>N,9J)8H*:K*=N-?P2BR,=J0?K-;O+8K(7G)8I5EQ2CP%5A*:F&3A.;K&6F0?O1AN(7?!.6%16+<H-;G0<H )3'1(2&19%3:"/?%2A)5D,<J.?M;LY7KX2ER7CO1>K6DP4BN3AM3@L2BN3CP7BI7@H;EMELU6AH3@G+?E3GM19C1>J5AP,<M(8I%2B(3<,5=,6E.6E,8D/=IANZ>OX7KS<OW=PW@SZ<OVEV\DU\>KS<JRBPW@HW?HRDIU@EN9;D*(/<=@HDF>JTV^h?IM9EGQZY6>APY]KSYR`VJR]EJ[^fdÖÝÍŢÝÔňčŕńĺŃéăÖéăÖéăÖéăÖçáÔçâÔçâÔçâÔéâŃéâŃéâŃčáĐéâŃéâŃéâŃéâŃ$@Q$<M+?N&7D)6E2>J7?L/;D,=H/@M3CT0=T-<O5DT3>J7AI+:B/=H,8F,9I1>O3?M.<H+:B-:I+<I)8I0AQ,;K.:I*7$-7(9K6FS+9E#.5+2*2%08$0;$4<&5=':B,=E*=H6HS8MW<O\7LV8MX0EP5GR2DO0CN3CO4DP3MT/HP8NV?T\"1: *&0!(2'4)50=I%.7)2<%.8-2>29B'-63;E2>J-;G@P\<LY7EO0AH9@IGNX5@G(2;KV\JT[MT[DHO>IQ>KP>IO:EL3<C5<@:@F=DIAIOMW^NZ`HTXNZ_HTYBOPIPT3GGL\YFPKQUOéçŢäâ×ăäÓâĺŐćâ×ćâ×ćâ×éâ×čâ×ëá×ëá×ěáŘëăĎëăĐęăĎęăŃéáŇçâÓćŕÓĺßŇ+BR*@O4DT)6D+6D.9G+7C,7C5EQ'9E.>O-:Q0?R5DT3AM/<D1AJ3AN5AP.;K6CS4AO0>J-<D/:G(5D(9F/>N3DP(6B(1;!-4*:L.?K'5A!,3)1!,4%08'3=%0;,8B%4=1>K5ER6HS5ES8KX3EP8JU+=H0CM9IU.>J7GS3CO2IP5HP6IQAR\0@H,8B*4>6?I.=I'3?2>J(2<%/9 )"..6>#,!++7C3@L<MYEVb(7@"39(1;",61=G8EM&.#+"(*28ALTCPV?IPDLS5=D>DI.49?BG<DKISZHTZAMQJVZT`dIVXFNRN][HUUNVSab^ďěĺĺăŘćĺ×ęęŮŕăÖăă×ăă×âă×ăá×ăâ×ćâ×ćâ×äáÓäáÓááÓâŕŐâŕŐâŕŐâŕŐáßŐ0BM1AL7ER)4B.9G-7H(5E.-8-=,<M,;N*9M,;K*6$.'0 ,-%2B5BR)6D!/;.6+3=!.:&5@5BP7EQ+7A$,5'18*;L6FS-;G!,3)1!,4(3;$0:-6@'0: ,9#/+8D7HU1AN9JW2AM(8D/?K(9E1>J>LX1?K@NZ5CL;JS=MUEPZ?KU/;E1:D9BL/>J,7C6BO+5>%/9"+5(-9+2;*1:(1;(4@0>J:JV:KW>MV5EL:FR8DP8FS<KT5DM@LWAMT,4>,8@&07)3:,4;"*2-380386:?DLSHRYAMT6BF.:>+7;5BC=FIANNX``LQQPQMĎŃÇŕŕÖčĺŰáßŃÝâÖÝâÖÝâÖÝâÖŕâÖŕâÖßâÖŕâÖÜŕ×ŢŕŘßŕŘßŕ×ÝßŐÝßŐŕßŐáŕ×5DM6AM=FS,5C/7E-7I/:L"0C&2@,<L*;L*:K+;L3AQ-9/>F(7@-9-9H'3D.;K&2@"/;%.&-!+5&2>3?J ,!+"+$*(9J*;G%1 *2$, '/$0;"'5&/<'3%2A:FT7GT'7C!-%5A#/-9#1=$0*6B!- +5 * *#-+5.:D,9C5AK4CO)5A6BN4=G&0:$-7(.9*1:.4=*3=(4@0>J5EQ@P\@OX=NT:GV@NZ;KW9IU9IV>NWFR\8CM:CL;EL4?F8@G-2:3:?8<A<?D<DKISZMZ`HTXEQUEQU>KMBKN@GJ?DEHMLTXWăăÝáŢÖćäŰääŘŕâÖŕâÖŕâÖŕâÖŕâÖßâÖŕâÖßâŐÜßÚßŕŘŢŕ×ßŕ×ááŐŢßÓáŕŇâáÓ2>H'2>&/<+4B2;I6@Q.<O*:K,:J.;K-;M-=N,<L4DT-=J-:F,=F-=I*;H(7G5DT6FS'7C&8A*5<&/9#/;/;G.:F)3<$-")/&7I*;G!/;&-!)&.(3;,6"*8(1>'0<)3B%3@7DR<LX4CT.>J0@L2?K-;G0?K2>J1=I6BN4@J.:D7BM8DN6BL($.1=G&5A)4@6BN7@J%/9#,6-3>+2;-4=/7A(4@/=I7HT?O\IXaCTZ?KZAR^<KWAT_8GTFU^COZ>HS;CM<GN>EL=FM06><?D7;@CEJ9AHKU\MY_NZ^LX\MY]KWYHQTUZ]PUVKPOOTRĎÓÎŕâÜĺĺÜáâŘéçŰäâ×ßÜŃăáÖŕŕÔääŘááŐÝÜĐŕŢÔŕŢŇçäŮáŕŃŕßŃÝÚĘáŢËćäŃ"0< .9.9F*5C!,:+9I/>O.>N3<N1>N.>M-=M+;K2CO+;H.>K4EM.>K3CP,;L2AQ9IV*:F,=F4=G*7C&4@4AO7EQ-8B#+4",3+<M)9F(6B *2!,4)1(3;$0:,4A)1>%0?+8F,8F5FR<K\8HX7GS7GS4DP5FR7EQ6DP7DP<IV8GO:IR9HQ?IT9EO*4",6+4>!-$0+7C"+ *4&0)/:+2;.5>.7@(4@-;G:KWDTa(7@"28)5+77GTEV_+=F+:C:GO)4<'0:)18.6=.4;#*126:,/41389AHCMT:FL0<@-9=.:>3@B*46;>B:?@=ACIRQŘßÜŘŢŮŰßŮÜßÖćâÚßÜÔŕÝŐăŕŘÖŇĘĺćÝÝŢŐăäŰäâÖßÜŃâßÔáŢÓŰÚËćć×§Ą—ąĽ¬3CS+;K/?O&3A/<J2?M1AL/AL3=O3?Q1@P-=M/@L4ER,=J2BN0AJ-=I1AN*9I4CS:KW.>J->F/:G.;J'8E0?P8IU+9E%.8)1+<M/?L5CO*1 +3)1$/7#/:'3?)4C'4B)5C&7C2BS9IY1ET7IS;MX8JU4FQ8HT8HT6FR>NZ1GN;MU8LS=NX;JS0;F&/9;EN)7D&2>:GS0:C%/(!&2(/8(.71:D/;G*8D>NZBR_?MV<MTBLW;KSAPYGZa8IO5AJ>JP7BH8?H:BI:BI8>E(+326;/271386>EHRYKW]JVZ@LPAMRJVX>HKIKOHLM?IINYW»ĆĂľČÂĐ×ŇŐÝÖ×ŰŐâćŕÓÚÓŢĺŢ×Ţ׻¼×ßŘŐÝÖŰÜÓßßŮÝßŮŐŮÓäëäÚáܬ¶°€Š2EW4EW8GX&6C)5D.=H0AM,>F37M4=P1@P/AM0AM8IV,=J.=N,>F.>K.>K(7H6FV5FS-=J&8@+8G):G$3D/@Q6EV+8F'4@'2*<M1AN3AN)0'/)1%08'4>#1A$1@$6C'8E):K1AR3GV5GW9NY:OZ6KV:MX5HS5HS1AM:JW5OV3LT4JR7KS;JT1=G%0:4=G6ER*5B6BN2<F)3(2(-9$+4%$-7+7C*8D:JVBR_HV_DT[GS[FRZ?PW@PW>NTBPVKV\?IO;AK;CJ7<C@FM.1:15:58=79>4<CBLSERXHTXHTXFRVJVXFOSNSULSV=GGANLw‡‚z‰…ž§ˇĽŔ»´ľąÇŃĚ“ť——Ąźy†€o€xt…~ŻÄ˝ČÉČľÂŔĹĘÉŃÚÚv‚‚v…‡‡š›dx|*KS2QY0GR-?J.<H.:F7?L3;H1AI6FN7GT3BS/?Q3BR4@Q1>L-<D/>F4BN)6D0<J;IT1@H,:C4?I/;E+9E4BM8FR2>G+6=&06,9F7DQ:DK$.4#*1%,3*3<)2<06>/8@-7@*6?.<H2BM8IV8LY<JRAOX>LU=GR<GQ@KU@LVCLVEOWDMU:DK:DL2=D.4=04=?>H5BL%2;5AK5?I&/8"+4&-5%,5$-6,5?,4A-9E@MYBR^EV_9MTBRYGW^=MTAQX>NU>OVEV]:LS5?F=GN3<CGLT,3758=26;:=A6;BHOWJUXHTXJVZFTUDPR/=>=@E9@B;CGFQRizwaupn‡~b{rl^ui‡d}|[rp[ljcqk}Š}m|cvw^uv”«°t‹‘Ў§wŽ’|•.JT1JT2FQ/?K1@K4@L -8*"+,9/?L,<L4DT7FV&3C)7.7!09#1=,:9FT4BN'6>-6"-&0%4@5CN'5A)"*!(#4B0>J#,6'0%+$.%.7#,6'2(0:*3&3$2>6FR3DQ)=K,4!* /8$-!,6*5)3'1%/",&0$/+7B%/#03> )&02>H*3>'/$-6%+4&,5"+4(1;*3@/;G3AM@Q]CT]6JQ&6=-4,<CHX_2BI-=D3CJ1BI'1)3:%-419A!&*.3$(-,059?FGOV2;C+7;/;?/;@;GI9FHJPT?DI>IMIVXCQSbwt\sp_tsUthpŠ`|rczucvt[libpn}Їy…Ž‹›ˇ«¶„—¤ŠťŞzŤš{Ťn€‹4JV8KX<LY1>L+6D5?M(4C!-<,<D*:F2CP/>N-<M1AQ"3?"/=,4$1'5@$1?1>L,;F(5$3<(3=-;H"0<.?L1>J*5?(/ &&7E-;G%/"+ $(1&0)*4=&.<"-,9E:JV2CP(8F$5==NW$5>3AJ/>G.>G2=G'2<3CL-<E2CL3DM9HP/;E#,6;?J$4A#,/<E(2$.$(1"(1$!*4(1>'3?1?K=MZ8HQ(;B7FM?OVGW^BRYBRY=MT/?F0AH4=F@IR5=D@HO(-5.59,/41498=DFNUFPX?KN>NPAMQBNR<IJBJQ<FM<GM;IOy‰Ž~‘|Ź–xŽ•]tpvŤ^wlUja\nfdvr_jnt‡`m{s€‘x†w†šfwŠ[j~m}Ź^l.>K.>K5BP/9G/:H0=K.?L(9E.;H1AM3DP,@O+>M7GW/?L+9D1@H)7C+7F"/=1=K7DR2@L-<D,8A+9E"3@2BO9IV1?K(1;(/,=K9FR7CM)1 *$-(1;!,5(1?*2@(5@)8C,=H3CO:KX9JW2EL5EN6GP5FP5CLN\eKZcN]f?PY7JR7IQ7JR7HR0?H&2<5?I4BO"/+7C;GQ!+#.!*3&/#,5'0:*3@&2>2@LAQ^EV_BU\BRY@PW?OVAQX@PWAQXCSZCT[2>EAJS+5>DLS05<+1947<48<1:@@JQEQWESZFVXBRUAMQ<GK?IPAMR1>F>MVv†’w‡•l€Ťr…–cvz^qnXkbRdV\nay‡„cqxw“cp~z†—v„—{‰ť}‹źfwhwdq‚(7D*71>K1<J"/=3@N4DQ,=J2BN3BP1@Q+>M(;J7GT8HT)9F.>J-=I.>K&5E4CS7GT3DO,<I0>K/=I(8E4DP8HU8FR(4>(0(:G3DQ7CL&18"+ )1%0:'0>'2@+6D*8F0<J,=J<KY:LW>P[8KS8KS9LT9LT6GP5FO:KT>LU5IQ9LT8NU9NV7KR5FO+53<E5CO!/;+:F8DQ",!+6"+5$-7'08&/9'0=(4@-;G?O[CT]>RYJY`GW^=MTAQX?OVHX_AQXGW^/:BDOW6>H@IR-6<16=/6=45>/6??HQIU[GU[DRXBRTEQU=IM=JP=IN6BJ<KT`p}eu†N]nQdw:JPWfiVf^M^Q`ndhts„Žir…Wfobt|Xht\mzOancrJYbJW_-@O1@P5DT-<L.;K1@Q1AR-AP0@M3EQ*=L)<K)<K4GT9KV,=F3CP4DQ4DQ)8H7EV8HT2BO.>J3@L->K$4A-=M<MY7EQ*6@!,3,=N4DQ6DP%/9'.",6)3<*2?)7H+8I,9F->K0@M9IV<NY;MX;QX6LT:MU=OW:NU;LU=NW<MV;MY<MY;OZ<Q\:LW4EQ*6/7E/@M!.:+9E7CO(5",6!,6"+5)2;&/9&/<'3?*8DAQ^BS\-AH$4;(/ 07AQX<LS&6=(8?$5<+4?BLV2;CBLT28B-5<06=4:A39B>GPLV_ESXCTZCQWCQX?JN=JP9EK6CK;FP;IVUfs[kxSbtcv}kz}bnn†ŽŚ‹“‘{‚…qw‹–_otv‰Źarzp„‹bs|ex~lz€brt2IX0ET6IX-<M,;K1AQ3CS+>M.>K8HX2ET+>M)<K2ER9KV+<E3CO6FS6EU)8H3BR8GW3CP2BN6DP1BO)8I2BR6EU6BP-9B"+5/@Q4DQ9GS)2<$.#-7'0>'4?)9I+:J,;K/?K,<I4DQ7JU:LW5JR9NV<QY9OW<NVAT\EX`?RZ;JW9KV9KV;MX9LW8FR!.94<I1BO$5B/<H7EQ(5!+4#-7",6)1:&/8%.;%1<.<HCS_AQZ&9@5EL:JQ?OVBRYEU\<LS@PWCTZ3<FEOY1;EDNW07@18A39?27>1:C=FOHU]BSZFV\CSYESY@LR>GOBKS3?ELW_ERZ>ITM]fZirŚ ĄaqwĄ°·†‰‘xz‚{~‚‰Ś{„‡^mv€‘™FVb• n~Šx‡{ŠŹDPV0M[0LZ7M]1EU0AQ2BR4DT.AO0?L4CT2ET*>P+AP4HT;OU,=E3CO3CP5CT+:J2AQ:IY2CO/?K8FR3CP(8I1AQ9IY7HT2>J)3/@Q1AN:HT(4>$.%.8(0>(5@(5J+9L-<L0?O6FR9IV5DP;LX5MU9MU:PX:OW@V^AS[AT\?RYBQ^=LY:LX<NY9HU6DQ"*82:G3DQ&7D.:I2AM"/;"+9#-7 *5(19*3<*3A%2>(7C?O\HYb:NUBRYEU\CRY;KRFV]IX_:JQGW^1=H>HR.8CAIS09C.5>04>49@/8A>IQER[FW^DTZBRXDRX?JQ@KN=HK<FM7CI:FLAOVSagVbir‰ŤK^epy„ccstp~lhrvyx„Š‚cn~w†—z‰šs”q€‚Žťgoz~?O\?NZ7FR1?K1>K2AQ/?P.?S/CO.AN3FU.>O*:K5EU9JX0@M2BO4DQ4DQ-=J2BO8IU5ER0@N4BN0@M"2?1AR8HT6DP.:C",6+<I:JV4EM(7@%/%2<'/=.6E*:A+9E,<I/>N.=N:JW8KV9MT7JR;NV<OWCU]>QYBU]<OWAT\=QXBU];NU;NV=QX3BJ(2/8A.<I+9E0<H8DN&0:$/8&/9&.7$0;)2<+5?.8A+4>=LUDU^>RZ>PWDV]CV]@RYEX_FX_ASZEY`9EK<HN2<C?IP.6=6;B06=4:A7;D;BILX^KX^EU[?SVARU6HJ?HS:EN7AIGPTCLOGSTT`dQac7JRJ[bS_e[gjo{~Ź›˘Ł°Ľ|‰™Xqvt†Žr}ŠŚśl€Źm„Zovo|„/>O8IV<LY0>J8ES4CS/?P.?R3FR2ER6IX0@Q,<M4DT8IV-=J2BO3CP4DQ-=J0@M5ER0@M.>K/=I2BO 0=1AR?O\7DP0<E"+5+<J9IU3EM+:C%/#/9&.<,5C,<D,:F*:G,:K/>N9IU;MX>RY:MU9LT8KS7JR@S[@S[>QYCV^=PX>QY=PX:MU:MU2AJ ,61;D;JV*8D6BN8DN*4>",6%.8&/8%1;)2<+5?,6@7@JAPYGXa-@H7GM2AH+;B1AHCSZ#3:$4;%5<)/4AG09@@KQ08?.7>27>39@9>G:BIIU[ESYCSZCSVBSV9JM<IQ;GM:EI?HL:ED?HKNZ\OZ^5HO8FM[gk_kmZeikv}t‚Ťx‡—_u{n~†‹”˘r}‹t„‘u‡•ct}x†Ť':H%5E$1!2=$1,;K1AR0AU1DQ3FS4GV.>O.>O7GW9KW.>K4DQ6FS7GT0@M/?L9IV6FS-=J1?K-=J#3@/?P7GT8FR0;E!+50AN9IU5FO0?H&0!.7&/<,5C+;C,:F):G-;L,;K3CP7IT:MU8KS9LT=PX?RZ9LT=PX@S[CV^AT\?RZ=PX8KS<PX4CL$0:09C4CO-;G/;G:FP,6@!+5%.8$-6%1<)3=*4>,6@3<F>NW>OX!5=)9@%5<-=DAQXAQX4DK>NU?OV9DJBNT2?DBLS29@/8?27>5;B3:D6=DHTZESY@QW@QTCQT6EHETZ<HL6CEAIIbjj^gfV\_NVY?MTT`d\ijJVXFRUix€’˘i|ŹŠťĄŤšU\i}–o~‹u‰”_o|PZd,?Q*=K5FS,<I-=J.>J3CS3EV3FS6IV3FU.>O,<M5EU9JW.=J1AN4DQ6FS.>K4DQ8HU4DQ/?L2@L3CQ%5B1ARIYf/=I3>H!*42CP6FR0AJ-<E)3#/9&/<.6E'7?*8D*:G0?O2AQ5ER:LW:MT<OW;NV@S[=PX9LT@S[EX`?RZ>QYBU]=PX?RZ:NU4CL&2<1;D4BO/=I2=J7DM/8B$.8)2<$-6*6@+5?-7A-7A5>H<LUCT];OWAQX<LSAQX:JQGW^AQXEU\DT[6DJ<JP2>DBKR+5<19@*3:4:A29B0:AFRX@NTFSZDTVBRT8CGFVXBMR2?A=FEMQRBGG:AD9>CCOSP\^forIUWKV\‡–٧»ĚłĚá®ŔËy…fm|t|Št{Ťšlz…\er4K[1FT:NZ.?L.>K3CO1AQ4CU/BO3FS6IX/?P*:K4DT6HT1AN1AN3CP7GT0@M0@M8HU7GT/?L2@L4ER3CP+;L3CP4BN3?I)3=->K<LX7HP,;D ,6+5)2?.6E-=E-:G+<H,;K0?O8HT9KV<OV9LT<OW<OWBU]<OW?RZ;NVBU];NVAT\<OW;NV>QY4CL*6@09C6EQ3BN+7C<HR3=G#-7)1<&/8#/:-7A.8B-7A09D<LTGXaAU]DU[DT[@QX<MSBRYFW^P`gFW^;IO1@F3>DFRX-8?,3:.6=-6<3:C.8?EQV@OU>MSCNRFRV6@E@PSIVX0<>>FECLKGMP',1/7>?JNEQRNWZ?KM>KR\mx]t„[t‰_t@O_LVgw„”x‹šr‡–‚’˘Ž—¨2J]4L\>P`/@M5EQ5ER2BS5EU2ER3FS1DS-=N)9J5EU7IU2AN3CP2BO4DQ.>K3CP9IV7GT.>K=KW.?L"2?3CS1AN1?K3?H,5?,=K9IU6GP-<E'1!-73;I(1?"2:9FS*:G,;K.=M5ER:LW<OV8KS<OW>QY?RZ=PX=PX<OWDW_?RZ>QY:MU?RZ:MU6EN-9C,6?4CO2@L*6B?KU7AK!+5*3=)1:)5@.8B-7A.8B3<F7FOEV_=QYKW_ANV4AI#081>F>KS(0 )&4:0>D7EK:FL/9@&18+3:/7>18A.8?COU>JP>MS@LP>JN4<@AMQIUY1>?:BF<EH>ILhtzx‚Š>IPDPTN[\?KM8GJ4GNp‡–n‰šh€”“¦Ž ”Ł´“ŞşŽ§¶“§ą‰–¬0HZ4JZ<Q`2CP4DP4DQ1BO5DU5HU5HU3FU/?P'7H5EU:KX5DQ4DQ3CP6FS/?L4DQ9IV;KX/?L3@L/?MYiv6FV8HT5CN5AJ,6@+<J6FR6GP-<E%1;'4='/=19HP`h(6B0AN1@P.=N6FS=P[<OW8KS:MU<OW=PX8KS=PX>QY>QY:MU<OW=PX>QY>RY6DM0<F09C6DQ5CO)4A<HR8AK!+5&/9&/8(4>-7A,6@-7A/8B4CL;LUBV^$19$19.;C1>F8EM@MU5BJ;HP8IO:HN.<B<HN4AG-7>*5<+3:07@,6=BNT?KQDPVALP:BF5>A;HMGQY1<@=HL;GKCOWGXa2DP9IPCQXIUY=JLFUX;LS|’ť}Ąrަ_vŚhzj‘^zŠ]{Ž]uŠ\p‰2M_+FV8M]/AN/AL4DO4ER:JW3ES3FS4GW0?Q*:L8HX:KX3BO/@M2BO7GT.?K0@L6GS;KX-=J8EP9IVŻľËDSd7ES6CO5AJ/9B.?M6FR8IR/>G#/8&3<3:GmsSbkAN[*:H0?O-<M3CP:MX5HP>QY9LT>QY?RZ=PX<OW>QY=PXARZ;NV:NU:NV:NU:GP5?J-5?4BO7ER)5B:FO>GQ*4>&/9)1:%1</9C-9B+7@/8B.<E<MV=RZCNX<HQDQYAMU:GN8EM&3<=ISCRX>NU7EK;FL;GM;EL:DK6>D6<F+4<?KQ=IPCPW?KO4>A9?C>GQ?IPHRYMV]KY_<PV@S_(AN4FP<MTHSZS^bFUWBU[OcoPitBcKe‚Tl„Pj€Gj~Lp…Li…Tj‰4EP6EQ4DP/<J/<0AM8KW.DP2JV)?K9LX1BN(9F6GT7JW.AN/;J6CQ4DQ*9J1@P3AS0@Q1AR0CTMbqť¨B^g2LU/AL:AO03C.=H9KV7JR0?H)/='-="2C«ÄŐMejH]e/AL.<M1>N7DR>LX?PY9MU>QY?RZ>QY:MU?RZ?RZ>PX3SW>RZBN[BNZ7IWsŠ•*AH"1:6BJ;HP.;C7GP5FN2>H1;E.7B$5>,5>43B12A0<H$6A/ALHSa=TT>RW>PWAS\*:C(6<>HMJWT>RW9MR6FL5FL8GM:GL?IP=GN9HK7FI;GK>IM@HLINS:@E=?D4AG?KQANTFPXCMT=GNBIP@FM7BH?JPGV\FTZJV_HX_JZ`P`fN]hO^jM\hO^jM\hL[gM\hN^j*<I 3@%6C.>K.>J3CS6JX=Ra*BNG]i5HU<LY):G6GT5IV.AN0<J4AO2BO+:K0?O1>Q8IZ2AS/CUtŚś€›¦;V`9R\4EP6BN07F0?K8JV7JR2@I.4B2;IBRc‰¤´OfkEYaEWb1AN5AO;GV<MY=NW;NV=PX?RZ>QY:MU>QY>QY>PX3SW9NVAMYAP^‰ź«TnwEYd!3;5AH;HP4AI7GP7CM4AK8BL8AK-AH1<D58C38B(6B‹ž«j~Š?N\>RW:OSASZ?PY?MW@PV:LOERT@TY<OT9IO9JP<JP=IO>HO=FN<KN8HK:FK:EI9DH9CF39>;@E@LP=IMDOS>IMBMQ>JM<GK7BF:FJ;GKCQWGU\JX^GW\EU\GW^EU^FV_EU^HW`HXaHW`HXaIYb4LX,BN8KZ/?O-=M4DT5GX5IZ~—˘Lbn?Q^6GT*;H6GT7JW1DQ1=K4AO1BO-=J,:K4CS/@O/?O*>P§ľÍ{–¤8S]?U`7IT4?K27G5CO6JQ7JR4BK09F5=KScsqŚśLglH_fCT_+;I1=L8FQ;LU:KT<PW9LT9LT>QY;NV>QY=PX=PX7RX<QY>MZ*:G¨ÁĚl‡“I`j>MZ1?H:IR8GP5@J8DN7CM;GRAIT0FJ:HN>GP<EO *µÍÜu‰šASeAUY?PXBU[@PZDV]=PU@SVCVX=QVAUZ?OU=KQ>MS@LR=JPBJR=LN8HJ8CG4AD0;>+7:6?B=FJ6<ABGL/9<ENR=HL3=A?KO;FJ>JNAMQGVYFUWIW]JZ`HX^HX^P[cR]eS^fVahU`hWbjYdkYdl:T`5K[4JY1CT5GX<M`8H[;Pa…ť©H^j>Q^/@M%6D3DQ6IV2ER1=K3@N1AN-=J.>K9IV7GW/?P,AW¦ľĐ˘°Tlx<R\:LW5CO8@M4FN5IP4IR1BK;BO7AOŠź°}š¬WpyI_jEYd>MY(8D4CP;LU;LU;NV<OW=PX;NV=PX=PX;NV<OW9U[>PX2AMFXh±ĚÚy•˘CXgL[h6JP5FO9HQ;GQ8EO=GO>KS?KT6ML:LNBLTAOWJcn°ĘÚi–DWnDU[ASZ?QW>QX@SZ@TY?TY@UZHX^EU[?PUGU[APU@LQ7CI7CI?MS=KQ?NS@KQ:FL.:@8AI#.58<@>BF9>CAJMDOS;GJ@OR@OQFRVEPUJY[JY\HV\BRXIY^Ufl_hq`ir^gp`hqajsbjt`hr^gp0KWKdp1GV-AO1CT0AT1DZGZosŚ•Rgr7KV6HS+=H1CN5IT/CN.:I5BP4DQ2BO1AO8HU3DQ3DQ1I`›łÇ†źŻNfq=S^:LW.;H9DP,=F6HQ2IN7HQ?JV,8IŻÇÖUt…F]hG]hDXc9KW*;C3DM=NW6IQ8KS<OW;NV<OW;NV=PX<OW>QY8QW>PX>N\Ym|¶Ät‘ H_oETdH\g1CO:HQ:EP>IQ>IQ<IR>KQ9PP;MOBMU=NYi‚‘°Áq‰ť@UnCV]BU]BS\FX^BT[CV]>PWI]cEV]HY`IV^IV^ANVCPXGT]KX`NZcVckUbjTbjWdlCPXLW_S_g\]fX^dPX_XbiS_eP^dP]cL\cQ]aUadTchYgmWejXhoXio\mt_jq`ksbmtcnualtbmt`ks^iqźµÁ3GS4ER1AQ4DU7H[3I[|‘¦śĄLbm>R]<NY4FQ3EP5IT4HS)5C1>L1AN2BO6FR>NZ6HS3EPOh‚°Ćq‰›Net?S]BT_7GS8FR5HN4KQ2HN4GO7DQO^n’«˝o‘¤IaqAXgEXcDW_(9B5EN:MU;NV<OW=PX<OWAT\;NV<OW;NV?RZ7NS<OV>N[źŻŻŔmźOgyt€•_z‚:NY:JW@KUALT?IR=LQ?OU?SUAQW<LR7JU‡ĄłŹ±Áe€•BVn>OY@R^EV_BT\FW]CPY-4IV`=JRCPXERZFS[KX`MZbR_gUbjScjRbiPagT`hUbjZgnZgoWdl\enYaj]enWaiZgoZfnWgnVfm\go\goXemYgn\gq\ks\ks]mubmw`lv]irZeo]isalv]hrVak_qx0?HDR_8IV0@P.BS6L^łË݆ź©Ndo=P[8JU5GR6HS7KV2FQ0<M5BP0AN3CP3CO=LY8KS8KS·Ó싢¸wŹ BYhK]jI[eCR_.>J:LR2IN.GM5GO)9Feu…‘­ľe›]u…D[jGZeGZb/BH:MT6IQ9LT;NV=PX<OW=PX;NV<OW;NV>QY;PX=NZ(;Gľ×ç~ ŻmގHavŻľŃp‹—>T_5ER>GQDMVBNSCQWFV\ARWERZCMW6JUŁŔΑłÁrŤ˘BWm:MZ?Q\8IRARXHUZXaj
-+bepSaiYfnYfn[hpWdlZgo\iq]iqYhrWfoYhq[ktUdm[jsZir[js[jr]ktZjrZirZir[js[js]lu\fo^hr]ir_kw^jv\kv\iwYftWgsQamO_kRbnM]iM]iM]iN^jgsy=IQDOY:HT6FS4IX/HXˇşĚ…ž¨BWc6JU8JU:LW7IT6KV4IS0<M8DR0@M7FS8HT(9ANahŤ §tŤ¬Ws‰OhzNdsL`lrچ– “Ł¬ŚśˇzŹ”{“—“¦­Ş·Â·ĹŐŠĄµk‘¦[q„AXhF\fO`gI[a@RX%7>&;B(9A)<C-@G5HO7JP?QX@RYBRZ<QX1@Ks„“ź¸ÇłĆkŽ Tl€ĆÓę‘®·5NZ<LX@ITAISALR>KR9LM@MVAITHQ^1CO˛ĐÝ‘´Â`}ŽBWj@QaNbmYjsYhm]gmbjr€‹41@gu|gt|cpxanvcpxamvZkqSdkZhpWfn[irZhq]ktXiqWhq[ltZlxYlvaq}`p|^o{ao{_ny^lxem{fm{amxbl{_hv\huZeuR]nL_lL_lL_lL_lJ^kI\iG[hFYgOjp2IN;LU8FR6FS3HW/JZڬ»vŤ’>V\8MU3HP7IT4ER1AN1AN18;MX]ozey„k€Šj}‹h~ŠPfsE]iG\gJ[eO_l^n~š¬‚žł¤ąŚŞ»ťŻ…¤µź˝Ń–µÉ“®ĂžłrŚ˘wŚ–OfvI`pG^n{’˘©Ž¨¶”®ş•˛»¨µ†›Ş ˛ś®ŽĄµ€š«¦˛‡ˇ°¦ÄҰÎßšşĐ€ź´žłUr‡¸Óçv›¨Gam>LT?HPESXAQWHV[HSY[ggO^cZp{d~ʬË޲ÇdŹ@Yi7R^FakXkr`pyvŠ,1>kp~3YhpWgo\gr_ls]jqanu_ltbntWkyWkx[o{Xmx[ny^p{]oz\nz[nx^nz`p|aq}dqdqer€er€crz^nz[jvVgsPcrL`rKcsNfvOeqNepRerWguVfrUeqZgtWfoPjp;PV5HO;KW@P]2ET±ÁśşÉYqw:PU6KS4IQ:LW5FSN^kbr~t‡’\nyRdoL`kM`mK^k>T`>T`4LX=S_\lyZkx>Raax‚žłt“©ˇ±Ž¬Ŕ¦ą®Á§ş…ź´w’¦w’§h~Ś\s‚Yq~–§›­‚ť­’«»«ą\t€€¤Ś˘˛¨ş™°Á“­˝“¬˝•łÂš¸Ć¦ÁŇ–´ĆŹ®Â†ĄĽt”«y–ާÁצ˛<VbCR^ET\K[d>SZFXcQ]jK\aN`jXq€Ľ×뜺ό¨Ľi“CZi=Vb9P[Ymt`kuYclX`mt{Š06Ebs€_o|_o{_o{`nz^lxao{_lx[kxUfsTenTenSdmTfoTfoZirZjv]mxYiuScpScpYiuZhxVduTfpXhtUhuSfuSftRgxThyThzRhtPcpPdqSepXhuZjv\ktXgp\v|=T[3EP5DQ8HUL`l—®ľp‹™G]b7LT5JR6GS9KV8IV8HU:IY7JT9KV>P[<P[ATb5HU9P[8OZ7M]9OZľŃŢRboBVe9QaRl}€ź˛sŽŁy”§„źł‡˘¶‚ť±¤µ›¬y”Ąn†–n†Wp„tŤˇy’¦š®‰Ą¶†¤˛9JWl„“‹Ą¶‚ ł”´É’®Äž˛ť´ČšµÉ•˛ÇŹ®Ĺ¦ż‰§Ŕs‘ŞŚ§Ŕś·Ë…¨¶<Vd>MZ\myyŹš›¨‹¤łž°Âť¸ĹŞĹÖĄĂÖ°Đ虵Μ°^t†DYh=T`9MXWhqbnxCLWHS\DMZ%,;as€^o|]n{Zkx_p}YjwQboYjx]jq]jr^ksbowiv~dqybowhu|ev‚jz‡jz‡fw`o€[m|TixPetPfuOfuQetNbsOctRduPbsM_qOcnPdoUfr_q}XiqRclRakQ`i^wCYd/DN6HR8IV6GTlŤH^j>QY9LT5IP6IT5FS8IU8HY:JZ7JT;MW8JU9LY6IV7JV7L[7L[4N]:Q`®ÂŇ@S`BUb=Ra7QasŤžxʦ|­oŠź… ´x“§‚ž®}ś­k‰šy’Łd}‘h„™[v‹|–«t’§Š¨»Ś«ĽDP`AUf‚ź°„¦ş¤»|ťł†ź·”ŞŔ¶Ę”´ËʭƤŔ{™µz±Š§ľ‹¤˝u–ŁB\l?Q`Pdu–°Á’±Ă–˛Ë—¬Ç‰¬żžľÖ«Ěă¦ĆÝš¸ÍtŤˇ]q‚GVg<P]GYdTcl\iq`ksLU`8DNco|_itdoygr|hs}lt‚eq~huivlu|nx~jt{ku}r}…v‰r|„oyap€[jzSbrM`oK_pKbrIbrHaqGbrF_oGaqKcsMasPctTduTdvPbmYkvfz\mvPajL_fIZ`EU\VnzDZf=P]<MZ:LW4FQ>P[9KV7HQ6GP7GS2BN7HU7GW9IX5EU8JT:KX8IV3FS6IV;M]5JY4IX3K]E^n•«şRhs7MY6K[<Sc<Scay‘x‘Ą{”©›Żś°{–ŞpŹźf„•~›«a}‘f–j„ťy–®t‘¦—µČmŚťUaq2FXs‘˘zť±¤Ľw—°€›µˇ·Ď„¤»•˛Ë‚ »{™´y—˛ ą©Á—±Ë|š¨AXh:K])=N”°Á} ´’±Ę—®Ë‡§ŔžżÖ‡¦ľv”©l†šUl~M`oK\iCVcDUc?NWeszgrzZem1=Gkx‚‡{„x~u{x€‡z‚w~‡oxt~†s~…s}„o{…lwit}anz[hsTctN`qM^oI\mI_pI`rGbrF`pD_oIasJ`rOcuQds]m~aq~dt‚\mvZjtVgqN`gL_fIY`FV]BRX]t@Wf8NY7JW9KV5ER7FO7FO<KS7EQ5FR7GU5EQ,<L2BR5EW5FS5FS3DQ3GS3FV5GV2HV5JY+DX=Ug•®ľPfv@Va6LX:LY7JZ8PcMex„ś®€­y•©z•©k‰žqʤo‰™i–]yŽh„z•ŞpŽŁ©ČŰ ±O_lAVf3I\^wŽšłšµĐ‚ ąˇ¸ŹŻĆЍÁ€ˇĽw˛ť¸nŚĄ©ĂÜ ·Îk…”AVgGVe8K]tˇv—ŞŤŞÂ‹ź»y”­pڎGauB[n>VfCYhBTbFWaBWg>Q^>OXiv~v‚‡}‰Ź$/7S_h…‰‹„‡Šz€‚{€„v}w‡x€‰xn}…mz†iy„]lxWgsN`oObpM^oNasJ_rI_qG_pG_sHbuJcwFbvPfxNdwShy[o~`q~euYiu]luK\eJ]dHZaEX_FV\AQWAPWBRXI`pNeu9N^=P]<NY?NW=JR<FN2@M1?K2@L0AN#2B#3C-=N4DU7HU6GT4ER6IX7JY3FU/DU/CT3Kbź¸Ě‡ ŻD_l=Ua5LX2ER;LY7N^7M]Ibr{•¦w’¦n‰žqŤĄn‰¤x’ˇq‹śh€•f}”y”©oŠź¶Ňㆣ˛Zr|>T`?QbQ^u‚”«…ťµ~궇­Â„Łşˇą}ź·x›łx—°}ť´®ČÝŤ¦»c{‹IXgETd8KZUp~ˇŻe}’L^tCXjEYl=OaG[h@R]DUa=RZAV]8O`8N[=QY[gox„Šjt|":CMclsgsxis{lw€iw‚`o{[kwZjvUhwQcrQftLcrG^pG_sG`sG^uF`pFaqHauIbvIcvKcyMe|Nf}Xi}[n~aq‚ZkxXhu[luN`gK[bL\cFV]M\dGV\CSYDTZ=PS;NQLctAXh=Ra9KXCT^DQYEQXIRZDO[6CO-:F,9G$+;-<M1@R5ER6FS3DQ2FU4GV1DS1DU*=N.E\˛Ëß›¬Zu<T`FYd9JU@O\0JV;S_=VgB]nwʦsŤ¦p‹Ąu¬y‘ l–d~Źh•~—«©ą«Çמ­UtyLbm@N^NTiz…ť—©Ă†§ľ¬Á|ťł†¨ľ} ·y›ł ¶’±Ć–°Ä~¨Shw@OaBM[?P]*FQ2O]9Qa<K\AP`>M^BM\ANZ<MU?RY=RZ<QW6Ra9R^@RYCRXq{tyqv|gkoVdoTdpTdoK]kM`qJ`rI]sD\qI`oF`oE]nF^rE`tD`y=]tFeDcuHcwJexKg{TlUm„Un…Vo‡lw‹]i}_nWguM^hEW^GW]DUWDS[HX_>NTCTYCSYASU;OR@SVf‹D_h6P\6P\5O[>YgB]kHcqTjtATaq‚Ź‘ˇo~ŽyŚš•¤t‹šr‡‘—˘Š›¦ś‘žxŤť†ˇ®‘¬şŁĹÚĄĂÖ™©Vm|BXdATa?Rb8KZ>TXBZcF\i?ZjF`tk‡śpŤ¦m‰Łw’žsźj†–g‚–}—­­Â—µČ‰¨Ľ—ˇ7MY=P_.BSxŤŁ¬Á„¤»¤»ŁÂ‚Ł˝y—ł{šł‚ž·”±Çž˛d€–FX^>QY@R]=OZ7HU=NZ9IY;K[;J[<MZ9JW:KX=N[<NY;MX<MX4IY3K[5M`/J[Gcx>ZoA]rB^q9Xr>Yt>XqBZsF^tBZqC[qF`sM_tK_tG_rB_tFcwFbzMgSiNk„Yt‰Lg}^yŠWqWo~WlxLanHfkQjoEX_IY`IU]GW^ASZBT[=VV?TV>NTDOWEPXDOUCQT>OR_x„Piu7Q]4N\5O]:TbE^nOhx¦Ť¤˛…©Šž®€“Ą“©ş„ś®ś¶Ć€š§‡ ®‡ť¬“ˇ‹žŻ”«ş ąÉ™łĂźÁŐ•˛Ĺ…ž®Vm|F\gI[h@Rb;N]DXXCV[K^fNaoVi|F`pvގ}—¨|™§z—Ąo‰žqڎv“¨´Ń杻ΕłÇXpxC[g@Ud9M^tŠ›’ŞÁx•®„¤»‹©Ă…ĄĽ€ť¶{–¬d€•Up€F]q?YjBT[BU]>P\:LW;LZ8JV:JZ9IZ4EQ6GT8IV<LZ8JU;MX=OZ:LW;LV<MU9LZ3HWJaqD[nC]mD]qA\qC^sD_tH_uBYpIbuJbuA]pKbzLe}Kf~MlHg~Kk‚Vp]tŤ[wŚ`xŽIcwp›Ť¤´jŽKamNbnG`fI`eFX_GW^CPXAQW@SY=PW=STAUY>NUBMUFPXAMS?NQ=OPl†”Sm{6P^2K[5O^:ScC[mLdul…š®™­vŽ˘š°~–«~™®m‹źqĄlŠť}—«{“§‡ ´‹ĄµŚ¨ąŤ©ąąÎ–¶Év‘˘k…’?Sb@Ud@Ud=PbKZ^N]dTemZlvK^kYo{UmywŹ~ś«z–¦{–ŞšŻˇżÓźĽŃ™·É„˘¶_{…?Ye>Tc.EUwŤź…š°‡źµ™°`yŽk†–;Sf@Wg>Vf0EU<S^5HV<NY;MX<NY=OZ8HV:KX3DQ5FS:KX8IV9JW8IV9KV6HS;LX:LY@KN@NT>NT9KUThwLcuGbuKfzMgzLezHeyEauLh{Kf~Hg}Gf|IfKl†NoSuŤKk‚Po‡Sp…Ok€j—Ś ¶yʎ}‘Łp†–atI]hN_kCV^CT^BQZ@OX?NW?NW>OX:MU9MS@QZ>NV@LVAMW=KQ?MP=OPz’ŁXq5N^6N`1I[;SeAYmH`ti†žz–®„ťµXsuާg‚śWuŽqŹŞ‚ˇş{šł|›˛r‘¨}±Ś©ľ‹¨˝‘®ÂĄĆÚ›»Î‘¬˝n‡—<RaE[j=Tc@WhL_hSeqXm{`s„ʦµ† ­‡ «Š¦Ż‰¦·Şż‘«Ŕ”˛Ć°Ě塽җ·Ę€ˇ±c€Ť>Xf5Q^9Rb>Uem€’?TfBUl:P^>Td?R_BVc9KU>P[5GR:IV<NY7IT4FQ+=H$28IV1BO8IV7IV5FS9JW6HS9KV9KW>QY8LT?MN@OU;MS7JUE^mJg{Mj„JhPm…PrXz“Vz“Tx”JoŠVzlŤ«zžĽŁÂ‡©ÇŽ±ÉŽŻĆ–¶Ě•°ÄĄą{ގ]q‚UgyPdsL]jHYf=OZBU`AR[DU^>LV?MVAPY?PZ;KU<MV>MVAQY;IU>IVBNXAOUBSV@RSr‹›_wŠ5M_/GY1I[7OcC[oNfzrŹ«v”­w“«b”Ie~=\u6Tp=^{Xwc‚›l‹ĄkŠŁ}ž´§ľžµ‰¤ĽžżÖšąÎ|¨pŠšC]k;Uc:Sc<Ud>WkE]qC^r‡ˇą„ ¸}š® ˛†¨¶€šŻ€ź±‹¨˝§ĂۨÄÜ”łČ‘±Ä}ž®VsB`o<Vf6O_4L\AUg<K\6FX9LV<NY9KV;KW=MY8IQ6GO6HP@P^3CP4DQ(5,89IU7GS4DP6FS9IT8HT9IU8HU:KT;LU:KT7IQ=OW6JT5LZ]xŚ ˝{ Â{˘É¨Ę§É}¦Ć~©É{¨Ę‚¬Đ«Î’¸ÜŽ´Đ“¶ÔšĽ×jŠ˘`}“h…–c~ŽJduRetI\lHYfDTbCT`CUa?RZ>OX>OV>PX4GNASZ7JQ:LSASZ>QXCQY;GQ7FOBQZ@NX@PV?PS=OPšŞd}Ť>Wg0HZ2J\7OaBZoNfzn‰¤uŹŞmťXs‡9Ti5Qj$A]"@]">RJh}s’¨q‘©u–­w—®„ˇ»‡ĄľźŔÖ‰¨˝‚ łVpIcs<Vf6O`4Pa9Yo@`wIg€mЦr‘¬ ą{ś˛x›˛y•Ş‘®Â’®Ç›¶Î©Čß‘°Ĺ’±Äu—¦[t„@Zj6P`4N^3IX9KZ4DT:IZ9IT;KW:JV8HT7FR7GS7GS7GS5ER5EQp€Ť+!1=7GS1AM1@M2BN9IU9IU:JW9JR;LU<MV<LU2IU7NY5KV2IX9Tiź˝t™˝r™Ĺt™ży Çz¤Ęy§ÉŻŇŤ¶Ű•»Ý•şß¨ŔZz’Tp†LdzQiyF[kAWc=TaCTaCT`BT_?Q]?RY<OW>PY>PX:RW5MR5MQ6OS4JO;OT9LR;LR<HMBQT>MT9KS=OV<OTASU>OS|–¤k„”D]m3L\4M]7OaBZlOgyn˘x”©sŤť\u…Ict-H\,Gb4S4GX,CS™łÄ‹©˝z®€ ·}›´…ŁĽžľŐ¦» łc~ŹJdt;Ue6Sb3O`7Ug@_rIf|Lh‡˘Ľ˘»˘şv–«‚ź´…ˇş“ŻÇŹ­ÇťĽÓ‰¨˝‰Ş˝q”ŁWn€>Vh<Wf2L\2M[6LX8HU8HU7HU7IU:JW9JV4ER5FS6GT6GS7FV8GWJZgRbo1AM:JW=NV3EM;KW9IU;KW6GP=NW;KU8JQ7IP6IQ7KR9LS;NV-BQHdxIe†DhŠDd‰GkŤCjŚBi‹Fo‹Fh‚Hd€Ka~E`pLdtNetPanJZhHXeDW_BU]?RZ>RY<OW>PX:OW8MU=SY9NTEdcDdc8WV+JI1MM2KK=OP:ILCQMDRP9KL@SV=QV>RV>NT=LO{•˘sŤš=We7O_6O_7P`B[kPhzq z‘Ąi‚‘Xn}=Wd0IZ,G_8T7EO/AN{–ŁŚ¨¸Š«ľz±„ˇ»…ŁĽźż×ŻÄ‰§şu‘ˇ[y‡9Vd7Tc2Pa;V`A[iLeuTm‚šŻ‹Ł¸z“¦uŽ pŚĄ€›ł|–°‘ŻČŹ®Ĺ‡¦»‹¬żyť¬h|Ź<Qc=Wf4O_0KY1GS9KU<KW<MZ4CT3GV2ET4GW2FU3EW4GY2AR8GX0@M5ER5EQ8HU6GP3DM6ER4CP9HU<MV:JT8IS7JQ6IQ>PP:IK=KHBNO=MR6J[2Kd3Qq8Sx8Vw4Uu2Vo9\uMj[p]l~QhtJ\gQ_kJV_T\fO\cDSZ=OU=PX:MU2IP;QX7NT7MT9MT#5>UuuCgfMqpRrsPmnF[].15>CMXPLYUburF[\DY^ATZ?NUN[bs‘¤e–7Sd0JZ3L\6Pa@YmMh|xŻ}šŻ}–Ş\wŚ7Wj3Sf.F\'5O;R[7M_r‹¦†¤ľ„Ąą€˘±˘·Ś¦Á™ĽËŚ­˝~śŻk…š^yŹ<Wl5Sh3Rg3Wd<^mFbsQj~kśuڦ|ł{—¶{›®~žµś¶›ąŇŤ«Äx—®s’¦x¬e€Ť=Wg<Ue6M]1EV3DV5EV7EZ3HR5JT5JT4GU5FS6GT/@M5FT6GO6GP6GP4EN:IR>MV6EN8GP7KS5HO9LS5IM6JO9JL<MP<JM:KN<MO=MS;LS4CKES_M[gKVd<P]CVcOcnWht_pxUfoYioRbhK]iGYdGYdGYdDWb>P[?Q\9KV4HO-;G7CO4@L2BIAWZ40SyqDyk?uf:oaH|jF{iPpPqN€mL…sU{p.A>{‚ENQ0BA9SO4OKu“¦b€“?Yj1JZ4M];SeB[pKg{}žµtŽŁn‡›h„•4Ue3Sf+CY%3N5LU,BTr‹¦€ž·†¨»†¨¸‚ˇ¶Ť¨ĂźÂŃ‰ŞşqŽ˘h—Jcw?[o>Yn3Pe5Wf@]nHcwTk‚d|”i‚ťu«v“Żw–Şs’©ť¶’°É‡ĄżŚ«Âv•Şr“¦k„”Ics:Sc5L\8L]1CT6EV5DV3HR3GR3GR2ES2CP0AN2CP4DR3DM4EN8IR9KT>MV;JS:IR:HR6IP6HO9LS9IP<LR=MTAPS@OR:KM;JQ9HN9IP5DM?MYM[gFR`M_lZkyVhsSfpCR_UfnIYcXhqGYdDVa?Q[?Q\>PZ<NY9KV;MX1EL,:F5BN;CQUaj[mqXsq[{tI|oDvj;pcG|oCxiCxjEzlLrc|h…”Ćľ‰Ĺ˝Ćż„˝ąŠ°«›—pގe€”>Xi5N^8Qa;SeB[oLeys•¨l‡śvŹŁUq‚<^m0Qd.DZ 0G/FP2H[ŚĄŔ ą†¨»}źŻ|›°†ˇĽ§ČÚŤ­Ŕ{™¬rŠž_xŚD]r:Sh7Sd7Vi@^qGbwOf}Wo…tŤ¦t¨t”«y­w–­†¤˝‰§Ŕ‰§ÁźµŠ©ľw—Şr‹›Rl|:Sc6M]7K\2CT3EV5DV4HR2FQ1FQ4FQ3EP5HS9IU8GT;MT4FM3FM<LS<LS9IP9IP:FN7GN8IO:JQ<IQ;IO>MR>MSCNT;OS;NS7IP9KRL]fJZfO_k`p|]mzTdq[kwUdpOalHYeGZb>RXBS`=N[AR_;LY7HU9JW:KX4FS1AM6EP6>L!+2;EBNRFXWf|xTwJunN|rM}tExnG|rHqKv?€pG†wC€ui®ĄqŔµuÂşrஆĻ~śŻf•B\m?Xh7P`?WiHauIbvt“¨rŤ˘o‡›[u†8Zj5Sf)?V!.EE\f?Ugš´Î…ŁĽ‚Ł·~ ŻqĄŠĄŔšżĐ‰Ş˝v”§w‘ˇŤĄ·Zq€>Wh4M]:UkC^sHcxNh}Xsw”©}šŻv“¨†Ąş~ť´‰§Ŕ‰§ŔЍÁ†ĄĽžł~ž±rŤžUn~<Vf5N^/FV2EW3EV4GV6IV3FT4FQ5GR6HS3CO2BN:KS;NT;MT=MT<LS=NTANV>KS<IQ:GO>KS>KSANV:GPALT<GO>HP2EK9KR:MSFW`N`hRbnP`lO_kP]kKWfJ[fGWcBT^?S^DYc<Q[<MZ;LY7HU6GT6HU:LY2CP8IW1BM2@L<FP"(1;CJHQV(21&&*CA )&?]Z`‚}V~wS~wQ~wU„|J‘€DxEvM‹rş°oż¶}ÍÄ5‚zu¤m‰ťBZl?XhCYi@VhMeyc|v–«sŽ˘~•§\v‡<Zk2Pa&>R$1IAXb8NaŁ˝×‰§Ŕt•©Ł˛źµ‘«ĆťÁÔ¨»}›®Ť§¸Wn~L`o<R^=S_8PhBYpIdyPm‚^zŹw”¨w”¨z—«y­t”«ˇ»Š¨ÁŚŞÄˇ·žł~ž±v‘˘\x‰;Uf6O^1HX3HW4GV2FU6FS6GT6HS6HT5FO5FO3EN4EO;KQAQX:JQ<LSBNV?LT9FN:HP<GO<GOAKS?LT<IP5AI/<D>KR;LUEV_^ow[ltO_kTdpQamO`lKXdIWbBR_@P]?O\>Q^:NZ;N[;KX7GT3DP1AN7GS9IV3CP5FR0=K.:F1;E")35;@JOR"'*"''46-/ $"!=:Xurs‚~rچZŠ‚:€u^ݤo¸±M~zg„…y”¨ośNfx?VfAXhF\nf~’€¬t”©~—«q‰›f€=\k/M^(=R!.E1HRAWi©Â݉§Ŕ}ž˛Łłžł”®ÉśŔÓ„Ą¸Ź­ŔŠŁ˛^s‚3FS7IT3FM9RhE^rIdyPm‚ZyŽkЎ{–®{—ݎµ‡¦ľˇş®Ç‡ĄľŠ©Ŕ{šŻ~ž±|–«f“?Yj2K[6M]3HW1FU4GS4ER6GT7IT6FR8IR1DK6FM;KR;KR=MT7HN?LT>KS<IQ=JS@KS?JR9FN9FN<IQ5AKCR[=LTCRZdt€]myu…‘Wfs^nzK[gAP]HXdGWcBQ]JZgAQ^:KX:KW8HX9IY:IY7FV8GW6EU2AQ5DT0?O0@P,7H%.='0;%,8>CEJM&)- #(-/527:48;7>A!!"1-&FAcʇr™—sŤŽ‡•šsŽ˘uŽ˘^vRiyj‘p†y’¦š®{™¬ˇµŚ˘´x’˘:Zi0N_(=R!-C4>1GYś¶Đy±w™¬{ť¬†ĄşŹ©Ä›ÁÔ©˝«ÉÜn‡–ZlyJ\g:KT/AG5K_C[mFavKjSr‰j‡ˇr‘©uŹ«v–Ş˘ąˇş”˛ËŤ«Ä…¤»‰¨˝ ˛w•¨l†›<Xi4N]4M^1GV/EP.EQ9IV7HU<LW8GT5FO>NU9IN=MS<LR<LR9JP@NT=KQ>MS>JP:FL6CL8DM7HO<LSGU_7HQVfr[jwGZdj|‡CU`PbmDVaAS^GYdAS^7IT7IT9JW4ER6FR6EV9HX8GW5DT7FV3BR8GW5DT5DT2AQ0@P-5F$+:"+5%-+2527:69= #$(-25-25!$) "###$ )>;;<DG"47%9?qŚ ośj‚”uŚśwŠ›ezŚv‹ |”§k‰ť|–§–¨m†–:Zi6Rc&<N ,C3<EZmŹ¨ĂŤ¬Ĺw™¬€˘±Ś«Áť·ŇźĆŮŽŻĂ‘ŻŔc{‹Wiv?PX+=D*9?8M`6P`Nk|Gh{UuŚq©y–±{”´s“¦z™°‡Ąľ¶Ďꏇ¦˝‡¦»€ˇł…ٵsŤˇ=Yj1K[8Qa5L[4JU0GS8HU2BO9HU5FO&7A<LSBRX4DJ:IO;KQ=KQ>LR9GM9EJ/;A5AG7EJ=MT?OUAR[WgpZlwM_jXjuQaoM]kJ\gFXcAS^>P[:LW<MX;PZ6JU<P]2CO6EU8GW<GY4?Q5DT3BR6EU4CS2AQ2AQ1@P,=L+0D!'7(2$';EH!$$ #+-(*  %&/12!%53,;=..7WLY† °l†—q‹›d}‘rŠžq‰źuĄw’§|š«z–§g‘j“G^m;P^1CP-@M0HXĄľÎť·Čť®¦ąŤ­ŔŠ«ż”·Ë›ĽĎꞄžłs‹ťPetAR^:KS:JQ3DR4GVRg|Nfgšz–®n‹ v•§{š´źµŚ¬Ă¦ĆÝ‘°Ç|›Ż†Ąşv•ŞqĄe…>\o=Wf7Q_;Q]6JU7HS1FQ4HT6KS9KS7IP6FM;IO>IO:PR7LM:MU3EM1AN%7@=KU;KQ?QX:LSWip[msQbkRclVgpPajCV^J]e@S[<OV=OZ@R]7IS:KW4DT;K[:JZ7GW5EU9IY8HX3CS4DT2BR1AQ9HX1@P.=M.>N.;K$/='4#,!&!%/45#"#(' .,,&!"+"O93D($gRQqgj~„rŁj…™rڎnťw’§mť~°v¨|›«€›¬i…–^xOhx@WgCWfMap‡ˇ˛›µĆ‰Ą¶›Ż™¸Ę’˛Ç•´É›˝Đ•¶É‚˘µ~š«azŠEZi6FSARZ8GP/BM/CRJ_u\tŤy•Żsʧu”©w•§~ť·‚Łą°Ç¦Ćݧľ~ť˛~ť˛r‘¦†Ąş{śŻ:Xk5N^9Tb:O[9MW3GR4FQ7IT9LT9MU6IO9IP<JO;GM9IK<JP1>F:FP1>J@LX?KULWbSfm\nuQcjQcjL]fHYbK\eFW`GZb>QY:MT>P[7IT:LW6GT7HT6FV9IY8HX6FV7GW8HX7GW7GW3CS3CS1AQ3BR/>N,<L3@P,9I$/=%3!*#!"022###  $3';.(60-#'&|›´ž·z™˛‡Ąľ~ś´€š´{–°z•݉§şu“¦[vŠrŚťNhy@Xj™˛Á›«‡Ą¸®Á’ŻÄŠ©ľ”łČ’±Č—¶Í¸ÎŚ­Ŕ‰©ĽŹ«Ľz“Ł6JY9KU4EM5DL6GS,<L8Oa‡ź¸›µ§ľ‚ˇ¶ˇ´{š´°Ç˘ÂŮ©Éŕ‹ŞÁx—¬‰¨˝x—¬€ź´a”:Xk=Wg:Sc;Qa4JU6HV3EP6IP7HQ8GP9HQ:GN;IQ<GO<FM6?H5>G19FAJWZbp\fpfnyNahFX_GY_@QZHYbEV_;LTFUbDW_:MT;MX5GR:LV3CQ3DQ4FR3CT5EU4DT3CS6FV6FV5EU4DT1BR/?O/>N.=M-<L0=M0=M*7H&1?$1%!&) &((!##% "LFHQMI]]T$) #.'CSL)%‹°Ě†§Ä‰«Ç„Ąż…Łľ}šµ’°É®Ç”±Ĺ–łÇ­Âv”§g•–±ĹrŚ «ľ”¶ÍśľŐ‹ŞÁ“łÉ•´Ę•´Ë•ŻÉŤ¨ÂŠ«Â żÔ¬ĽtŽśVlwVhs7GS<JV2CL5FS3Eś´Ë‰Ąż‰§Ŕ§˝‹Şľ‡¦ŔśĽÓ¦ĆÝźŔ׏®Ĺ{šŻ|›°w–«~ž±a‚•YwŠ6RcA[k9P_:Q`5KW5HO7HQ8GP7CM@LV:EO:FP:EP2<C:FP6BNlv…Ą±Ŕ„‘ť™ˇWgqJ\cBT[HYb6GP?QY;KW;KW<KX9MT3EP>P[2DO6GT2CP6GT3EQ3CS3CS4DT7GW4DT5EU3CS->N2AQ.=M0?O.=M.;K+8H2?O#1A"0*& &6<=%%% ebdLNLAIB&!)"&¦Č‹±Ń€ŁÄv¶„¤ÁŚŞĹ…ŁĽ{–°m‰ˇsʧWs‹s’©–µĚŤ¬ÂŻĆ‚ˇ¸¤ż„§Á…©ÂžżŮ“°Ëž»ÖŤ¬Äś¶‹«Â żÓŤ©ąl†”OdoDVa;KW8ER7FO/@N*>Quޤ‰¤ż‰§Ŕ†¦˝“´Č‡¦Ŕ›»ŇźżÖˇÁŘŹ®Ĺ†ĄşŽ­Â†Ąş„Ą·mŠťRq„@[l=Vh9Rb:Qa6M]:MS9JS5DM:FP:DM4@L3AM:JV?U\-AL·Ęו§´ź¶ÂmŹRhsLdkCT]HYb?PY>PX:JW<LX=MY9IU3EP9KV2DN.>L3DQ4ER4ER3CS3CS2BR3CS1AQ4DT6FV4DT/?O1@P2AQ.=M1>N0=M-;K2<M#,>(6"/#-$$)*  %!&XWY@ECCJE87.\RKgXRz˘Ĺj“´j°xśş€ ˝t’­l‡ˇt¨{—Żf…śoŤ¦Ś«Ä‚ˇş‹¬Ćv—±yś¶ŁÁa…ن§Ä}źĽ‰©ĆŽ®ËŤŞĹŚŞĹ‘°É•´ÉŚ©·[t€Kak;MX9HT8ES4DJ2BO.CTBZq…ˇ»Ś«Ă’°ĘŚ®ĹŚ«Ä¤ĹŰ Ŕ׏ŻĆŽ¬ÄŚ«Ŕt“¨nŤ˘|ťŻv”§`~‘B]n=Wh:Te9Qa1K[4HO6IQ6DM2=J,8D0>JDVa9KX‘®ą”®ą›©LguwŤťNfr=Va<W^9IR@QZ7HP?O[7GS8HT8HT3CP3EP1CN5FS1BO.?L3DP3CS1AQ5EU3CS3CS1AQ3CS4DT3CS/?O2AQ1AQ0=M/<L0=M/9J+5F$.@!,:&4$. %!!&'     475GHF>3/ub]B)%bڱhłq—ąvš¸q‘®v”­‚ś´v‘¦m‹¤pާ ąĄż«Ĺ}źĽ~Łż{ Ľ¤Ĺ¦Çv—¸†¨Ć„¦Ä}źĽŽ°Í€˘żŹ®ÇŽ­Â|§j…ŽE\d@RZ:JW6BS9FL/?L/AS0H^“®É†ĄľłË’´ĘŹ®ÇŹŻĆŁĂÚź¶‹ŞÁ…¤ąz™®s’§{™«w•¨g†™<Xh=Yj;Uf8Rc2L^7NU4IQ+<D8COAO[;JWxŽšš˛ľĄŻRm|l†”F]mYn}7JW9KV=QX>NX:KT9JS7GS2BN:JU6FS9HV2EO.?L5FS1BO0AM1AQ1AQ1AQ2BR2BR2BR2BR1AQ3CS4DT3CS2AQ0=M0=M/<L0:K1;L)3D(2C#.<)6$."'$), ! !#()
-+!" &'%&$$ /(%$OD=k•şyˇÄ‹±Ó€¤Â‰§Â’®Ć‘«Ŕ•¬Ă‹©Â‚ ąŹ­ČŹ°ĘŤŻÍŤ˛Î{ˇż©Ç…¤Č{›ľr“´o“´„¨Ĺ„¨Ćgڍ|ˇ˝†ŁľŻĆśŞw’śE\dCV]7FT>K[9FM3CP*<M$<R–˛Ě€žąŚŻĆ‹­Ĺ§Ŕ˘¸ˇ¸Ś¬Ă€ž¶{šŻ|›°s’§rŁm‹žk‰ś>Ym=Yj:Te8Rc6Pb1KQ/FO9IR>KX…“źś­ş}–˘^x†[vf}ŚOct:L]BQbAN\;GSDMW;MV5GO1AM5EQ5EQ5ER9IV3BO1BO/@M3DQ/@L3CS/?O0@P2BR0@P0@P2BR3CS0@P1AQ1AQ1AQ,9I0=M1>N'4D+5F1;L'1B'1C"-;!*7$.$*&+/&*+"'((,-".+%-,#"%$#!!,+'/+*=98%-&
-\ No newline at end of file
-diff --git a/host_applications/linux/apps/hello_pi/hello_wayland/Makefile b/host_applications/linux/apps/hello_pi/hello_wayland/Makefile
-new file mode 100644
-index 0000000..c9ddf23
---- /dev/null
-+++ b/host_applications/linux/apps/hello_pi/hello_wayland/Makefile
-@@ -0,0 +1,5 @@
-+OBJS=triangle.o
-+BIN=hello_wayland.bin
-+LDFLAGS+=-lwayland-client -lwayland-egl
-+
-+include ../Makefile.include
-diff --git a/host_applications/linux/apps/hello_pi/hello_wayland/cube_texture_and_coords.h b/host_applications/linux/apps/hello_pi/hello_wayland/cube_texture_and_coords.h
-new file mode 100644
-index 0000000..663e23b
---- /dev/null
-+++ b/host_applications/linux/apps/hello_pi/hello_wayland/cube_texture_and_coords.h
-@@ -0,0 +1,100 @@
-+/*
-+Copyright (c) 2012, Broadcom Europe Ltd
-+All rights reserved.
-+
-+Redistribution and use in source and binary forms, with or without
-+modification, are permitted provided that the following conditions are met:
-+ * Redistributions of source code must retain the above copyright
-+ notice, this list of conditions and the following disclaimer.
-+ * Redistributions in binary form must reproduce the above copyright
-+ notice, this list of conditions and the following disclaimer in the
-+ documentation and/or other materials provided with the distribution.
-+ * Neither the name of the copyright holder nor the
-+ names of its contributors may be used to endorse or promote products
-+ derived from this software without specific prior written permission.
-+
-+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
-+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+*/
-+
-+// Spatial coordinates for the cube
-+
-+static const GLbyte quadx[6*4*3] = {
-+ /* FRONT */
-+ -10, -10, 10,
-+ 10, -10, 10,
-+ -10, 10, 10,
-+ 10, 10, 10,
-+
-+ /* BACK */
-+ -10, -10, -10,
-+ -10, 10, -10,
-+ 10, -10, -10,
-+ 10, 10, -10,
-+
-+ /* LEFT */
-+ -10, -10, 10,
-+ -10, 10, 10,
-+ -10, -10, -10,
-+ -10, 10, -10,
-+
-+ /* RIGHT */
-+ 10, -10, -10,
-+ 10, 10, -10,
-+ 10, -10, 10,
-+ 10, 10, 10,
-+
-+ /* TOP */
-+ -10, 10, 10,
-+ 10, 10, 10,
-+ -10, 10, -10,
-+ 10, 10, -10,
-+
-+ /* BOTTOM */
-+ -10, -10, 10,
-+ -10, -10, -10,
-+ 10, -10, 10,
-+ 10, -10, -10,
-+};
-+
-+/** Texture coordinates for the quad. */
-+static const GLfloat texCoords[6 * 4 * 2] = {
-+ 0.f, 0.f,
-+ 1.f, 0.f,
-+ 0.f, 1.f,
-+ 1.f, 1.f,
-+
-+ 0.f, 0.f,
-+ 1.f, 0.f,
-+ 0.f, 1.f,
-+ 1.f, 1.f,
-+
-+ 0.f, 0.f,
-+ 1.f, 0.f,
-+ 0.f, 1.f,
-+ 1.f, 1.f,
-+
-+ 0.f, 0.f,
-+ 1.f, 0.f,
-+ 0.f, 1.f,
-+ 1.f, 1.f,
-+
-+ 0.f, 0.f,
-+ 1.f, 0.f,
-+ 0.f, 1.f,
-+ 1.f, 1.f,
-+
-+ 0.f, 0.f,
-+ 1.f, 0.f,
-+ 0.f, 1.f,
-+ 1.f, 1.f,
-+};
-+
-diff --git a/host_applications/linux/apps/hello_pi/hello_wayland/triangle.c b/host_applications/linux/apps/hello_pi/hello_wayland/triangle.c
-new file mode 100644
-index 0000000..1a7bfc4
---- /dev/null
-+++ b/host_applications/linux/apps/hello_pi/hello_wayland/triangle.c
-@@ -0,0 +1,666 @@
-+/*
-+Copyright (c) 2012, Broadcom Europe Ltd
-+All rights reserved.
-+
-+Redistribution and use in source and binary forms, with or without
-+modification, are permitted provided that the following conditions are met:
-+ * Redistributions of source code must retain the above copyright
-+ notice, this list of conditions and the following disclaimer.
-+ * Redistributions in binary form must reproduce the above copyright
-+ notice, this list of conditions and the following disclaimer in the
-+ documentation and/or other materials provided with the distribution.
-+ * Neither the name of the copyright holder nor the
-+ names of its contributors may be used to endorse or promote products
-+ derived from this software without specific prior written permission.
-+
-+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-+DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
-+DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-+(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-+LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
-+ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-+SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-+*/
-+
-+// A rotating cube rendered with OpenGL|ES. Three images used as textures on the cube faces.
-+
-+#define _GNU_SOURCE
-+
-+#include <stdio.h>
-+#include <stdlib.h>
-+#include <string.h>
-+#include <math.h>
-+#include <assert.h>
-+#include <unistd.h>
-+#include <sys/socket.h>
-+#include <sys/un.h>
-+
-+#include <wayland-egl.h>
-+#include <wayland-client.h>
-+
-+#include "GLES/gl.h"
-+#include "EGL/egl.h"
-+#include "EGL/eglext.h"
-+
-+#include "cube_texture_and_coords.h"
-+
-+#define PATH "./"
-+
-+#define IMAGE_SIZE 128
-+
-+#ifndef M_PI
-+ #define M_PI 3.141592654
-+#endif
-+
-+
-+typedef struct
-+{
-+ uint32_t screen_width;
-+ uint32_t screen_height;
-+// OpenGL|ES objects
-+ EGLDisplay display;
-+ EGLSurface surface;
-+ EGLContext context;
-+ GLuint tex[6];
-+// model rotation vector and direction
-+ GLfloat rot_angle_x_inc;
-+ GLfloat rot_angle_y_inc;
-+ GLfloat rot_angle_z_inc;
-+// current model rotation angles
-+ GLfloat rot_angle_x;
-+ GLfloat rot_angle_y;
-+ GLfloat rot_angle_z;
-+// current distance from camera
-+ GLfloat distance;
-+ GLfloat distance_inc;
-+// pointers to texture buffers
-+ char *tex_buf1;
-+ char *tex_buf2;
-+ char *tex_buf3;
-+ struct wl_display *wl_display;
-+ struct wl_registry *wl_registry;
-+ struct wl_shell *wl_shell;
-+ struct wl_shell_surface *wl_shell_surface;
-+ struct wl_compositor *wl_compositor;
-+ struct wl_surface *wl_surface;
-+ struct wl_callback *wl_callback;
-+ struct wl_egl_window *wl_egl_window;
-+ int needs_update;
-+ int ellapsed_frames;
-+ int kill_compositor;
-+ int single_frame;
-+ int terminate_abruptly;
-+} CUBE_STATE_T;
-+
-+static void init_ogl(CUBE_STATE_T *state);
-+static void init_model_proj(CUBE_STATE_T *state);
-+static void reset_model(CUBE_STATE_T *state);
-+static GLfloat inc_and_wrap_angle(GLfloat angle, GLfloat angle_inc);
-+static GLfloat inc_and_clip_distance(GLfloat distance, GLfloat distance_inc);
-+static void redraw_scene(CUBE_STATE_T *state);
-+static void update_model(CUBE_STATE_T *state);
-+static void init_textures(CUBE_STATE_T *state);
-+static void load_tex_images(CUBE_STATE_T *state);
-+static void exit_func(CUBE_STATE_T *state);
-+
-+static void
-+registry_handle_global(void *data, struct wl_registry *registry,
-+ uint32_t name, const char *interface, uint32_t version)
-+{
-+ CUBE_STATE_T *state = data;
-+
-+ if (strcmp(interface, "wl_compositor") == 0) {
-+ state->wl_compositor =
-+ wl_registry_bind(registry, name,
-+ &wl_compositor_interface, 1);
-+ } else if (strcmp(interface, "wl_shell") == 0) {
-+ state->wl_shell = wl_registry_bind(registry, name,
-+ &wl_shell_interface, 1);
-+ }
-+}
-+
-+static void
-+registry_handle_global_remove(void *data, struct wl_registry *registry,
-+ uint32_t name)
-+{
-+}
-+
-+static const struct wl_registry_listener registry_listener = {
-+ registry_handle_global,
-+ registry_handle_global_remove
-+};
-+
-+/***********************************************************
-+ * Name: init_ogl
-+ *
-+ * Arguments:
-+ * CUBE_STATE_T *state - holds OGLES model info
-+ *
-+ * Description: Sets the display, OpenGL|ES context and screen stuff
-+ *
-+ * Returns: void
-+ *
-+ ***********************************************************/
-+static void init_ogl(CUBE_STATE_T *state)
-+{
-+ EGLBoolean result;
-+ EGLint num_config;
-+
-+ static const EGLint attribute_list[] =
-+ {
-+ EGL_RED_SIZE, 8,
-+ EGL_GREEN_SIZE, 8,
-+ EGL_BLUE_SIZE, 8,
-+ EGL_ALPHA_SIZE, 8,
-+ EGL_SURFACE_TYPE, EGL_WINDOW_BIT,
-+ EGL_NONE
-+ };
-+
-+ EGLConfig config;
-+
-+ state->wl_display = wl_display_connect(NULL);
-+
-+ state->wl_registry = wl_display_get_registry(state->wl_display);
-+ wl_registry_add_listener(state->wl_registry, &registry_listener, state);
-+
-+ wl_display_dispatch(state->wl_display);
-+
-+ // get an EGL display connection
-+ state->display = eglGetDisplay(state->wl_display);
-+ assert(state->display!=EGL_NO_DISPLAY);
-+
-+ // initialize the EGL display connection
-+ result = eglInitialize(state->display, NULL, NULL);
-+ assert(EGL_FALSE != result);
-+
-+ // get an appropriate EGL frame buffer configuration
-+ result = eglChooseConfig(state->display, attribute_list, &config, 1, &num_config);
-+ assert(EGL_FALSE != result);
-+
-+ // create an EGL rendering context
-+ state->context = eglCreateContext(state->display, config, EGL_NO_CONTEXT, NULL);
-+ assert(state->context!=EGL_NO_CONTEXT);
-+
-+ // create an EGL window surface
-+ state->screen_width = 1024;
-+ state->screen_height = 860;
-+
-+ state->wl_surface = wl_compositor_create_surface(state->wl_compositor);
-+ state->wl_shell_surface = wl_shell_get_shell_surface(state->wl_shell, state->wl_surface);
-+
-+ wl_shell_surface_set_toplevel(state->wl_shell_surface);
-+ wl_shell_surface_set_title(state->wl_shell_surface, "triangle.c");
-+
-+ state->wl_egl_window = wl_egl_window_create(state->wl_surface, state->screen_width, state->screen_height);
-+
-+ state->surface = eglCreateWindowSurface( state->display, config, state->wl_egl_window, NULL );
-+ assert(state->surface != EGL_NO_SURFACE);
-+
-+ // connect the context to the surface
-+ result = eglMakeCurrent(state->display, state->surface, state->surface, state->context);
-+ assert(EGL_FALSE != result);
-+
-+ // Set background color and clear buffers
-+ glClearColor(0.15f, 0.25f, 0.35f, 1.0f);
-+
-+ // Enable back face culling.
-+ glEnable(GL_CULL_FACE);
-+
-+ glMatrixMode(GL_MODELVIEW);
-+}
-+
-+/***********************************************************
-+ * Name: init_model_proj
-+ *
-+ * Arguments:
-+ * CUBE_STATE_T *state - holds OGLES model info
-+ *
-+ * Description: Sets the OpenGL|ES model to default values
-+ *
-+ * Returns: void
-+ *
-+ ***********************************************************/
-+static void init_model_proj(CUBE_STATE_T *state)
-+{
-+ float nearp = 1.0f;
-+ float farp = 500.0f;
-+ float hht;
-+ float hwd;
-+
-+ glHint( GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST );
-+
-+ glViewport(0, 0, (GLsizei)state->screen_width, (GLsizei)state->screen_height);
-+
-+ glMatrixMode(GL_PROJECTION);
-+ glLoadIdentity();
-+
-+ hht = nearp * (float)tan(45.0 / 2.0 / 180.0 * M_PI);
-+ hwd = hht * (float)state->screen_width / (float)state->screen_height;
-+
-+ glFrustumf(-hwd, hwd, -hht, hht, nearp, farp);
-+
-+ glEnableClientState( GL_VERTEX_ARRAY );
-+ glVertexPointer( 3, GL_BYTE, 0, quadx );
-+
-+ reset_model(state);
-+}
-+
-+/***********************************************************
-+ * Name: reset_model
-+ *
-+ * Arguments:
-+ * CUBE_STATE_T *state - holds OGLES model info
-+ *
-+ * Description: Resets the Model projection and rotation direction
-+ *
-+ * Returns: void
-+ *
-+ ***********************************************************/
-+static void reset_model(CUBE_STATE_T *state)
-+{
-+ // reset model position
-+ glMatrixMode(GL_MODELVIEW);
-+ glLoadIdentity();
-+ glTranslatef(0.f, 0.f, -50.f);
-+
-+ // reset model rotation
-+ state->rot_angle_x = 45.f; state->rot_angle_y = 30.f; state->rot_angle_z = 0.f;
-+ state->rot_angle_x_inc = 0.5f; state->rot_angle_y_inc = 0.5f; state->rot_angle_z_inc = 0.f;
-+ state->distance = 40.f;
-+}
-+
-+/***********************************************************
-+ * Name: update_model
-+ *
-+ * Arguments:
-+ * CUBE_STATE_T *state - holds OGLES model info
-+ *
-+ * Description: Updates model projection to current position/rotation
-+ *
-+ * Returns: void
-+ *
-+ ***********************************************************/
-+static void update_model(CUBE_STATE_T *state)
-+{
-+ // update position
-+ state->rot_angle_x = inc_and_wrap_angle(state->rot_angle_x, state->rot_angle_x_inc);
-+ state->rot_angle_y = inc_and_wrap_angle(state->rot_angle_y, state->rot_angle_y_inc);
-+ state->rot_angle_z = inc_and_wrap_angle(state->rot_angle_z, state->rot_angle_z_inc);
-+ state->distance = inc_and_clip_distance(state->distance, state->distance_inc);
-+
-+ glLoadIdentity();
-+ // move camera back to see the cube
-+ glTranslatef(0.f, 0.f, -state->distance);
-+
-+ // Rotate model to new position
-+ glRotatef(state->rot_angle_x, 1.f, 0.f, 0.f);
-+ glRotatef(state->rot_angle_y, 0.f, 1.f, 0.f);
-+ glRotatef(state->rot_angle_z, 0.f, 0.f, 1.f);
-+}
-+
-+/***********************************************************
-+ * Name: inc_and_wrap_angle
-+ *
-+ * Arguments:
-+ * GLfloat angle current angle
-+ * GLfloat angle_inc angle increment
-+ *
-+ * Description: Increments or decrements angle by angle_inc degrees
-+ * Wraps to 0 at 360 deg.
-+ *
-+ * Returns: new value of angle
-+ *
-+ ***********************************************************/
-+static GLfloat inc_and_wrap_angle(GLfloat angle, GLfloat angle_inc)
-+{
-+ angle += angle_inc;
-+
-+ if (angle >= 360.0)
-+ angle -= 360.f;
-+ else if (angle <=0)
-+ angle += 360.f;
-+
-+ return angle;
-+}
-+
-+/***********************************************************
-+ * Name: inc_and_clip_distance
-+ *
-+ * Arguments:
-+ * GLfloat distance current distance
-+ * GLfloat distance_inc distance increment
-+ *
-+ * Description: Increments or decrements distance by distance_inc units
-+ * Clips to range
-+ *
-+ * Returns: new value of angle
-+ *
-+ ***********************************************************/
-+static GLfloat inc_and_clip_distance(GLfloat distance, GLfloat distance_inc)
-+{
-+ distance += distance_inc;
-+
-+ if (distance >= 120.0f)
-+ distance = 120.f;
-+ else if (distance <= 40.0f)
-+ distance = 40.0f;
-+
-+ return distance;
-+}
-+
-+static pid_t get_server_pid(CUBE_STATE_T *state)
-+{
-+ struct ucred ucred;
-+ socklen_t len;
-+ int fd;
-+
-+ fd = wl_display_get_fd(state->wl_display);
-+ len = sizeof ucred;
-+ getsockopt(fd, SOL_SOCKET, SO_PEERCRED, &ucred, &len);
-+
-+ return ucred.pid;
-+}
-+
-+static void
-+frame(void *data, struct wl_callback *callback, uint32_t time)
-+{
-+ CUBE_STATE_T *state = (CUBE_STATE_T *) data;
-+
-+ state->needs_update = 1;
-+}
-+
-+static const struct wl_callback_listener frame_listener = {
-+ frame
-+};
-+
-+static void
-+update(CUBE_STATE_T *state)
-+{
-+ if (!state->single_frame || state->ellapsed_frames == 0) {
-+ update_model(state);
-+ redraw_scene(state);
-+ }
-+
-+ state->wl_callback = wl_surface_frame(state->wl_surface);
-+ wl_callback_add_listener(state->wl_callback, &frame_listener, state);
-+
-+ if (state->ellapsed_frames == 100) {
-+ if (state->kill_compositor) {
-+ fprintf(stderr, "reached frame 100, killing compositor\n");
-+ pid_t pid = get_server_pid(state);
-+ kill(pid, SIGTERM);
-+ } else if (state->terminate_abruptly) {
-+ fprintf(stderr, "reached frame 100, terminating right away\n");
-+ exit_func(state);
-+ exit(0);
-+ }
-+ }
-+
-+ if (!state->single_frame || state->ellapsed_frames == 0)
-+ eglSwapBuffers(state->display, state->surface);
-+ else {
-+ wl_surface_damage(state->wl_surface, 0, 0, state->screen_width,
-+ state->screen_height);
-+ wl_surface_commit(state->wl_surface);
-+ }
-+
-+ state->ellapsed_frames++;
-+}
-+
-+/***********************************************************
-+ * Name: redraw_scene
-+ *
-+ * Arguments:
-+ * CUBE_STATE_T *state - holds OGLES model info
-+ *
-+ * Description: Draws the model and calls eglSwapBuffers
-+ * to render to screen
-+ *
-+ * Returns: void
-+ *
-+ ***********************************************************/
-+static void redraw_scene(CUBE_STATE_T *state)
-+{
-+ // Start with a clear screen
-+ glClear( GL_COLOR_BUFFER_BIT );
-+
-+ // Draw first (front) face:
-+ // Bind texture surface to current vertices
-+ glBindTexture(GL_TEXTURE_2D, state->tex[0]);
-+
-+ // Need to rotate textures - do this by rotating each cube face
-+ glRotatef(270.f, 0.f, 0.f, 1.f ); // front face normal along z axis
-+
-+ // draw first 4 vertices
-+ glDrawArrays( GL_TRIANGLE_STRIP, 0, 4);
-+
-+ // same pattern for other 5 faces - rotation chosen to make image orientation 'nice'
-+ glBindTexture(GL_TEXTURE_2D, state->tex[1]);
-+ glRotatef(90.f, 0.f, 0.f, 1.f ); // back face normal along z axis
-+ glDrawArrays( GL_TRIANGLE_STRIP, 4, 4);
-+
-+ glBindTexture(GL_TEXTURE_2D, state->tex[2]);
-+ glRotatef(90.f, 1.f, 0.f, 0.f ); // left face normal along x axis
-+ glDrawArrays( GL_TRIANGLE_STRIP, 8, 4);
-+
-+ glBindTexture(GL_TEXTURE_2D, state->tex[3]);
-+ glRotatef(90.f, 1.f, 0.f, 0.f ); // right face normal along x axis
-+ glDrawArrays( GL_TRIANGLE_STRIP, 12, 4);
-+
-+ glBindTexture(GL_TEXTURE_2D, state->tex[4]);
-+ glRotatef(270.f, 0.f, 1.f, 0.f ); // top face normal along y axis
-+ glDrawArrays( GL_TRIANGLE_STRIP, 16, 4);
-+
-+ glBindTexture(GL_TEXTURE_2D, state->tex[5]);
-+ glRotatef(90.f, 0.f, 1.f, 0.f ); // bottom face normal along y axis
-+ glDrawArrays( GL_TRIANGLE_STRIP, 20, 4);
-+}
-+
-+/***********************************************************
-+ * Name: init_textures
-+ *
-+ * Arguments:
-+ * CUBE_STATE_T *state - holds OGLES model info
-+ *
-+ * Description: Initialise OGL|ES texture surfaces to use image
-+ * buffers
-+ *
-+ * Returns: void
-+ *
-+ ***********************************************************/
-+static void init_textures(CUBE_STATE_T *state)
-+{
-+ // load three texture buffers but use them on six OGL|ES texture surfaces
-+ load_tex_images(state);
-+ glGenTextures(6, &state->tex[0]);
-+
-+ // setup first texture
-+ glBindTexture(GL_TEXTURE_2D, state->tex[0]);
-+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, IMAGE_SIZE, IMAGE_SIZE, 0,
-+ GL_RGB, GL_UNSIGNED_BYTE, state->tex_buf1);
-+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, (GLfloat)GL_NEAREST);
-+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, (GLfloat)GL_NEAREST);
-+
-+ // setup second texture - reuse first image
-+ glBindTexture(GL_TEXTURE_2D, state->tex[1]);
-+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, IMAGE_SIZE, IMAGE_SIZE, 0,
-+ GL_RGB, GL_UNSIGNED_BYTE, state->tex_buf1);
-+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, (GLfloat)GL_NEAREST);
-+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, (GLfloat)GL_NEAREST);
-+
-+ // third texture
-+ glBindTexture(GL_TEXTURE_2D, state->tex[2]);
-+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, IMAGE_SIZE, IMAGE_SIZE, 0,
-+ GL_RGB, GL_UNSIGNED_BYTE, state->tex_buf2);
-+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, (GLfloat)GL_NEAREST);
-+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, (GLfloat)GL_NEAREST);
-+
-+ // fourth texture - reuse second image
-+ glBindTexture(GL_TEXTURE_2D, state->tex[3]);
-+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, IMAGE_SIZE, IMAGE_SIZE, 0,
-+ GL_RGB, GL_UNSIGNED_BYTE, state->tex_buf2);
-+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, (GLfloat)GL_NEAREST);
-+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, (GLfloat)GL_NEAREST);
-+
-+ //fifth texture
-+ glBindTexture(GL_TEXTURE_2D, state->tex[4]);
-+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, IMAGE_SIZE, IMAGE_SIZE, 0,
-+ GL_RGB, GL_UNSIGNED_BYTE, state->tex_buf3);
-+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, (GLfloat)GL_NEAREST);
-+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, (GLfloat)GL_NEAREST);
-+
-+ // sixth texture - reuse third image
-+ glBindTexture(GL_TEXTURE_2D, state->tex[5]);
-+ glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, IMAGE_SIZE, IMAGE_SIZE, 0,
-+ GL_RGB, GL_UNSIGNED_BYTE, state->tex_buf3);
-+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, (GLfloat)GL_NEAREST);
-+ glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, (GLfloat)GL_NEAREST);
-+
-+ // setup overall texture environment
-+ glTexCoordPointer(2, GL_FLOAT, 0, texCoords);
-+ glEnableClientState(GL_TEXTURE_COORD_ARRAY);
-+
-+ glEnable(GL_TEXTURE_2D);
-+}
-+
-+/***********************************************************
-+ * Name: load_tex_images
-+ *
-+ * Arguments:
-+ * void
-+ *
-+ * Description: Loads three raw images to use as textures on faces
-+ *
-+ * Returns: void
-+ *
-+ ***********************************************************/
-+static void load_tex_images(CUBE_STATE_T *state)
-+{
-+ FILE *tex_file1 = NULL, *tex_file2=NULL, *tex_file3 = NULL;
-+ int bytes_read, image_sz = IMAGE_SIZE*IMAGE_SIZE*3;
-+
-+ state->tex_buf1 = malloc(image_sz);
-+ state->tex_buf2 = malloc(image_sz);
-+ state->tex_buf3 = malloc(image_sz);
-+
-+ tex_file1 = fopen(PATH "Lucca_128_128.raw", "rb");
-+ if (tex_file1 && state->tex_buf1)
-+ {
-+ bytes_read=fread(state->tex_buf1, 1, image_sz, tex_file1);
-+ assert(bytes_read == image_sz); // some problem with file?
-+ fclose(tex_file1);
-+ }
-+
-+ tex_file2 = fopen(PATH "Djenne_128_128.raw", "rb");
-+ if (tex_file2 && state->tex_buf2)
-+ {
-+ bytes_read=fread(state->tex_buf2, 1, image_sz, tex_file2);
-+ assert(bytes_read == image_sz); // some problem with file?
-+ fclose(tex_file2);
-+ }
-+
-+ tex_file3 = fopen(PATH "Gaudi_128_128.raw", "rb");
-+ if (tex_file3 && state->tex_buf3)
-+ {
-+ bytes_read=fread(state->tex_buf3, 1, image_sz, tex_file3);
-+ assert(bytes_read == image_sz); // some problem with file?
-+ fclose(tex_file3);
-+ }
-+}
-+
-+//------------------------------------------------------------------------------
-+
-+static void exit_func(CUBE_STATE_T *state)
-+{
-+ // clear screen
-+ glClear( GL_COLOR_BUFFER_BIT );
-+ eglSwapBuffers(state->display, state->surface);
-+
-+ // Release OpenGL resources
-+ eglMakeCurrent( state->display, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT );
-+
-+ wl_egl_window_destroy(state->wl_egl_window);
-+ wl_shell_surface_destroy(state->wl_shell_surface);
-+ wl_surface_destroy(state->wl_surface);
-+
-+ eglDestroySurface( state->display, state->surface );
-+ eglDestroyContext( state->display, state->context );
-+ eglTerminate( state->display );
-+
-+ wl_display_flush(state->wl_display);
-+
-+ // release texture buffers
-+ free(state->tex_buf1);
-+ free(state->tex_buf2);
-+ free(state->tex_buf3);
-+
-+ printf("\ncube closed\n");
-+} // exit_func()
-+
-+static int running = 1;
-+
-+static void
-+signal_int(int signum)
-+{
-+ running = 0;
-+}
-+
-+//==============================================================================
-+
-+int main (int argc, char *argv[])
-+{
-+ struct sigaction sigint;
-+ CUBE_STATE_T state = {0,};
-+ int ret = 0;
-+ int i;
-+
-+ for (i = 0; i < argc; i++) {
-+ if (strcmp(argv[i], "--kill-compositor") == 0)
-+ state.kill_compositor = 1;
-+ if (strcmp(argv[i], "--single-frame") == 0)
-+ state.single_frame = 1;
-+ if (strcmp(argv[i], "--terminate-abruptly") == 0)
-+ state.terminate_abruptly = 1;
-+ else if (strcmp(argv[i], "--help") == 0 ||
-+ strcmp(argv[i], "-h") == 0) {
-+ printf("Usage: hello_wayland.bin [OPTION]\n\n");
-+ printf("\t--kill-compositor\tkill the Wayland compositor after 100 frames\n");
-+ printf("\t-h, --help\t\tshow this text\n");
-+ printf("\t--single-frame\t\tupdate the display only once\n");
-+ printf("\t--terminate-abruptly\texit right after rendering the 100th frame\n");
-+ return 0;
-+ }
-+ }
-+
-+ // Start OGLES
-+ init_ogl(&state);
-+
-+ // Setup the model world
-+ init_model_proj(&state);
-+
-+ // initialise the OGLES texture(s)
-+ init_textures(&state);
-+
-+ sigint.sa_handler = signal_int;
-+ sigemptyset(&sigint.sa_mask);
-+ sigint.sa_flags = SA_RESETHAND;
-+ sigaction(SIGINT, &sigint, NULL);
-+
-+ state.needs_update = 1;
-+ while (running && ret != -1) {
-+ if (state.needs_update) {
-+ update(&state);
-+ state.needs_update = 0;
-+ }
-+
-+ ret = wl_display_dispatch(state.wl_display);
-+ }
-+
-+ exit_func(&state);
-+
-+ return 0;
-+}
-+
-diff --git a/host_applications/linux/apps/hello_pi/rebuild.sh b/host_applications/linux/apps/hello_pi/rebuild.sh
-index 8225dd5..0be6ce7 100755
---- a/host_applications/linux/apps/hello_pi/rebuild.sh
-+++ b/host_applications/linux/apps/hello_pi/rebuild.sh
-@@ -14,6 +14,7 @@ make -C hello_videocube clean
- make -C hello_teapot clean
- make -C hello_fft clean
- make -C hello_mmal_encode clean
-+make -C hello_wayland clean
-
- make -C libs/ilclient
- make -C libs/vgfont
-@@ -31,4 +32,4 @@ make -C hello_videocube
- make -C hello_teapot
- make -C hello_fft
- make -C hello_mmal_encode
--
-+make -C hello_wayland
---
-2.16.1
-
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0004-wayland-egl-Add-bcm_host-to-dependencies.patch b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0004-wayland-egl-Add-bcm_host-to-dependencies.patch
deleted file mode 100644
index 713fc3e5b..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0004-wayland-egl-Add-bcm_host-to-dependencies.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From f17879b691984b5c4950e4b94ebf102c78797ede Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 10 Aug 2015 02:38:27 -0700
-Subject: [PATCH 04/16] wayland-egl: Add bcm_host to dependencies
-
-It uses headers like vcos_platform_types.h but does not
-depend on module which should add the required include paths
-lets add the dependency on bcm_host module which should do it
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- interface/khronos/wayland-egl/wayland-egl.pc.in | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/interface/khronos/wayland-egl/wayland-egl.pc.in b/interface/khronos/wayland-egl/wayland-egl.pc.in
-index 8bafc15..fd259c9 100644
---- a/interface/khronos/wayland-egl/wayland-egl.pc.in
-+++ b/interface/khronos/wayland-egl/wayland-egl.pc.in
-@@ -6,5 +6,6 @@ includedir=${prefix}/include
- Name: wayland-egl
- Description: VideoCore wayland-egl library
- Version: @PROJECT_APIVER@
-+Requires: bcm_host
- Libs: -L${libdir} -lwayland-egl
- Cflags: -I${includedir}
---
-2.16.1
-
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch
deleted file mode 100644
index 8d78333fa..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0005-interface-remove-faulty-assert-to-make-weston-happy-.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 0273b7b9d7a27d8fe7d3ad8680b799f997e75dca Mon Sep 17 00:00:00 2001
-From: "Yann E. MORIN" <yann.morin.1998@free.fr>
-Date: Sat, 24 Jan 2015 22:07:19 +0100
-Subject: [PATCH 05/16] interface: remove faulty assert() to make weston happy
- at runtime
-
-This was removed after a discussion on IRC with the weston guys
-('daniels' on irc.freenode.net/#wayland).
-
-Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
----
- interface/vmcs_host/vc_vchi_dispmanx.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/interface/vmcs_host/vc_vchi_dispmanx.c b/interface/vmcs_host/vc_vchi_dispmanx.c
-index eab146e..29e0dee 100755
---- a/interface/vmcs_host/vc_vchi_dispmanx.c
-+++ b/interface/vmcs_host/vc_vchi_dispmanx.c
-@@ -1306,7 +1306,6 @@ static void *dispmanx_notify_func( void *arg ) {
- // Decrement the use count - the corresponding "use" is in vc_dispmanx_update_submit.
- vchi_service_release(dispmanx_client.notify_handle[0]);
- if (dispmanx_client.update_callback ) {
-- vcos_assert( dispmanx_client.pending_update_handle == handle);
- dispmanx_client.update_callback(handle, dispmanx_client.update_callback_param);
- }
- } else {
---
-2.16.1
-
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0006-zero-out-wl-buffers-in-egl_surface_free.patch b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0006-zero-out-wl-buffers-in-egl_surface_free.patch
deleted file mode 100644
index 43eb7f0b0..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0006-zero-out-wl-buffers-in-egl_surface_free.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 0d678cd2042551cc4e26ec42fa3aba7c72d033b4 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 6 Feb 2016 11:10:47 -0800
-Subject: [PATCH 06/16] zero-out wl buffers in egl_surface_free
-
-origins from buildroot
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- interface/khronos/egl/egl_client_surface.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/interface/khronos/egl/egl_client_surface.c b/interface/khronos/egl/egl_client_surface.c
-index 42350bf..1f923d9 100644
---- a/interface/khronos/egl/egl_client_surface.c
-+++ b/interface/khronos/egl/egl_client_surface.c
-@@ -690,11 +690,13 @@ void egl_surface_free(EGL_SURFACE_T *surface)
- if (surface->back_wl_buffer) {
- wl_buffer_destroy(surface->back_wl_buffer->wl_buffer);
- free(surface->back_wl_buffer);
-+ surface->back_wl_buffer = 0;
- }
-
- if (surface->front_wl_buffer) {
- wl_buffer_destroy(surface->front_wl_buffer->wl_buffer);
- free(surface->front_wl_buffer);
-+ surface->front_wl_buffer = 0;
- }
- #endif
- }
---
-2.16.1
-
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0007-initialize-front-back-wayland-buffers.patch b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0007-initialize-front-back-wayland-buffers.patch
deleted file mode 100644
index 987740b07..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0007-initialize-front-back-wayland-buffers.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From ec2e00989bf614b259bc9a47b5035f8586e8a214 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 6 Feb 2016 11:11:41 -0800
-Subject: [PATCH 07/16] initialize front back wayland buffers
-
-origins from metrological wayland support
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- interface/khronos/egl/egl_client_surface.c | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/interface/khronos/egl/egl_client_surface.c b/interface/khronos/egl/egl_client_surface.c
-index 1f923d9..9a9582c 100644
---- a/interface/khronos/egl/egl_client_surface.c
-+++ b/interface/khronos/egl/egl_client_surface.c
-@@ -401,11 +401,14 @@ EGL_SURFACE_T *egl_surface_create(
- #ifdef BUILD_WAYLAND
- if (type == WINDOW && wl_display) {
- surface->wl_egl_window = (struct wl_egl_window*)win;
-+ surface->front_wl_buffer = NULL;
- surface->back_wl_buffer = allocate_wl_buffer(
- surface->wl_egl_window, color);
- resource = surface->back_wl_buffer->resource;
- } else {
- surface->wl_egl_window = NULL;
-+ surface->front_wl_buffer = NULL;
-+ surface->back_wl_buffer = NULL;
- resource = DISPMANX_NO_HANDLE;
- }
- #endif
---
-2.16.1
-
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0008-Remove-RPC_FLUSH.patch b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0008-Remove-RPC_FLUSH.patch
deleted file mode 100644
index 4bf05c129..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0008-Remove-RPC_FLUSH.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 59ba66c2ea17f7a57124b9fd6c9bdff4325ff5c9 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 6 Feb 2016 11:09:18 -0800
-Subject: [PATCH 08/16] Remove RPC_FLUSH
-
-Origins from buildroot
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- interface/khronos/ext/gl_oes_egl_image_client.c | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/interface/khronos/ext/gl_oes_egl_image_client.c b/interface/khronos/ext/gl_oes_egl_image_client.c
-index f9b7287..b04ffef 100644
---- a/interface/khronos/ext/gl_oes_egl_image_client.c
-+++ b/interface/khronos/ext/gl_oes_egl_image_client.c
-@@ -107,7 +107,6 @@ GL_API void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageO
- GLEGLIMAGETARGETTEXTURE2DOES_ID,
- RPC_ENUM(target),
- RPC_EGLID(image));
-- RPC_FLUSH(thread);
- #if EGL_BRCM_global_image
- }
- #endif
---
-2.16.1
-
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0009-fix-cmake-dependency-race.patch b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0009-fix-cmake-dependency-race.patch
deleted file mode 100644
index a2c1df5b6..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0009-fix-cmake-dependency-race.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-From 264d82387ea1e607b2e5c899ff6bd46807c7b185 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 6 Feb 2016 13:12:47 -0800
-Subject: [PATCH 09/16] fix cmake dependency race
-
-Fixes errors like
-
-/a/builder/mnt/build-oe/tmp-glibc/work/raspberrypi2-oe-linux-gnueabi/userland/git-r5/git/interface/vmcs_host/vc_vchi_dispmanx.h:72:66:
-fatal error: interface/vmcs_host/wayland-dispmanx-server-protocol.h: No
-such file or directory
-compilation terminated.
-interface/khronos/CMakeFiles/EGL_static.dir/build.make:773: recipe for
-target 'interface/khronos/CMakeFiles/EGL_static.dir/ext/egl_wayland.c.o'
-failed
-make[2]: ***
-[interface/khronos/CMakeFiles/EGL_static.dir/ext/egl_wayland.c.o] Error 1
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- interface/vcos/pthreads/CMakeLists.txt | 8 ++++++++
- interface/vmcs_host/CMakeLists.txt | 8 --------
- interface/vmcs_host/vc_vchi_dispmanx.h | 2 +-
- 3 files changed, 9 insertions(+), 9 deletions(-)
-
-diff --git a/interface/vcos/pthreads/CMakeLists.txt b/interface/vcos/pthreads/CMakeLists.txt
-index 1d81ca3..d6cd415 100644
---- a/interface/vcos/pthreads/CMakeLists.txt
-+++ b/interface/vcos/pthreads/CMakeLists.txt
-@@ -33,6 +33,14 @@ set (SOURCES
- ../generic/vcos_generic_blockpool.c
- )
-
-+if (BUILD_WAYLAND)
-+wayland_add_protocol_server(
-+ SOURCES
-+ ../../../interface/wayland/dispmanx.xml
-+ dispmanx
-+)
-+endif ()
-+
- if (VCOS_PTHREADS_BUILD_SHARED)
- add_library (vcos SHARED ${SOURCES})
- target_link_libraries (vcos pthread dl rt)
-diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt
-index 6718215..c415176 100755
---- a/interface/vmcs_host/CMakeLists.txt
-+++ b/interface/vmcs_host/CMakeLists.txt
-@@ -17,14 +17,6 @@ set(VCHOSTIF_SOURCE
- # ${VMCS_TARGET}/vmcs_main.c
- # vc_vchi_haud.c
-
--if (BUILD_WAYLAND)
--wayland_add_protocol_server(
-- VCHOSTIF_SOURCE
-- ../../interface/wayland/dispmanx.xml
-- dispmanx
--)
--endif ()
--
- add_library(vchostif ${VCHOSTIF_SOURCE})
-
- #add_library(bufman vc_vchi_bufman.c )
-diff --git a/interface/vmcs_host/vc_vchi_dispmanx.h b/interface/vmcs_host/vc_vchi_dispmanx.h
-index f0bae30..8c44c58 100644
---- a/interface/vmcs_host/vc_vchi_dispmanx.h
-+++ b/interface/vmcs_host/vc_vchi_dispmanx.h
-@@ -69,7 +69,7 @@ typedef struct {
- #ifdef BUILD_WAYLAND
- /* XXX: This should be in a private header that can be included from EGL and vc_* */
- #include <wayland-server.h>
--#include "interface/vmcs_host/wayland-dispmanx-server-protocol.h"
-+#include "interface/vcos/pthreads/wayland-dispmanx-server-protocol.h"
- struct wl_dispmanx_server_buffer {
- struct wl_resource *resource;
- struct wl_dispmanx *dispmanx;
---
-2.16.1
-
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0010-Fix-for-framerate-with-nested-composition.patch b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0010-Fix-for-framerate-with-nested-composition.patch
deleted file mode 100644
index a6c9a59fb..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0010-Fix-for-framerate-with-nested-composition.patch
+++ /dev/null
@@ -1,60 +0,0 @@
-From 7c51c2d37bfadaabbbf205237d932b685b09d34f Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Tue, 29 Mar 2016 20:38:30 -0700
-Subject: [PATCH 10/16] Fix for framerate with nested composition
-
-frame rate appears irregular and lower than expected when using nested composition.
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- interface/khronos/egl/egl_client.c | 8 ++++++++
- 1 file changed, 8 insertions(+)
-
-diff --git a/interface/khronos/egl/egl_client.c b/interface/khronos/egl/egl_client.c
-index 03fe67b..13a110c 100644
---- a/interface/khronos/egl/egl_client.c
-+++ b/interface/khronos/egl/egl_client.c
-@@ -2342,6 +2342,9 @@ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers(EGLDisplay dpy, EGLSurface surf)
- surface->back_wl_buffer = buffer;
- }
-
-+ glFlush();
-+ glFinish();
-+
- RPC_CALL7(eglIntSwapBuffers_impl,
- thread,
- EGLINTSWAPBUFFERS_ID_V2,
-@@ -2353,6 +2356,8 @@ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers(EGLDisplay dpy, EGLSurface surf)
- RPC_UINT(khrn_platform_get_window_position(surface->win)),
- RPC_INT(surface->back_wl_buffer->resource));
-
-+ RPC_FLUSH(thread);
-+
- surface->front_wl_buffer->in_use = 1;
- wl_surface_attach(wl_egl_window->wl_surface,
- surface->front_wl_buffer->wl_buffer,
-@@ -2360,11 +2365,13 @@ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers(EGLDisplay dpy, EGLSurface surf)
- wl_surface_damage(wl_egl_window->wl_surface, 0, 0,
- surface->width, surface->height);
- wl_surface_commit(wl_egl_window->wl_surface);
-+ wl_display_flush(wl_display);
-
- while(ret != -1 && surface->back_wl_buffer->in_use)
- ret = wl_display_dispatch_queue(wl_display, process->wl_queue);
- } else
- #endif
-+ {
- RPC_CALL6(eglIntSwapBuffers_impl,
- thread,
- EGLINTSWAPBUFFERS_ID,
-@@ -2376,6 +2383,7 @@ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers(EGLDisplay dpy, EGLSurface surf)
- RPC_UINT(khrn_platform_get_window_position(surface->win)));
-
- RPC_FLUSH(thread);
-+ }
-
- #ifdef ANDROID
- CLIENT_UNLOCK();
---
-2.16.1
-
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0011-build-shared-library-for-vchostif.patch b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0011-build-shared-library-for-vchostif.patch
deleted file mode 100644
index 55a5be89a..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0011-build-shared-library-for-vchostif.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From fb3002f77a175633af31019c513754d2ef5f3ac0 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 2 Apr 2016 10:37:24 -0700
-Subject: [PATCH 11/16] build shared library for vchostif
-
-Fixes #149
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- interface/vmcs_host/CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/interface/vmcs_host/CMakeLists.txt b/interface/vmcs_host/CMakeLists.txt
-index c415176..d0cca1a 100755
---- a/interface/vmcs_host/CMakeLists.txt
-+++ b/interface/vmcs_host/CMakeLists.txt
-@@ -17,7 +17,7 @@ set(VCHOSTIF_SOURCE
- # ${VMCS_TARGET}/vmcs_main.c
- # vc_vchi_haud.c
-
--add_library(vchostif ${VCHOSTIF_SOURCE})
-+add_library(vchostif SHARED ${VCHOSTIF_SOURCE})
-
- #add_library(bufman vc_vchi_bufman.c )
-
---
-2.16.1
-
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0012-implement-buffer-wrapping-interface-for-dispmanx.patch b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0012-implement-buffer-wrapping-interface-for-dispmanx.patch
deleted file mode 100644
index 28a5fc6d8..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0012-implement-buffer-wrapping-interface-for-dispmanx.patch
+++ /dev/null
@@ -1,92 +0,0 @@
-From df8b9633a45069bdd1bf256d974636ef11aa39cb Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 2 Apr 2016 10:54:59 -0700
-Subject: [PATCH 12/16] implement buffer wrapping interface for dispmanx
-
-Courtesy: Zan Dobersek
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- interface/khronos/ext/egl_wayland.c | 42 +++++++++++++++++++++++++++++++++++++
- interface/wayland/dispmanx.xml | 10 +++++++++
- 2 files changed, 52 insertions(+)
-
-diff --git a/interface/khronos/ext/egl_wayland.c b/interface/khronos/ext/egl_wayland.c
-index 5730743..9ef89cd 100644
---- a/interface/khronos/ext/egl_wayland.c
-+++ b/interface/khronos/ext/egl_wayland.c
-@@ -133,8 +133,50 @@ dispmanx_create_buffer(struct wl_client *client, struct wl_resource *resource,
- buffer->handle);
- }
-
-+static void
-+dispmanx_wrap_buffer(struct wl_client *client, struct wl_resource *resource,
-+ uint32_t id, uint32_t handle, int32_t width, int32_t height,
-+ uint32_t stride, uint32_t buffer_height, uint32_t format)
-+{
-+ struct wl_dispmanx_server_buffer *buffer;
-+ VC_IMAGE_TYPE_T vc_format = get_vc_format(format);
-+ uint32_t dummy;
-+
-+ if(vc_format == VC_IMAGE_MIN) {
-+ wl_resource_post_error(resource,
-+ WL_DISPMANX_ERROR_INVALID_FORMAT,
-+ "invalid format");
-+ return;
-+ }
-+
-+ buffer = calloc(1, sizeof *buffer);
-+ if (buffer == NULL) {
-+ wl_resource_post_no_memory(resource);
-+ return;
-+ }
-+
-+ buffer->handle = handle;
-+ buffer->width = width;
-+ buffer->height = height;
-+ buffer->format = format;
-+
-+ buffer->resource = wl_resource_create(resource->client, &wl_buffer_interface,
-+ 1, id);
-+ if (!buffer->resource) {
-+ wl_resource_post_no_memory(resource);
-+ vc_dispmanx_resource_delete(buffer->handle);
-+ free(buffer);
-+ return;
-+ }
-+
-+ wl_resource_set_implementation(buffer->resource,
-+ (void (**)(void)) &dispmanx_buffer_interface,
-+ buffer, destroy_buffer);
-+}
-+
- static const struct wl_dispmanx_interface dispmanx_interface = {
- dispmanx_create_buffer,
-+ dispmanx_wrap_buffer,
- };
-
- static void
-diff --git a/interface/wayland/dispmanx.xml b/interface/wayland/dispmanx.xml
-index c18626d..11ed1ef 100644
---- a/interface/wayland/dispmanx.xml
-+++ b/interface/wayland/dispmanx.xml
-@@ -118,6 +118,16 @@
- <arg name="buffer" type="object" interface="wl_buffer"/>
- <arg name="handle" type="uint"/>
- </event>
-+
-+ <request name="wrap_buffer">
-+ <arg name="id" type="new_id" interface="wl_buffer"/>
-+ <arg name="handle" type="uint"/>
-+ <arg name="width" type="int"/>
-+ <arg name="height" type="int"/>
-+ <arg name="stride" type="uint"/>
-+ <arg name="buffer_height" type="uint"/>
-+ <arg name="format" type="uint"/>
-+ </request>
- </interface>
-
- </protocol>
---
-2.16.1
-
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0013-Implement-triple-buffering-for-wayland.patch b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0013-Implement-triple-buffering-for-wayland.patch
deleted file mode 100644
index ebff3140f..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0013-Implement-triple-buffering-for-wayland.patch
+++ /dev/null
@@ -1,90 +0,0 @@
-From 2e0e331da8556fecd841349cfae294baf0f14485 Mon Sep 17 00:00:00 2001
-From: Jeff Wannamaker <jeff_wannamaker@cable.comcast.com>
-Date: Thu, 19 Jan 2017 18:56:07 +0000
-Subject: [PATCH 13/16] Implement triple buffering for wayland
-
-Change from double to triple buffering for wayland.
-This enables higher frame rates without tearing artifacts
-by allowing both the glFinish and the buffer release
-interlock to operate without pushing the frame period
-to two vertical intervals
-
-Signed-off-by: Jeff Wannamaker <jeff_wannamaker@cable.comcast.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- interface/khronos/egl/egl_client.c | 3 ++-
- interface/khronos/egl/egl_client_surface.c | 8 ++++++++
- interface/khronos/egl/egl_client_surface.h | 11 +++++++++++
- 3 files changed, 21 insertions(+), 1 deletion(-)
-
-diff --git a/interface/khronos/egl/egl_client.c b/interface/khronos/egl/egl_client.c
-index 13a110c..0380274 100644
---- a/interface/khronos/egl/egl_client.c
-+++ b/interface/khronos/egl/egl_client.c
-@@ -2323,7 +2323,8 @@ EGLAPI EGLBoolean EGLAPIENTRY eglSwapBuffers(EGLDisplay dpy, EGLSurface surf)
-
- buffer_temp = surface->front_wl_buffer;
- surface->front_wl_buffer = surface->back_wl_buffer;
-- surface->back_wl_buffer = buffer_temp;
-+ surface->back_wl_buffer = surface->middle_wl_buffer;
-+ surface->middle_wl_buffer = buffer_temp;
-
- configid = egl_config_to_id(surface->config);
- color = egl_config_get_color_format(configid);
-diff --git a/interface/khronos/egl/egl_client_surface.c b/interface/khronos/egl/egl_client_surface.c
-index 9a9582c..10b3b04 100644
---- a/interface/khronos/egl/egl_client_surface.c
-+++ b/interface/khronos/egl/egl_client_surface.c
-@@ -402,12 +402,14 @@ EGL_SURFACE_T *egl_surface_create(
- if (type == WINDOW && wl_display) {
- surface->wl_egl_window = (struct wl_egl_window*)win;
- surface->front_wl_buffer = NULL;
-+ surface->middle_wl_buffer = NULL;
- surface->back_wl_buffer = allocate_wl_buffer(
- surface->wl_egl_window, color);
- resource = surface->back_wl_buffer->resource;
- } else {
- surface->wl_egl_window = NULL;
- surface->front_wl_buffer = NULL;
-+ surface->middle_wl_buffer = NULL;
- surface->back_wl_buffer = NULL;
- resource = DISPMANX_NO_HANDLE;
- }
-@@ -696,6 +698,12 @@ void egl_surface_free(EGL_SURFACE_T *surface)
- surface->back_wl_buffer = 0;
- }
-
-+ if (surface->middle_wl_buffer) {
-+ wl_buffer_destroy(surface->middle_wl_buffer->wl_buffer);
-+ free(surface->middle_wl_buffer);
-+ surface->middle_wl_buffer = 0;
-+ }
-+
- if (surface->front_wl_buffer) {
- wl_buffer_destroy(surface->front_wl_buffer->wl_buffer);
- free(surface->front_wl_buffer);
-diff --git a/interface/khronos/egl/egl_client_surface.h b/interface/khronos/egl/egl_client_surface.h
-index e328b77..58a3184 100644
---- a/interface/khronos/egl/egl_client_surface.h
-+++ b/interface/khronos/egl/egl_client_surface.h
-@@ -312,6 +312,17 @@ typedef struct {
- */
- struct wl_dispmanx_client_buffer *front_wl_buffer;
-
-+ /*
-+ middle_wl_buffer
-+
-+ Validity:
-+ type == WINDOW
-+
-+ Invariant:
-+ client-side information about the wl_buffer in the middle
-+ */
-+ struct wl_dispmanx_client_buffer *middle_wl_buffer;
-+
- /*
- back_wl_buffer
-
---
-2.16.1
-
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch
deleted file mode 100644
index 025b6bcb9..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 8d9299d219a2a4f76f8278973584e1a9f7116c78 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 10 May 2017 06:39:34 +0000
-Subject: [PATCH 14/16] GLES2/gl2ext.h: Define GL_R8_EXT and GL_RG8_EXT
-
-weston code uses these defines
-Upstream-Status: Pending
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- interface/khronos/include/GLES2/gl2ext.h | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/interface/khronos/include/GLES2/gl2ext.h b/interface/khronos/include/GLES2/gl2ext.h
-index 4eacf7f..283e3e1 100644
---- a/interface/khronos/include/GLES2/gl2ext.h
-+++ b/interface/khronos/include/GLES2/gl2ext.h
-@@ -327,6 +327,9 @@ typedef void* GLeglImageOES;
- #define GL_RGBX_BRCM 0x80EE
- #endif
-
-+#define GL_R8_EXT 0x8229
-+#define GL_RG8_EXT 0x822B
-+
- /* GL_EXT_texture_type_2_10_10_10_REV */
- #ifndef GL_EXT_texture_type_2_10_10_10_REV
- #define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368
---
-2.16.1
-
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0015-EGL-glplatform.h-define-EGL_CAST.patch b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0015-EGL-glplatform.h-define-EGL_CAST.patch
deleted file mode 100644
index 605d0c043..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0015-EGL-glplatform.h-define-EGL_CAST.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From a2182e5437a6664cdb0f3330f6cbee873b6f975a Mon Sep 17 00:00:00 2001
-From: Andrea Galbusera <gizero@gmail.com>
-Date: Fri, 14 Jul 2017 09:52:54 +0200
-Subject: [PATCH 15/16] EGL/glplatform.h: define EGL_CAST
-
-C++ / C typecast macros for special EGL handle values: used by libepoxy code
-The definition comes from the updated version of this header in mesa.
-
-Upstream-Status: Pending
----
- interface/khronos/include/EGL/eglplatform.h | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/interface/khronos/include/EGL/eglplatform.h b/interface/khronos/include/EGL/eglplatform.h
-index 1f7c930..c39d425 100644
---- a/interface/khronos/include/EGL/eglplatform.h
-+++ b/interface/khronos/include/EGL/eglplatform.h
-@@ -202,4 +202,11 @@ EGLAPI void EGLAPIENTRY BEGL_GetDefaultDriverInterfaces(BEGL_DriverInterfaces *i
- #include "interface/khronos/common/khrn_client_mangle.h"
- #endif
-
-+/* C++ / C typecast macros for special EGL handle values */
-+#if defined(__cplusplus)
-+#define EGL_CAST(type, value) (static_cast<type>(value))
-+#else
-+#define EGL_CAST(type, value) ((type) (value))
-+#endif
-+
- #endif /* __eglplatform_h */
---
-2.16.1
-
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch
deleted file mode 100644
index d20ec829f..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland/0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch
+++ /dev/null
@@ -1,145 +0,0 @@
-From 6b4c4d469d435bfcfb464356b6ccc9421c6b8fd5 Mon Sep 17 00:00:00 2001
-From: Jeff Wannamaker <jeff_wannamaker@cable.comcast.com>
-Date: Sat, 27 Jan 2018 12:28:31 -0500
-Subject: [PATCH 16/16] Allow multiple wayland compositor state data per
- process
-
-When eglBindWaylandDisplayWL is called store the wl_global
-created in a list associated with the wayland display.
-This allows multiple wayland compositor instances to be
-created and used per process. This scenario is common for
-applications integrating externl process UI elements
-via embedded composition e.g. westeros
-
-Signed-off-by: Jeff Wannamaker <jeff_wannamaker@cable.comcast.com>
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- interface/khronos/common/khrn_client.c | 2 +-
- interface/khronos/common/khrn_client.h | 11 +++++++-
- interface/khronos/ext/egl_wayland.c | 50 ++++++++++++++++++++++++++++++----
- 3 files changed, 55 insertions(+), 8 deletions(-)
-
-diff --git a/interface/khronos/common/khrn_client.c b/interface/khronos/common/khrn_client.c
-index d7e798e..60bdb63 100644
---- a/interface/khronos/common/khrn_client.c
-+++ b/interface/khronos/common/khrn_client.c
-@@ -147,7 +147,7 @@ bool client_process_state_init(CLIENT_PROCESS_STATE_T *process)
- {
- if (!process->inited) {
- #ifdef BUILD_WAYLAND
-- process->wl_global = NULL;
-+ process->wlStateMap = NULL;
- #endif
-
- if (!khrn_pointer_map_init(&process->contexts, 64))
-diff --git a/interface/khronos/common/khrn_client.h b/interface/khronos/common/khrn_client.h
-index 615f7b4..4fa86f7 100644
---- a/interface/khronos/common/khrn_client.h
-+++ b/interface/khronos/common/khrn_client.h
-@@ -170,6 +170,15 @@ static INLINE CLIENT_THREAD_STATE_T *CLIENT_GET_CHECK_THREAD_STATE(void)
- return (CLIENT_THREAD_STATE_T *)platform_tls_get_check(client_tls);
- }
-
-+#ifdef BUILD_WAYLAND
-+typedef struct WAYLAND_STATE
-+{
-+ struct WAYLAND_STATE *next;
-+ struct wl_display *display;
-+ struct wl_global *wl_global;
-+} WAYLAND_STATE_T;
-+#endif
-+
- /*
- per-process state
-
-@@ -318,7 +327,7 @@ struct CLIENT_PROCESS_STATE {
- struct wl_event_queue *wl_queue;
-
- /* Compositor-side Wayland state */
-- struct wl_global *wl_global;
-+ WAYLAND_STATE_T *wlStateMap;
- #endif
- };
-
-diff --git a/interface/khronos/ext/egl_wayland.c b/interface/khronos/ext/egl_wayland.c
-index 9ef89cd..abd5ab3 100644
---- a/interface/khronos/ext/egl_wayland.c
-+++ b/interface/khronos/ext/egl_wayland.c
-@@ -208,17 +208,38 @@ eglBindWaylandDisplayWL(EGLDisplay dpy, struct wl_display *display)
- {
- CLIENT_THREAD_STATE_T *thread;
- CLIENT_PROCESS_STATE_T *process;
-+ WAYLAND_STATE_T *stateIter;
-+ WAYLAND_STATE_T *stateNew;
-+ struct wl_global *wl_global;
-
- if (!CLIENT_LOCK_AND_GET_STATES(dpy, &thread, &process))
- return EGL_FALSE;
-
-- if (process->wl_global != NULL)
-+ stateIter= process->wlStateMap;
-+ while( stateIter )
-+ {
-+ if ( stateIter->display == display )
-+ goto error;
-+ stateIter= stateIter->next;
-+ }
-+
-+ wl_global = wl_global_create(display, &wl_dispmanx_interface, 1,
-+ NULL, bind_dispmanx);
-+ if (wl_global == NULL)
- goto error;
-
-- process->wl_global = wl_global_create(display, &wl_dispmanx_interface, 1,
-- NULL, bind_dispmanx);
-- if (process->wl_global == NULL)
-+ stateNew= (WAYLAND_STATE_T*)calloc( 1, sizeof(WAYLAND_STATE_T));
-+ if (stateNew == NULL )
-+ {
-+ wl_global_destroy(wl_global);
- goto error;
-+ }
-+
-+ stateNew->next= process->wlStateMap;
-+ stateNew->display= display;
-+ stateNew->wl_global= wl_global;
-+ process->wlStateMap= stateNew;
-+ CLIENT_UNLOCK();
-
- return EGL_TRUE;
-
-@@ -232,12 +253,29 @@ eglUnbindWaylandDisplayWL(EGLDisplay dpy, struct wl_display *display)
- {
- CLIENT_THREAD_STATE_T *thread;
- CLIENT_PROCESS_STATE_T *process;
-+ WAYLAND_STATE_T *stateIter;
-+ WAYLAND_STATE_T *statePrev;
-
- if (!CLIENT_LOCK_AND_GET_STATES(dpy, &thread, &process))
- return EGL_FALSE;
-
-- wl_global_destroy(process->wl_global);
-- process->wl_global = NULL;
-+ statePrev= NULL;
-+ stateIter= process->wlStateMap;
-+ while( stateIter )
-+ {
-+ if ( stateIter->display == display )
-+ {
-+ wl_global_destroy(stateIter->wl_global);
-+ if ( statePrev )
-+ statePrev->next= stateIter->next;
-+ else
-+ process->wlStateMap= stateIter->next;
-+ free( stateIter );
-+ break;
-+ }
-+ statePrev= stateIter;
-+ stateIter= stateIter->next;
-+ }
-
- CLIENT_UNLOCK();
-
---
-2.16.1
-
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland_git.bb b/import-layers/meta-raspberrypi/recipes-graphics/userland/userland_git.bb
deleted file mode 100644
index 7f2dca6b6..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/userland/userland_git.bb
+++ /dev/null
@@ -1,85 +0,0 @@
-DESCRIPTION = "This repository contains the source code for the ARM side \
-libraries used on Raspberry Pi. These typically are installed in /opt/vc/lib \
-and includes source for the ARM side code to interface to: EGL, mmal, GLESv2,\
-vcos, openmaxil, vchiq_arm, bcm_host, WFC, OpenVG."
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENCE;md5=0448d6488ef8cc380632b1569ee6d196"
-
-PROVIDES = "virtual/libgles2 \
- virtual/egl"
-
-RPROVIDES_${PN} += "libgles2 egl libegl"
-
-COMPATIBLE_MACHINE = "^rpi$"
-
-SRCBRANCH = "master"
-SRCFORK = "raspberrypi"
-SRCREV = "11389772c79685442e0ab8aa9be8ad0e32703f68"
-
-# Use the date of the above commit as the package version. Update this when
-# SRCREV is changed.
-PV = "20180219"
-
-SRC_URI = "\
- git://github.com/${SRCFORK}/userland.git;protocol=git;branch=${SRCBRANCH} \
- file://0001-Allow-applications-to-set-next-resource-handle.patch \
- file://0002-wayland-Add-support-for-the-Wayland-winsys.patch \
- file://0003-wayland-Add-Wayland-example.patch \
- file://0004-wayland-egl-Add-bcm_host-to-dependencies.patch \
- file://0005-interface-remove-faulty-assert-to-make-weston-happy-.patch \
- file://0006-zero-out-wl-buffers-in-egl_surface_free.patch \
- file://0007-initialize-front-back-wayland-buffers.patch \
- file://0008-Remove-RPC_FLUSH.patch \
- file://0009-fix-cmake-dependency-race.patch \
- file://0010-Fix-for-framerate-with-nested-composition.patch \
- file://0011-build-shared-library-for-vchostif.patch \
- file://0012-implement-buffer-wrapping-interface-for-dispmanx.patch \
- file://0013-Implement-triple-buffering-for-wayland.patch \
- file://0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch \
- file://0015-EGL-glplatform.h-define-EGL_CAST.patch \
- file://0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch \
-"
-S = "${WORKDIR}/git"
-
-inherit cmake pkgconfig
-
-ASNEEDED = ""
-
-EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release -DCMAKE_EXE_LINKER_FLAGS='-Wl,--no-as-needed' \
- -DVMCS_INSTALL_PREFIX=${exec_prefix} \
-"
-
-EXTRA_OECMAKE_append_aarch64 = " -DARM64=ON "
-
-
-PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)}"
-
-PACKAGECONFIG[wayland] = "-DBUILD_WAYLAND=TRUE -DWAYLAND_SCANNER_EXECUTABLE:FILEPATH=${STAGING_BINDIR_NATIVE}/wayland-scanner,,wayland-native wayland"
-
-CFLAGS_append = " -fPIC"
-
-do_install_append () {
- for f in `find ${D}${includedir}/interface/vcos/ -name "*.h"`; do
- sed -i 's/include "vcos_platform.h"/include "pthreads\/vcos_platform.h"/g' ${f}
- sed -i 's/include "vcos_futex_mutex.h"/include "pthreads\/vcos_futex_mutex.h"/g' ${f}
- sed -i 's/include "vcos_platform_types.h"/include "pthreads\/vcos_platform_types.h"/g' ${f}
- done
-}
-
-# Shared libs from userland package build aren't versioned, so we need
-# to force the .so files into the runtime package (and keep them
-# out of -dev package).
-FILES_SOLIBSDEV = ""
-INSANE_SKIP_${PN} += "dev-so"
-
-FILES_${PN} += " \
- ${libdir}/*.so \
- ${libdir}/plugins"
-FILES_${PN}-dev += "${includedir} \
- ${prefix}/src"
-FILES_${PN}-doc += "${datadir}/install"
-FILES_${PN}-dbg += "${libdir}/plugins/.debug"
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-RDEPENDS_${PN} += "bash"
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/vc-graphics/files/egl.pc b/import-layers/meta-raspberrypi/recipes-graphics/vc-graphics/files/egl.pc
deleted file mode 100644
index c3142022c..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/vc-graphics/files/egl.pc
+++ /dev/null
@@ -1,10 +0,0 @@
-prefix=/usr
-exec_prefix=${prefix}
-libdir=${exec_prefix}/lib
-includedir=${prefix}/include
-
-Name: egl
-Description: egl for RaspberryPI
-Version: 0.0
-Libs: -L${libdir} -lEGL -lGLESv2
-Cflags: -I${includedir}/vc -I${includedir}/interface -I${includedir}/interface/vcos -I${includedir}/interface/vcos/pthreads
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/vc-graphics/files/vchiq.sh b/import-layers/meta-raspberrypi/recipes-graphics/vc-graphics/files/vchiq.sh
deleted file mode 100644
index c73e3a9c6..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/vc-graphics/files/vchiq.sh
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-### BEGIN INIT INFO
-# Provides: vchiq.sh
-# Required-Start: $remote_fs rmnologin
-# Required-Stop:
-# Default-Start: S
-# Default-Stop:
-# Short-Description: Create /dev/vchiq.
-# Description: Get the major number from /proc/devices and use it
-# ti create /dev/vchiq
-### END INIT INFO
-
-rm -f /dev/vchiq
-
-#Get the major number
-major=$(awk "\$2==\"vchiq\" {print \$1}" /proc/devices)
-
-if [ -z "$major" ]; then
- echo "Error: Cannot find vchiq in /proc/devices"
- exit 2
-else
- mknod /dev/vchiq c "$major" 0
- chmod a+w /dev/vchiq
-fi
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics-hardfp.bb b/import-layers/meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics-hardfp.bb
deleted file mode 100644
index 0db71fdb0..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics-hardfp.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-CONFLICTS = "vc-graphics"
-
-VCDIR = "hardfp/opt/vc"
-require vc-graphics.inc
-
-PR = "${INCPR}.0"
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics.bb b/import-layers/meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics.bb
deleted file mode 100644
index a1bce567b..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics.bb
+++ /dev/null
@@ -1,6 +0,0 @@
-CONFLICTS = "vc-graphics-hardfp"
-
-VCDIR = "opt/vc"
-require vc-graphics.inc
-
-PR = "${INCPR}.0"
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics.inc b/import-layers/meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics.inc
deleted file mode 100644
index cd0d57b22..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/vc-graphics/vc-graphics.inc
+++ /dev/null
@@ -1,58 +0,0 @@
-DESCRIPTION = "Graphics libraries for BCM2835."
-LICENSE = "Proprietary"
-
-LIC_FILES_CHKSUM = "file://LICENCE;md5=86e53f5f5909ee66900418028de11780"
-
-PROVIDES = "virtual/libgles2 virtual/egl"
-COMPATIBLE_MACHINE = "^rpi$"
-
-INHIBIT_DEFAULT_DEPS = "1"
-
-include recipes-bsp/common/firmware.inc
-
-SRC_URI += " \
- file://egl.pc \
- file://vchiq.sh \
-"
-
-S = "${RPIFW_S}/${VCDIR}"
-
-INCPR = "r1"
-
-inherit pkgconfig update-rc.d
-
-do_install () {
- install -d ${D}${bindir}
- cp -R bin/* ${D}${bindir}
-
- install -d ${D}${sbindir}
- cp -R sbin/* ${D}${sbindir}
-
- install -d ${D}${libdir}
- # note: -H option to deref symlinked .so
- cp -R -H lib/* ${D}${libdir}
-
- install -d ${D}${includedir}
- cp -R include/* ${D}${includedir}
-
- install -d ${D}${libdir}/pkgconfig
- install -m 0644 ${WORKDIR}/egl.pc ${D}${libdir}/pkgconfig/
-
- install -d ${D}/${sysconfdir}/init.d
- install -m 0755 ${WORKDIR}/vchiq.sh ${D}${sysconfdir}/init.d/
-}
-
-# These are proprietary binaries generated elsewhere so don't check ldflags
-INSANE_SKIP_${PN} = "ldflags"
-
-INITSCRIPT_NAME = "vchiq.sh"
-INITSCRIPT_PARAMS = "start 03 S ."
-
-FILES_${PN} = "${bindir}/* \
- ${sbindir}/* \
- ${libdir}/lib*.so \
- ${sysconfdir}/init.d \
- ${libdir}/plugins"
-FILES_${PN}-dev = "${libdir}/pkgconfig \
- ${includedir}"
-FILES_${PN}-dbg += "${libdir}/plugins/.debug"
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/wayland/weston_%.bbappend b/import-layers/meta-raspberrypi/recipes-graphics/wayland/weston_%.bbappend
deleted file mode 100644
index 55cf7007b..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/wayland/weston_%.bbappend
+++ /dev/null
@@ -1,10 +0,0 @@
-PACKAGECONFIG_remove_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', 'fbdev', '', d)}"
-
-EXTRA_OECONF_append_rpi = " \
- --disable-xwayland-test \
- --disable-simple-egl-clients \
- ${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' \
- --disable-resize-optimization \
- --disable-setuid-install \
- ', d)} \
-"
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf b/import-layers/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf
deleted file mode 100644
index 6fd52985f..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf
+++ /dev/null
@@ -1,6 +0,0 @@
-# Initial xorg.conf for the RaspberryPi
-# Most things are setup automatically by magic pixies in the system.
-#
-# It is suggested this file is not used any more and configuration
-# snippets are placed in xorg.conf.d instead.
-#
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/10-noglamor.conf b/import-layers/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/10-noglamor.conf
deleted file mode 100644
index 1a562ea03..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/10-noglamor.conf
+++ /dev/null
@@ -1,6 +0,0 @@
-#
-Section "Device"
- Identifier "modeset"
- Driver "modesetting"
- Option "AccelMethod" "None"
-EndSection
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/98-pitft.conf b/import-layers/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/98-pitft.conf
deleted file mode 100644
index 0d2b36b2e..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/98-pitft.conf
+++ /dev/null
@@ -1,5 +0,0 @@
-Section "Device"
- Identifier "Adafruit PiTFT"
- Driver "fbdev"
- Option "fbdev" "/dev/fb1"
-EndSection
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/99-calibration.conf b/import-layers/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/99-calibration.conf
deleted file mode 100644
index f8b578c01..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config/rpi/xorg.conf.d/99-calibration.conf
+++ /dev/null
@@ -1,6 +0,0 @@
-Section "InputClass"
- Identifier "calibration"
- MatchProduct "stmpe-ts"
- Option "Calibration" "3800 200 200 3800"
- Option "SwapAxes" "1"
-EndSection
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend b/import-layers/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend
deleted file mode 100644
index 919e95e0d..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xf86-config_0.1.bbappend
+++ /dev/null
@@ -1,21 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
-
-SRC_URI_append_rpi = " \
- file://xorg.conf.d/98-pitft.conf \
- file://xorg.conf.d/99-calibration.conf \
- file://xorg.conf.d/10-noglamor.conf \
-"
-do_install_append_rpi () {
- PITFT="${@bb.utils.contains("MACHINE_FEATURES", "pitft", "1", "0", d)}"
- VC4="${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "1", "0", d)}"
- if [ "${PITFT}" = "1" ]; then
- install -d ${D}/${sysconfdir}/X11/xorg.conf.d/
- install -m 0644 ${WORKDIR}/xorg.conf.d/98-pitft.conf ${D}/${sysconfdir}/X11/xorg.conf.d/
- install -m 0644 ${WORKDIR}/xorg.conf.d/99-calibration.conf ${D}/${sysconfdir}/X11/xorg.conf.d/
- fi
- if [ "${VC4}" = "1" ]; then
- install -Dm 0644 ${WORKDIR}/xorg.conf.d/10-noglamor.conf ${D}/${sysconfdir}/X11/xorg.conf.d/10-noglamor.conf
- fi
-}
-
-FILES_${PN}_rpi += "${sysconfdir}/X11/xorg.conf ${sysconfdir}/X11/xorg.conf.d/*"
diff --git a/import-layers/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend b/import-layers/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
deleted file mode 100644
index a5a6af3f3..000000000
--- a/import-layers/meta-raspberrypi/recipes-graphics/xorg-xserver/xserver-xorg_%.bbappend
+++ /dev/null
@@ -1,9 +0,0 @@
-OPENGL_PKGCFG = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', 'dri3 xshmfence glamor', '', d)}"
-
-# slightly modified to oe-core's default: add ${OPENGL_PKGCFG}
-PACKAGECONFIG_rpi ?= " \
- dri2 udev ${XORG_CRYPTO} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'dri glx ${OPENGL_PKGCFG}', '', d)} \
- ${@bb.utils.contains("DISTRO_FEATURES", "wayland", "xwayland", "", d)} \
- ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "systemd", "", d)} \
-"
diff --git a/import-layers/meta-raspberrypi/recipes-kernel/linux-firmware/linux-firmware_%.bbappend b/import-layers/meta-raspberrypi/recipes-kernel/linux-firmware/linux-firmware_%.bbappend
deleted file mode 100644
index 34d2b6765..000000000
--- a/import-layers/meta-raspberrypi/recipes-kernel/linux-firmware/linux-firmware_%.bbappend
+++ /dev/null
@@ -1,77 +0,0 @@
-# Augments upstream linux-firmware with additional and updated images
-# from Raspbian:
-# https://github.com/RPi-Distro/firmware-nonfree
-# https://github.com/RPi-Distro/bluez-firmware
-
-LICENSE_append_rpi = "\
- & Firmware-cypress \
-"
-
-LIC_FILES_CHKSUM_append_rpi = "\
- file://LICENCE.cypress;md5=cbc5f665d04f741f1e006d2096236ba7 \
-"
-NO_GENERIC_LICENSE[Firmware-cypress] = "LICENCE.cypress"
-
-SRC_URI_append_rpi = " \
- git://github.com/RPi-Distro/firmware-nonfree;destsuffix=raspbian-nf;name=raspbian-nf \
- git://github.com/RPi-Distro/bluez-firmware;destsuffix=raspbian-bluez;name=raspbian-bluez \
-"
-
-SRCREV_raspbian-nf = "86e88fbf0345da49555d0ec34c80b4fbae7d0cd3"
-SRCREV_raspbian-bluez = "e28cd7ee8615de33aa7ec2b41d556af61a4a2707"
-SRCREV_FORMAT_rpi = "default+raspbian-nf+raspbian-bluez"
-
-do_install_append_rpi() {
- install -d ${D}${nonarch_base_libdir}/firmware/brcm/
-
- # Replace outdated linux-firmware files with updated ones from
- # raspbian firmware-nonfree. Raspbian adds blobs and nvram
- # definitions that are also necessary so copy those too.
- for fw in brcmfmac43430-sdio brcmfmac43455-sdio ; do
- install -m 0644 ${WORKDIR}/raspbian-nf/brcm/${fw}.* ${D}${nonarch_base_libdir}/firmware/brcm/
- done
-
- # Add missing Cypress Bluetooth files from raspbian bluez-firmware
- for fw in BCM43430A1.hcd BCM4345C0.hcd ; do
- install -m 0644 ${WORKDIR}/raspbian-bluez/broadcom/${fw} ${D}${nonarch_base_libdir}/firmware/brcm/
- done
-}
-
-# NB: Must prepend, else these become empty and their content is left in
-# the roll-up package which precedes them.
-PACKAGES_prepend_rpi = "\
- ${PN}-bcm43455 \
- ${PN}-cypress-license \
- ${PN}-bcm43430a1-hcd \
- ${PN}-bcm4345c0-hcd \
-"
-
-# For additional Broadcom
-LICENSE_${PN}-bcm43455 = "Firmware-broadcom_bcm43xx"
-
-FILES_${PN}-bcm43430_append_rpi = " \
- ${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.txt \
-"
-FILES_${PN}-bcm43455 = " \
- ${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.* \
-"
-
-RDEPENDS_${PN}-bcm43455 += "${PN}-broadcom-license"
-
-# For additional Cypress
-FILES_${PN}-cypress-license = "\
- ${nonarch_base_libdir}/firmware/LICENCE.cypress \
-"
-
-LICENSE_${PN}-bcm43430a1-hcd = "Firmware-cypress"
-LICENSE_${PN}-bcm4345c0-hcd = "Firmware-cypress"
-
-FILES_${PN}-bcm43430a1-hcd = " \
- ${nonarch_base_libdir}/firmware/brcm/BCM43430A1.hcd \
-"
-FILES_${PN}-bcm4345c0-hcd = " \
- ${nonarch_base_libdir}/firmware/brcm/BCM4345C0.hcd \
-"
-
-RDEPENDS_${PN}-bcm43430a1-hcd += "${PN}-cypress-license"
-RDEPENDS_${PN}-bcm4345c0-hcd += "${PN}-cypress-license"
diff --git a/import-layers/meta-raspberrypi/recipes-kernel/linux/files/0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch b/import-layers/meta-raspberrypi/recipes-kernel/linux/files/0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch
deleted file mode 100644
index a9e9213b7..000000000
--- a/import-layers/meta-raspberrypi/recipes-kernel/linux/files/0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From e6ebc8e654bba53f28af5229a1069fc74fa58b7b Mon Sep 17 00:00:00 2001
-From: Jason Wessel <jason.wessel@windriver.com>
-Date: Thu, 25 Sep 2014 11:26:49 -0700
-Subject: [PATCH] menuconfig,check-lxdiaglog.sh: Allow specification of ncurses
- location
-
-In some cross build environments such as the Yocto Project build
-environment it provides an ncurses library that is compiled
-differently than the host's version. This causes display corruption
-problems when the host's curses includes are used instead of the
-includes from the provided compiler are overridden. There is a second
-case where there is no curses libraries at all on the host system and
-menuconfig will just fail entirely.
-
-The solution is simply to allow an override variable in
-check-lxdialog.sh for environments such as the Yocto Project. Adding
-a CROSS_CURSES_LIB and CROSS_CURSES_INC solves the issue and allowing
-compiling and linking against the right headers and libraries.
-
-Upstream-Status: submitted [https://lkml.org/lkml/2013/3/3/103]
-
-Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
-cc: Michal Marek <mmarek@suse.cz>
-cc: linux-kbuild@vger.kernel.org
-Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
-Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
----
- scripts/kconfig/lxdialog/check-lxdialog.sh | 8 ++++++++
- 1 file changed, 8 insertions(+)
- mode change 100755 => 100644 scripts/kconfig/lxdialog/check-lxdialog.sh
-
-diff --git a/scripts/kconfig/lxdialog/check-lxdialog.sh b/scripts/kconfig/lxdialog/check-lxdialog.sh
-old mode 100755
-new mode 100644
-index 5075ebf2d3b9..ba9242101190
---- a/scripts/kconfig/lxdialog/check-lxdialog.sh
-+++ b/scripts/kconfig/lxdialog/check-lxdialog.sh
-@@ -4,6 +4,10 @@
- # What library to link
- ldflags()
- {
-+ if [ "$CROSS_CURSES_LIB" != "" ]; then
-+ echo "$CROSS_CURSES_LIB"
-+ exit
-+ fi
- pkg-config --libs ncursesw 2>/dev/null && exit
- pkg-config --libs ncurses 2>/dev/null && exit
- for ext in so a dll.a dylib ; do
-@@ -21,6 +25,10 @@ ldflags()
- # Where is ncurses.h?
- ccflags()
- {
-+ if [ x"$CROSS_CURSES_INC" != x ]; then
-+ echo "$CROSS_CURSES_INC"
-+ exit
-+ fi
- if pkg-config --cflags ncursesw 2>/dev/null; then
- echo '-DCURSES_LOC="<ncurses.h>" -DNCURSES_WIDECHAR=1'
- elif pkg-config --cflags ncurses 2>/dev/null; then
---
-2.14.3
-
diff --git a/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-dev.bb b/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-dev.bb
deleted file mode 100644
index 4a7db1a4e..000000000
--- a/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi-dev.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-python __anonymous() {
- if "linux-raspberrypi-dev" not in d.getVar("PREFERRED_PROVIDER_virtual/kernel"):
- msg = "Skipping linux-raspberrypi-dev as it is not the preferred " + \
- "provider of virtual/kernel."
- raise bb.parse.SkipRecipe(msg)
-}
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/linux-raspberrypi:"
-
-LINUX_VERSION ?= "4.16"
-LINUX_RPI_DEV_BRANCH ?= "rpi-4.16.y"
-
-SRCREV = "${AUTOREV}"
-SRC_URI = " \
- git://github.com/raspberrypi/linux.git;protocol=git;branch=${LINUX_RPI_DEV_BRANCH} \
- file://0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch \
- "
-require linux-raspberrypi.inc
-
-# Disable version check so that we don't have to edit this recipe every time
-# upstream bumps the version
-KERNEL_VERSION_SANITY_SKIP = "1"
diff --git a/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc b/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc
deleted file mode 100644
index 65c2ab759..000000000
--- a/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi.inc
+++ /dev/null
@@ -1,136 +0,0 @@
-DESCRIPTION = "Linux Kernel for Raspberry Pi"
-SECTION = "kernel"
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=d7810fab7487fb0aad327b76f1be7cd7"
-
-COMPATIBLE_MACHINE = "^rpi$"
-
-PE = "1"
-PV = "${LINUX_VERSION}+git${SRCPV}"
-
-inherit kernel siteinfo
-require recipes-kernel/linux/linux-yocto.inc
-
-KCONFIG_MODE = "--alldefconfig"
-KBUILD_DEFCONFIG_raspberrypi0-wifi ?= "bcmrpi_defconfig"
-KBUILD_DEFCONFIG_raspberrypi ?= "bcmrpi_defconfig"
-KBUILD_DEFCONFIG_raspberrypi2 ?= "bcm2709_defconfig"
-KBUILD_DEFCONFIG_raspberrypi3 ?= "bcm2709_defconfig"
-KBUILD_DEFCONFIG_raspberrypi3-64 ?= "bcmrpi3_defconfig"
-
-# CMDLINE for raspberrypi
-SERIAL = "${@oe.utils.conditional("ENABLE_UART", "1", "console=serial0,115200", "", d)}"
-CMDLINE ?= "dwc_otg.lpm_enable=0 ${SERIAL} root=/dev/mmcblk0p2 rootfstype=ext4 rootwait"
-
-# Add the kernel debugger over console kernel command line option if enabled
-CMDLINE_append = ' ${@oe.utils.conditional("ENABLE_KGDB", "1", "kgdboc=serial0,115200", "", d)}'
-
-# Disable rpi logo on boot
-CMDLINE_append += ' ${@oe.utils.conditional("DISABLE_RPI_BOOT_LOGO", "1", "logo.nologo", "", d)}'
-
-# You can define CMDLINE_DEBUG as "debug" in your local.conf or distro.conf
-# to enable kernel debugging.
-CMDLINE_DEBUG ?= ""
-CMDLINE_append = " ${CMDLINE_DEBUG}"
-
-KERNEL_INITRAMFS ?= '${@oe.utils.conditional("INITRAMFS_IMAGE_BUNDLE", "1", "1", "", d)}'
-
-KERNEL_MODULE_AUTOLOAD += "${@bb.utils.contains("MACHINE_FEATURES", "pitft28r", "stmpe-ts", "", d)}"
-
-# A LOADADDR is needed when building a uImage format kernel. This value is not
-# set by default in rpi-4.8.y and later branches so we need to provide it
-# manually. This value unused if KERNEL_IMAGETYPE is not uImage.
-KERNEL_EXTRA_ARGS += "LOADADDR=0x00008000"
-
-# Set a variable in .configure
-# $1 - Configure variable to be set
-# $2 - value [n/y/value]
-kernel_configure_variable() {
- # Remove the config
- CONF_SED_SCRIPT="$CONF_SED_SCRIPT /CONFIG_$1[ =]/d;"
- if test "$2" = "n"
- then
- echo "# CONFIG_$1 is not set" >> ${B}/.config
- else
- echo "CONFIG_$1=$2" >> ${B}/.config
- fi
-}
-
-config_setup() {
- # From kernel.bbclass. Unfortunately, this is needed to support builds that
- # use devtool. The reason is as follows:
- #
- # - In devtool builds, externalsrc.bbclass gets inherited and sets a list of
- # SRCTREECOVEREDTASKS, which don't get run because they affect the source
- # tree and, when using devtool, we want the developer's changes to be the
- # single source of truth. kernel-yocto.bbclass adds do_kernel_configme to
- # SRCTREECOVEREDTASKS, so it doesn't run in a devtool build., In a normal
- # non-devtool build, do_kernel_configme creates ${B}.config.
- #
- # - Normally (e.g. in linux-yocto), it would be OK that do_kernel_configme
- # doesn't run, because the first few lines of do_configure in kernel.bbclass
- # populate ${B}.config from either ${S}.config (if it exists) for custom
- # developer changes, or otherwise from ${WORDIR}/defconfig.
- #
- # - In linux-raspberrypi, we add do_configure_prepend, which tweaks
- # ${B}.config. Since this runs *before* the kernel.bbclass do_configure,
- # ${B}.config doesn't yet exist and we hit an error. Thus we need to move
- # the logic from do_configure up to before our do_configure_prepend. Because
- # we are copying only a portion of do_configure and not the whole thing,
- # there is no clean way to do it using OE functionality, so we just
- # copy-and-paste.
- if [ "${S}" != "${B}" ] && [ -f "${S}/.config" ] && [ ! -f "${B}/.config" ]; then
- mv "${S}/.config" "${B}/.config"
- fi
-
- # Copy defconfig to .config if .config does not exist. This allows
- # recipes to manage the .config themselves in do_configure_prepend().
- if [ -f "${WORKDIR}/defconfig" ] && [ ! -f "${B}/.config" ]; then
- cp "${WORKDIR}/defconfig" "${B}/.config"
- fi
-}
-
-do_configure_prepend() {
- config_setup
-
- mv -f ${B}/.config ${B}/.config.patched
- CONF_SED_SCRIPT=""
-
- # Localversion
- kernel_configure_variable LOCALVERSION "\"\""
-
- if [ ! -z "${KERNEL_INITRAMFS}" ]; then
- kernel_configure_variable OVERLAY_FS y
- kernel_configure_variable SQUASHFS y
- kernel_configure_variable UBIFS_FS y
- fi
-
- # Activate the configuration options for VC4
- VC4GRAPHICS="${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "1", "0", d)}"
- if [ ${VC4GRAPHICS} = "1" ]; then
- kernel_configure_variable I2C_BCM2835 y
- kernel_configure_variable DRM y
- kernel_configure_variable DRM_FBDEV_EMULATION y
- kernel_configure_variable DRM_VC4 y
- fi
-
- # Keep this the last line
- # Remove all modified configs and add the rest to .config
- sed -e "${CONF_SED_SCRIPT}" < '${B}/.config.patched' >> '${B}/.config'
- rm -f ${B}/.config.patched
-}
-
-do_compile_append_raspberrypi3-64() {
- cc_extra=$(get_cc_option)
- oe_runmake dtbs CC="${KERNEL_CC} $cc_extra " LD="${KERNEL_LD}" ${KERNEL_EXTRA_ARGS}
-}
-
-do_deploy_append() {
- # Deploy cmdline.txt
- install -d ${DEPLOYDIR}/bcm2835-bootfiles
- PITFT="${@bb.utils.contains("MACHINE_FEATURES", "pitft", "1", "0", d)}"
- if [ ${PITFT} = "1" ]; then
- PITFT_PARAMS="fbcon=map:10 fbcon=font:VGA8x8"
- fi
- echo "${CMDLINE}${PITFT_PARAMS}" > ${DEPLOYDIR}/bcm2835-bootfiles/cmdline.txt
-}
diff --git a/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.14.bb b/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.14.bb
deleted file mode 100644
index 0478576de..000000000
--- a/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.14.bb
+++ /dev/null
@@ -1,9 +0,0 @@
-LINUX_VERSION ?= "4.14.39"
-
-SRCREV = "865ddc1393f558198e7e7ce70928ff2e49c4f7f6"
-SRC_URI = " \
- git://github.com/raspberrypi/linux.git;branch=rpi-4.14.y \
- file://0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch \
- "
-
-require linux-raspberrypi.inc
diff --git a/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.9.bb b/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.9.bb
deleted file mode 100644
index 21fcfef93..000000000
--- a/import-layers/meta-raspberrypi/recipes-kernel/linux/linux-raspberrypi_4.9.bb
+++ /dev/null
@@ -1,11 +0,0 @@
-FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}-${PV}:"
-
-LINUX_VERSION ?= "4.9.80"
-
-SRCREV = "ffd7bf4085b09447e5db96edd74e524f118ca3fe"
-SRC_URI = " \
- git://github.com/raspberrypi/linux.git;branch=rpi-4.9.y \
- file://0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch \
- "
-
-require linux-raspberrypi.inc
diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.12/0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch b/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.12/0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch
deleted file mode 100644
index 85fea67be..000000000
--- a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.12/0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From cfb432fcd8868c7a4f32010c61e47e2bf0ff80c6 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Enrique=20Oca=C3=B1a=20Gonz=C3=A1lez?= <eocanha@igalia.com>
-Date: Mon, 25 May 2015 14:53:35 +0200
-Subject: [PATCH] Don't try to acquire buffer when src pad isn't active
-
-This solves a race condition when setting the pipeline from PAUSE to
-NULL while the decoder loop is still running. Without this patch, the
-thread which interacts with the decode sink pad gets blocked here:
-
- gst_element_change_state()
- gst_element_change_state_func()
- gst_element_pads_activate() --> Deactivating pads
- activate_pads()
- gst_pad_set_active()
- gst_pad_activate_mode()
- post_activate()
- GST_PAD_STREAM_LOCK()
-
-while gst_omx_port_acquire_buffer() gets stalled forever in
-gst_omx_component_wait_message() waiting for a message that will never
-arrive:
-
- gst_omx_video_dec_loop()
- gst_omx_port_acquire_buffer()
- gst_omx_component_wait_message()
-
----
- omx/gstomxvideodec.c | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c
-index d12ee8f..fb0100a 100644
---- a/omx/gstomxvideodec.c
-+++ b/omx/gstomxvideodec.c
-@@ -1250,6 +1250,11 @@ gst_omx_video_dec_loop (GstOMXVideoDec * self)
- GstClockTimeDiff deadline;
- OMX_ERRORTYPE err;
-
-+ if (!gst_pad_is_active(GST_VIDEO_DECODER_SRC_PAD (self))) {
-+ GST_DEBUG_OBJECT (self, "Src pad not active, not acquiring buffer and flushing instead");
-+ goto flushing;
-+ }
-+
- #if defined (USE_OMX_TARGET_RPI) && defined (HAVE_GST_GL)
- port = self->eglimage ? self->egl_out_port : self->dec_out_port;
- #else
diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.12/0001-config-files-path.patch b/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.12/0001-config-files-path.patch
deleted file mode 100644
index 6903c1770..000000000
--- a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.12/0001-config-files-path.patch
+++ /dev/null
@@ -1,150 +0,0 @@
-From 0dc88ed881eb8420dad4cf0934a900d85b6ef313 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 11 Feb 2016 12:53:20 -0800
-
----
- config/bellagio/gstomx.conf | 8 ++++----
- config/rpi/gstomx.conf | 22 +++++++++++-----------
- 2 files changed, 15 insertions(+), 15 deletions(-)
-
-diff --git a/config/bellagio/gstomx.conf b/config/bellagio/gstomx.conf
-index 5ca8ba6..8931255 100644
---- a/config/bellagio/gstomx.conf
-+++ b/config/bellagio/gstomx.conf
-@@ -1,6 +1,6 @@
- [omxmpeg4videodec]
- type-name=GstOMXMPEG4VideoDec
--core-name=/usr/local/lib/libomxil-bellagio.so.0
-+core-name=/usr/lib/libomxil-bellagio.so.0
- component-name=OMX.st.video_decoder.mpeg4
- rank=257
- in-port-index=0
-@@ -9,7 +9,7 @@ hacks=event-port-settings-changed-ndata-parameter-swap;event-port-settings-chang
-
- [omxh264dec]
- type-name=GstOMXH264Dec
--core-name=/usr/local/lib/libomxil-bellagio.so.0
-+core-name=/usr/lib/libomxil-bellagio.so.0
- component-name=OMX.st.video_decoder.avc
- rank=257
- in-port-index=0
-@@ -18,7 +18,7 @@ hacks=event-port-settings-changed-ndata-parameter-swap;event-port-settings-chang
-
- [omxmpeg4videoenc]
- type-name=GstOMXMPEG4VideoEnc
--core-name=/usr/local/lib/libomxil-bellagio.so.0
-+core-name=/usr/lib/libomxil-bellagio.so.0
- component-name=OMX.st.video_encoder.mpeg4
- rank=0
- in-port-index=0
-@@ -27,7 +27,7 @@ hacks=event-port-settings-changed-ndata-parameter-swap;video-framerate-integer;s
-
- [omxaacenc]
- type-name=GstOMXAACEnc
--core-name=/usr/local/lib/libomxil-bellagio.so.0
-+core-name=/usr/lib/libomxil-bellagio.so.0
- component-name=OMX.st.audio_encoder.aac
- rank=0
- in-port-index=0
-diff --git a/config/rpi/gstomx.conf b/config/rpi/gstomx.conf
-index d3ea56a..2508dae 100644
---- a/config/rpi/gstomx.conf
-+++ b/config/rpi/gstomx.conf
-@@ -1,6 +1,6 @@
- [omxmpeg2videodec]
- type-name=GstOMXMPEG2VideoDec
--core-name=/opt/vc/lib/libopenmaxil.so
-+core-name=/usr/lib/libopenmaxil.so
- component-name=OMX.broadcom.video_decode
- rank=257
- in-port-index=130
-@@ -9,7 +9,7 @@ hacks=no-component-role
-
- [omxmpeg4videodec]
- type-name=GstOMXMPEG4VideoDec
--core-name=/opt/vc/lib/libopenmaxil.so
-+core-name=/usr/lib/libopenmaxil.so
- component-name=OMX.broadcom.video_decode
- rank=257
- in-port-index=130
-@@ -18,7 +18,7 @@ hacks=no-component-role
-
- [omxh263dec]
- type-name=GstOMXH263Dec
--core-name=/opt/vc/lib/libopenmaxil.so
-+core-name=/usr/lib/libopenmaxil.so
- component-name=OMX.broadcom.video_decode
- rank=257
- in-port-index=130
-@@ -27,7 +27,7 @@ hacks=no-component-role
-
- [omxh264dec]
- type-name=GstOMXH264Dec
--core-name=/opt/vc/lib/libopenmaxil.so
-+core-name=/usr/lib/libopenmaxil.so
- component-name=OMX.broadcom.video_decode
- rank=257
- in-port-index=130
-@@ -36,7 +36,7 @@ hacks=no-component-role;signals-premature-eos
-
- [omxtheoradec]
- type-name=GstOMXTheoraDec
--core-name=/opt/vc/lib/libopenmaxil.so
-+core-name=/usr/lib/libopenmaxil.so
- component-name=OMX.broadcom.video_decode
- rank=257
- in-port-index=130
-@@ -45,7 +45,7 @@ hacks=no-component-role
-
- [omxvp8dec]
- type-name=GstOMXVP8Dec
--core-name=/opt/vc/lib/libopenmaxil.so
-+core-name=/usr/lib/libopenmaxil.so
- component-name=OMX.broadcom.video_decode
- rank=257
- in-port-index=130
-@@ -54,7 +54,7 @@ hacks=no-component-role
-
- [omxmjpegdec]
- type-name=GstOMXMJPEGDec
--core-name=/opt/vc/lib/libopenmaxil.so
-+core-name=/usr/lib/libopenmaxil.so
- component-name=OMX.broadcom.video_decode
- rank=257
- in-port-index=130
-@@ -63,7 +63,7 @@ hacks=no-component-role
-
- [omxvc1dec]
- type-name=GstOMXWMVDec
--core-name=/opt/vc/lib/libopenmaxil.so
-+core-name=/usr/lib/libopenmaxil.so
- component-name=OMX.broadcom.video_decode
- rank=257
- in-port-index=130
-@@ -73,7 +73,7 @@ sink-template-caps=video/x-wmv,wmvversion=(int)3,format=(string){WMV3,WVC1},widt
-
- [omxh264enc]
- type-name=GstOMXH264Enc
--core-name=/opt/vc/lib/libopenmaxil.so
-+core-name=/usr/lib/libopenmaxil.so
- component-name=OMX.broadcom.video_encode
- rank=257
- in-port-index=200
-@@ -82,7 +82,7 @@ hacks=no-component-role;no-component-reconfigure
-
- [omxanalogaudiosink]
- type-name=GstOMXAnalogAudioSink
--core-name=/opt/vc/lib/libopenmaxil.so
-+core-name=/usr/lib/libopenmaxil.so
- component-name=OMX.broadcom.audio_render
- rank=257
- in-port-index=100
-@@ -92,7 +92,7 @@ sink-template-caps=audio/x-raw,format=(string){S16LE,S32LE},layout=(string)inter
-
- [omxhdmiaudiosink]
- type-name=GstOMXHdmiAudioSink
--core-name=/opt/vc/lib/libopenmaxil.so
-+core-name=/usr/lib/libopenmaxil.so
- component-name=OMX.broadcom.audio_render
- rank=258
- in-port-index=100
diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.12/0002-fix-decoder-flushing.patch b/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.12/0002-fix-decoder-flushing.patch
deleted file mode 100644
index 122ddb397..000000000
--- a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.12/0002-fix-decoder-flushing.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-From fc4773f36aa31b4ae0fc97d3aa3f94db0c88f194 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Thu, 11 Feb 2016 12:53:20 -0800
-
----
- omx/gstomx.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/omx/gstomx.c b/omx/gstomx.c
-index 0237f3c..45732c3 100644
---- a/omx/gstomx.c
-+++ b/omx/gstomx.c
-@@ -1538,8 +1538,8 @@ gst_omx_port_set_flushing (GstOMXPort * port, GstClockTime timeout,
- last_error = OMX_ErrorNone;
- gst_omx_component_handle_messages (comp);
- while (signalled && last_error == OMX_ErrorNone && !port->flushed
-- && port->buffers
-- && port->buffers->len > g_queue_get_length (&port->pending_buffers)) {
-+ /* && port->buffers
-+ && port->buffers->len > g_queue_get_length (&port->pending_buffers) */) {
- signalled = gst_omx_component_wait_message (comp, timeout);
- if (signalled)
- gst_omx_component_handle_messages (comp);
diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.12/0003-no-timeout-on-get-state.patch b/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.12/0003-no-timeout-on-get-state.patch
deleted file mode 100644
index 4124bccf8..000000000
--- a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.12/0003-no-timeout-on-get-state.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 02e49cba402a783fa1b30e445b83a5c280949c1e Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 13 Feb 2016 11:42:29 -0800
-
----
- omx/gstomxvideodec.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c
-index fb0100a..bad6335 100644
---- a/omx/gstomxvideodec.c
-+++ b/omx/gstomxvideodec.c
-@@ -1713,9 +1713,9 @@ gst_omx_video_dec_stop (GstVideoDecoder * decoder)
- g_cond_broadcast (&self->drain_cond);
- g_mutex_unlock (&self->drain_lock);
-
-- gst_omx_component_get_state (self->dec, 5 * GST_SECOND);
-+ gst_omx_component_get_state (self->dec, 0);
- #if defined (USE_OMX_TARGET_RPI) && defined (HAVE_GST_GL)
-- gst_omx_component_get_state (self->egl_render, 1 * GST_SECOND);
-+ gst_omx_component_get_state (self->egl_render, 0);
- #endif
-
- gst_buffer_replace (&self->codec_data, NULL);
diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.12/0004-Properly-handle-drain-requests-while-flushing.patch b/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.12/0004-Properly-handle-drain-requests-while-flushing.patch
deleted file mode 100644
index b02072a4a..000000000
--- a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.12/0004-Properly-handle-drain-requests-while-flushing.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From f00912f0628aff15e882bdc1619f5de1ddf5c720 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Enrique=20Oca=C3=B1a=20Gonz=C3=A1lez?= <eocanha@igalia.com>
-Date: Tue, 17 Nov 2015 16:51:27 +0000
-Subject: [PATCH] Properly handle drain requests while flushing
-
-Without this commit the decoder streaming thread stops without ever attending
-the drain request, leaving the decoder input thread waiting forever.
-
----
- omx/gstomx.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/omx/gstomx.c b/omx/gstomx.c
-index 45732c3..784a5d7 100644
---- a/omx/gstomx.c
-+++ b/omx/gstomx.c
-@@ -737,6 +737,13 @@ gst_omx_component_new (GstObject * parent, const gchar * core_name,
-
- g_mutex_lock (&comp->lock);
- gst_omx_component_handle_messages (comp);
-+
-+ if (err != OMX_ErrorNone && comp->last_error == OMX_ErrorNone) {
-+ GST_ERROR_OBJECT (comp->parent,
-+ "Last operation returned an error. Setting last_error manually.");
-+ comp->last_error = err;
-+ }
-+
- g_mutex_unlock (&comp->lock);
-
- return comp;
diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.12/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch b/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.12/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch
deleted file mode 100644
index fdfdd1b5a..000000000
--- a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx-1.12/0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 0d2ad639e6158c8023c157e206ef3ff7abdc089c Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Enrique=20Oca=C3=B1a=20Gonz=C3=A1lez?= <eocanha@igalia.com>
-Date: Fri, 4 Dec 2015 18:39:59 +0100
-Subject: [PATCH] Don't abort gst_omx_video_dec_set_format() if there's a
- timeout releasing the buffers taken by the egl_render out port
-
----
- omx/gstomxvideodec.c | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/omx/gstomxvideodec.c b/omx/gstomxvideodec.c
-index bad6335..c63b972 100644
---- a/omx/gstomxvideodec.c
-+++ b/omx/gstomxvideodec.c
-@@ -1911,8 +1911,11 @@ gst_omx_video_dec_set_format (GstVideoDecoder * decoder,
- 5 * GST_SECOND) != OMX_ErrorNone)
- return FALSE;
- if (gst_omx_port_wait_buffers_released (out_port,
-- 1 * GST_SECOND) != OMX_ErrorNone)
-+ 1 * GST_SECOND) != OMX_ErrorNone) {
-+#if !(defined (USE_OMX_TARGET_RPI) && defined (HAVE_GST_GL))
- return FALSE;
-+#endif
-+ }
- if (gst_omx_port_deallocate_buffers (self->dec_in_port) != OMX_ErrorNone)
- return FALSE;
- if (gst_omx_video_dec_deallocate_output_buffers (self) != OMX_ErrorNone)
diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend b/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend
deleted file mode 100644
index 67e46de95..000000000
--- a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend
+++ /dev/null
@@ -1,9 +0,0 @@
-GSTREAMER_1_0_OMX_TARGET_rpi = "rpi"
-GSTREAMER_1_0_OMX_CORE_NAME_rpi = "${libdir}/libopenmaxil.so"
-
-
-# How to make this RPI specific?
-EXTRA_OECONF_append_rpi = " CFLAGS="$CFLAGS -I${STAGING_DIR_TARGET}/usr/include/IL -I${STAGING_DIR_TARGET}/usr/include/interface/vcos/pthreads -I${STAGING_DIR_TARGET}/usr/include/interface/vmcs_host/linux""
-#examples only build with GL but not GLES, so disable it for RPI
-EXTRA_OECONF_append_rpi = " --disable-examples"
-
diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.12%.bbappend b/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.12%.bbappend
deleted file mode 100644
index 93381a4e0..000000000
--- a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-omx_1.12%.bbappend
+++ /dev/null
@@ -1,13 +0,0 @@
-#
-# Need to make this conditional to gstreamer1
-#
-SRC_URI_append_rpi = " \
- file://0001-config-files-path.patch \
- file://0001-Don-t-try-to-acquire-buffer-when-src-pad-isn-t-activ.patch \
- file://0002-fix-decoder-flushing.patch \
- file://0003-no-timeout-on-get-state.patch \
- file://0004-Properly-handle-drain-requests-while-flushing.patch \
- file://0005-Don-t-abort-gst_omx_video_dec_set_format-if-there-s-.patch \
-"
-
-FILESEXTRAPATHS_prepend := "${THISDIR}/gstreamer1.0-omx-1.12:"
diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend b/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend
deleted file mode 100644
index 7292f90ce..000000000
--- a/import-layers/meta-raspberrypi/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_%.bbappend
+++ /dev/null
@@ -1,12 +0,0 @@
-EXTRA_OECONF_append_rpi = " CPPFLAGS='-I${STAGING_INCDIR}/interface/vcos/pthreads \
- -I${STAGING_INCDIR}/interface/vmcs_host/linux'"
-
-# if using bcm driver enable dispmanx not when using VC4 driver
-
-PACKAGECONFIG_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', '', ' dispmanx', d)}"
-
-PACKAGECONFIG_GL_rpi = "egl gles2"
-
-PACKAGECONFIG_append_rpi = " hls libmms faad"
-
-PACKAGECONFIG[dispmanx] = "--enable-dispmanx,--disable-dispmanx,userland"
diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0001-Remove-Makefile.include-which-includes-hardcoded.patch b/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0001-Remove-Makefile.include-which-includes-hardcoded.patch
deleted file mode 100644
index 151c33cce..000000000
--- a/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0001-Remove-Makefile.include-which-includes-hardcoded.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From a2a28fb7c4e8354cc0f90454e9bd151c16a6bf8b Mon Sep 17 00:00:00 2001
-From: Andrei Gherzan <andrei@gherzan.ro>
-Date: Tue, 20 Aug 2013 16:10:51 +0300
-Subject: [PATCH] Remove Makefile.include which includes hardcoded
-
-Remove Makefile.include which includes hardcoded paths and rely on
-variables provided by build system.
-
-Upstream-Status: Inappropriate [embedded specific]
-Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
-
-Updated patch to apply to c0dd9502ed2c43c487674939195c69680f3d98b0 revision
-
-diff --git a/Makefile b/Makefile
-index f348465..65f7637 100644
---- a/Makefile
-+++ b/Makefile
-@@ -1,4 +1,3 @@
--include Makefile.include
-
- CFLAGS+=-std=c++0x -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -DTARGET_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CMAKE_CONFIG -D__VIDEOCORE4__ -U_FORTIFY_SOURCE -Wall -DHAVE_OMXLIB -DUSE_EXTERNAL_FFMPEG -DHAVE_LIBAVCODEC_AVCODEC_H -DHAVE_LIBAVUTIL_OPT_H -DHAVE_LIBAVUTIL_MEM_H -DHAVE_LIBAVUTIL_AVUTIL_H -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVFILTER_AVFILTER_H -DHAVE_LIBSWRESAMPLE_SWRESAMPLE_H -DOMX -DOMX_SKIP64BIT -ftree-vectorize -DUSE_EXTERNAL_OMX -DTARGET_RASPBERRY_PI -DUSE_EXTERNAL_LIBBCM_HOST
-
-diff --git a/Makefile.ffmpeg b/Makefile.ffmpeg
-index 083e214..3b31a82 100644
---- a/Makefile.ffmpeg
-+++ b/Makefile.ffmpeg
-@@ -1,4 +1,3 @@
--include Makefile.include
-
- CFLAGS=-D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -DTARGET_LINUX -fPIC -DPIC -D_REENTRANT -D_HAVE_SBRK -D_LARGEFILE64_SOURCE -DHAVE_CMAKE_CONFIG -DHAVE_VMCS_CONFIG -D_REENTRANT -DUSE_VCHIQ_ARM -DVCHI_BULK_ALIGN=1 -DVCHI_BULK_GRANULARITY=1 -DEGL_SERVER_DISPMANX -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__VIDEOCORE4__ -DGRAPHICS_X_VG=1 -U_FORTIFY_SOURCE -Wall -DHAVE_OMXLIB -DUSE_EXTERNAL_FFMPEG -DHAVE_LIBAVCODEC_AVCODEC_H -DHAVE_LIBAVUTIL_MEM_H -DHAVE_LIBAVUTIL_AVUTIL_H -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVFILTER_AVFILTER_H -DOMX -DOMX_SKIP64BIT
-
-diff --git a/Makefile.include b/Makefile.include
-deleted file mode 100644
-index 58e9560..0000000
---- a/Makefile.include
-+++ /dev/null
-@@ -1,40 +0,0 @@
--USE_BUILDROOT=0
--FLOAT=hard
--
--ifeq ($(USE_BUILDROOT), 1)
--BUILDROOT :=/opt/xbmc-bcm/buildroot
--SDKSTAGE :=$(BUILDROOT)/output/staging
--TARGETFS :=$(BUILDROOT)/output/target
--TOOLCHAIN :=$(BUILDROOT)/output/host/usr/
--HOST :=arm-unknown-linux-gnueabi
--SYSROOT :=$(BUILDROOT)/output/host/usr/arm-unknown-linux-gnueabi/sysroot
--else
--BUILDROOT :=/opt/bcm-rootfs
--SDKSTAGE :=/opt/bcm-rootfs
--TARGETFS :=/opt/bcm-rootfs
--TOOLCHAIN :=/home/dc4/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian/
--HOST :=arm-linux-gnueabihf
--#SYSROOT :=$(TOOLCHAIN)/arm-bcm2708hardfp-linux-gnueabi/sysroot
--SYSROOT :=/opt/bcm-rootfs
--endif
--
--JOBS=7
--
--CFLAGS := -isystem$(PREFIX)/include
--CXXFLAGS := $(CFLAGS)
--CPPFLAGS := $(CFLAGS)
--LDFLAGS := -L$(BUILDROOT)/lib
--LD := $(TOOLCHAIN)/bin/$(HOST)-ld --sysroot=$(SYSROOT)
--CC := $(TOOLCHAIN)/bin/$(HOST)-gcc --sysroot=$(SYSROOT)
--CXX := $(TOOLCHAIN)/bin/$(HOST)-g++ --sysroot=$(SYSROOT)
--OBJDUMP := $(TOOLCHAIN)/bin/$(HOST)-objdump
--RANLIB := $(TOOLCHAIN)/bin/$(HOST)-ranlib
--STRIP := $(TOOLCHAIN)/bin/$(HOST)-strip
--AR := $(TOOLCHAIN)/bin/$(HOST)-ar
--CXXCP := $(CXX) -E
--PATH := $(PREFIX)/bin:$(BUILDROOT)/output/host/usr/bin:$(PATH)
--
--CFLAGS += -pipe -mfloat-abi=$(FLOAT) -mcpu=arm1176jzf-s -fomit-frame-pointer -mabi=aapcs-linux -mtune=arm1176jzf-s -mfpu=vfp -Wno-psabi -mno-apcs-stack-check -g -mstructure-size-boundary=32 -mno-sched-prolog
--LDFLAGS += -L$(SDKSTAGE)/lib -L$(SDKSTAGE)/usr/lib -L$(SDKSTAGE)/opt/vc/lib/ -Lpcre/build
--#INCLUDES += -isystem$(SDKSTAGE)/usr/include -isystem$(SDKSTAGE)/opt/vc/include -isystem$(SYSROOT)/usr/include -isystem$(SDKSTAGE)/opt/vc/include/interface/vcos/pthreads -isystem$(SDKSTAGE)/usr/include/freetype2
--INCLUDES += -isystem$(SDKSTAGE)/opt/vc/include -isystem$(SYSROOT)/usr/include -isystem$(SDKSTAGE)/opt/vc/include/interface/vcos/pthreads -Ipcre/build -Iboost-trunk -Ifreetype2/include
diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0002-Libraries-and-headers-from-ffmpeg-are-installed-in-u.patch b/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0002-Libraries-and-headers-from-ffmpeg-are-installed-in-u.patch
deleted file mode 100644
index 203f34b2d..000000000
--- a/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0002-Libraries-and-headers-from-ffmpeg-are-installed-in-u.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From 1e92da659375eae1622984d4cc0ffd2a7b082fcf Mon Sep 17 00:00:00 2001
-From: Andrei Gherzan <andrei@gherzan.ro>
-Date: Sun, 24 Aug 2014 00:13:13 +0200
-Subject: [PATCH] Libraries and headers from ffmpeg are installed in /usr.
-
-Don't search for libraries and headers in /usr/local.
-
-Upstream-Status: Inappropriate [embedded specific]
-
-Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
-Signed-off-by: Jonathan Liu <net147@gmail.com>
----
- Makefile | 6 +++---
- Makefile.ffmpeg | 2 +-
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-Index: git/Makefile
-===================================================================
---- git.orig/Makefile
-+++ git/Makefile
-@@ -1,9 +1,9 @@
-
- CFLAGS+=-std=c++0x -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -DTARGET_LINUX -fPIC -DPIC -D_REENTRANT -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DHAVE_CMAKE_CONFIG -D__VIDEOCORE4__ -U_FORTIFY_SOURCE -Wall -DHAVE_OMXLIB -DUSE_EXTERNAL_FFMPEG -DHAVE_LIBAVCODEC_AVCODEC_H -DHAVE_LIBAVUTIL_OPT_H -DHAVE_LIBAVUTIL_MEM_H -DHAVE_LIBAVUTIL_AVUTIL_H -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVFILTER_AVFILTER_H -DHAVE_LIBSWRESAMPLE_SWRESAMPLE_H -DOMX -DOMX_SKIP64BIT -ftree-vectorize -DUSE_EXTERNAL_OMX -DTARGET_RASPBERRY_PI -DUSE_EXTERNAL_LIBBCM_HOST
-
--LDFLAGS+=-L./ -Lffmpeg_compiled/usr/local/lib/ -lc -lWFC -lGLESv2 -lEGL -lbcm_host -lopenmaxil -lfreetype -lz -lasound
-+LDFLAGS+=-L./ -Lffmpeg_compiled/usr/lib/ -lc -lWFC -lGLESv2 -lEGL -lbcm_host -lopenmaxil -lfreetype -lz -lasound
-
--INCLUDES+=-I./ -Ilinux -Iffmpeg_compiled/usr/local/include/ -I /usr/include/dbus-1.0 -I /usr/lib/arm-linux-gnueabihf/dbus-1.0/include
-+INCLUDES+=-I./ -Ilinux -Iffmpeg_compiled/usr/include/ -I=/usr/include/dbus-1.0
-
- DIST ?= omxplayer-dist
-
-@@ -88,5 +88,5 @@ dist: omxplayer.bin omxplayer.1
- cp COPYING $(DIST)/usr/share/doc/omxplayer
- cp README.md $(DIST)/usr/share/doc/omxplayer/README
- cp omxplayer.1 $(DIST)/usr/share/man/man1
-- cp -P ffmpeg_compiled/usr/local/lib/*.so* $(DIST)/usr/lib/omxplayer/
-+ cp -P ffmpeg_compiled/usr/lib/*.so* $(DIST)/usr/lib/omxplayer/
- cd $(DIST); tar -czf ../$(DIST).tgz *
-Index: git/Makefile.ffmpeg
-===================================================================
---- git.orig/Makefile.ffmpeg
-+++ git/Makefile.ffmpeg
-@@ -254,5 +254,5 @@ checkout:
- .PHONY : install
- install:
- cd ffmpeg; make -j9 DESTDIR="$(WORK)/ffmpeg_compiled" install
-- $(HOST)-strip ffmpeg_compiled/usr/local/lib/*.so
-+ $(HOST)-strip ffmpeg_compiled/usr/lib/*.so
-
diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0003-Remove-strip-step-in-Makefile.patch b/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0003-Remove-strip-step-in-Makefile.patch
deleted file mode 100644
index 7f313301e..000000000
--- a/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0003-Remove-strip-step-in-Makefile.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From b738724c6ca45ee5fecebed01c7ac91c92446123 Mon Sep 17 00:00:00 2001
-From: Andrei Gherzan <andrei@gherzan.ro>
-Date: Sun, 24 Aug 2014 00:18:05 +0200
-Subject: [PATCH] Remove strip step in Makefile
-
-Build system will strip binaries so remove strip step in Makefile.
-Avoid warnings/errors like:
-WARNING: File '/usr/lib/omxplayer/libavutil.so.51.56.100' from
-omxplayer was already stripped, this will prevent future debugging!
-
-Upstream-Status: Inappropriate [embedded specific]
-Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
----
- Makefile.ffmpeg | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/Makefile.ffmpeg b/Makefile.ffmpeg
-index 9d66a85..00df197 100644
---- a/Makefile.ffmpeg
-+++ b/Makefile.ffmpeg
-@@ -243,7 +243,8 @@ configure:
- --disable-decoder=xbin \
- --disable-decoder=idf \
- --enable-decoder=opus \
-- --cross-prefix=$(HOST)-
-+ --cross-prefix=$(HOST)- \
-+ --disable-stripping
-
- .PHONY : clean
- clean:
-@@ -256,5 +257,3 @@ checkout:
- .PHONY : install
- install:
- cd ffmpeg; make -j9 DESTDIR="$(WORK)/ffmpeg_compiled" install
-- $(HOST)-strip ffmpeg_compiled/usr/lib/*.so
--
---
-1.9.3
-
diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0004-Add-FFMPEG_EXTRA_CFLAGS-and-FFMPEG_EXTRA_LDFLAGS.patch b/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0004-Add-FFMPEG_EXTRA_CFLAGS-and-FFMPEG_EXTRA_LDFLAGS.patch
deleted file mode 100644
index ea8530def..000000000
--- a/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0004-Add-FFMPEG_EXTRA_CFLAGS-and-FFMPEG_EXTRA_LDFLAGS.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 100982ee1fc1cb571c7453d14f9acd60e67d4765 Mon Sep 17 00:00:00 2001
-From: Andrei Gherzan <andrei.gherzan@windriver.com>
-Date: Sun, 25 Jan 2015 11:13:51 +0200
-Subject: [PATCH] Add FFMPEG_EXTRA_CFLAGS and FFMPEG_EXTRA_LDFLAGS
-
-In this way we can inject flags to LD and CC using
---extra-cflags and --extra-ldflags.
-
-Upstream-Status: Inappropriate [embedded specific]
-Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
----
- Makefile.ffmpeg | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-Index: git/Makefile.ffmpeg
-===================================================================
---- git.orig/Makefile.ffmpeg
-+++ git/Makefile.ffmpeg
-@@ -1,6 +1,8 @@
-
- CFLAGS=-D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DTARGET_POSIX -DTARGET_LINUX -fPIC -DPIC -D_REENTRANT -D_HAVE_SBRK -D_LARGEFILE64_SOURCE -DHAVE_CMAKE_CONFIG -DHAVE_VMCS_CONFIG -D_REENTRANT -DUSE_VCHIQ_ARM -DVCHI_BULK_ALIGN=1 -DVCHI_BULK_GRANULARITY=1 -DEGL_SERVER_DISPMANX -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D__VIDEOCORE4__ -DGRAPHICS_X_VG=1 -U_FORTIFY_SOURCE -Wall -DHAVE_OMXLIB -DUSE_EXTERNAL_FFMPEG -DHAVE_LIBAVCODEC_AVCODEC_H -DHAVE_LIBAVUTIL_MEM_H -DHAVE_LIBAVUTIL_AVUTIL_H -DHAVE_LIBAVFORMAT_AVFORMAT_H -DHAVE_LIBAVFILTER_AVFILTER_H -DOMX -DOMX_SKIP64BIT
-
-+FFMPEG_EXTRA_CFLAGS?=-mfpu=vfp -mfloat-abi=$(FLOAT) -mno-apcs-stack-check -mstructure-size-boundary=32 -mno-sched-prolog
-+
- WORK=$(PWD)
-
- .PHONY : all
-@@ -21,7 +23,8 @@ configure:
- CFLAGS="$(CFLAGS) ${INCLUDES}" \
- LDFLAGS="" \
- ./configure \
-- --extra-cflags="-mfpu=vfp -mfloat-abi=$(FLOAT) -mno-apcs-stack-check -mstructure-size-boundary=32 -mno-sched-prolog" \
-+ --extra-cflags="$(FFMPEG_EXTRA_CFLAGS)" \
-+ --extra-ldflags="$(FFMPEG_EXTRA_LDFLAGS)" \
- --enable-cross-compile \
- --enable-shared \
- --disable-static \
diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0005-Don-t-require-internet-connection-during-build.patch b/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0005-Don-t-require-internet-connection-during-build.patch
deleted file mode 100644
index 4f56ad2a5..000000000
--- a/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0005-Don-t-require-internet-connection-during-build.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From 97cb9405f281f54d4083f3126d441c8b44eafb89 Mon Sep 17 00:00:00 2001
-From: Paul Barker <pbarker@toganlabs.com>
-Date: Thu, 7 Sep 2017 19:14:20 +0000
-Subject: [PATCH] Don't require internet connection during build
-
-The following issues break offline builds:
-
-* Building the man page uses a web service hosted on heroku.
-
-* Makefile.ffmpeg explicitly does a "git clone" from the internet.
-
-Signed-off-by: Paul Barker <pbarker@toganlabs.com>
-Upstream-status: Inappropriate
----
- Makefile | 6 ++----
- Makefile.ffmpeg | 2 +-
- 2 files changed, 3 insertions(+), 5 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 60501b1..6471f0f 100644
---- a/Makefile
-+++ b/Makefile
-@@ -79,14 +79,12 @@ ffmpeg:
- make -f Makefile.ffmpeg
- make -f Makefile.ffmpeg install
-
--dist: omxplayer.bin omxplayer.1
-+dist: omxplayer.bin
- mkdir -p $(DIST)/usr/lib/omxplayer
- mkdir -p $(DIST)/usr/bin
- mkdir -p $(DIST)/usr/share/doc/omxplayer
-- mkdir -p $(DIST)/usr/share/man/man1
- cp omxplayer omxplayer.bin $(DIST)/usr/bin
- cp COPYING $(DIST)/usr/share/doc/omxplayer
- cp README.md $(DIST)/usr/share/doc/omxplayer/README
-- cp omxplayer.1 $(DIST)/usr/share/man/man1
- cp -P ffmpeg_compiled/usr/lib/*.so* $(DIST)/usr/lib/omxplayer/
-- tar -czf omxplayer-dist.tar.gz $(DIST)
-\ No newline at end of file
-+ tar -czf omxplayer-dist.tar.gz $(DIST)
-diff --git a/Makefile.ffmpeg b/Makefile.ffmpeg
-index 22d495c..8651724 100644
---- a/Makefile.ffmpeg
-+++ b/Makefile.ffmpeg
-@@ -6,7 +6,7 @@ FFMPEG_EXTRA_CFLAGS?=-mfpu=vfp -mfloat-abi=$(FLOAT) -mno-apcs-stack-check -mstru
- WORK=$(PWD)
-
- .PHONY : all
--all: checkout configure compile
-+all: configure compile
-
- .PHONY : copy
- copy:
---
-2.7.4
-
diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0006-Prevent-ffmpeg-configure-compile-race-condition.patch b/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0006-Prevent-ffmpeg-configure-compile-race-condition.patch
deleted file mode 100644
index 3fac2d1cd..000000000
--- a/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/0006-Prevent-ffmpeg-configure-compile-race-condition.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 4a13419e3805b541fc58e57f1f27c4a388609ef5 Mon Sep 17 00:00:00 2001
-From: Paul Barker <pbarker@toganlabs.com>
-Date: Thu, 7 Sep 2017 20:02:15 +0000
-Subject: [PATCH] Prevent ffmpeg configure/compile race condition
-
-Additional dependency information is needed in Makefile.ffmpeg to ensure that
-the configure stage is finished before the compile stage starts.
-
-Signed-off-by: Paul Barker <pbarker@toganlabs.com>
-Upstream-status: Pending
----
- Makefile.ffmpeg | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile.ffmpeg b/Makefile.ffmpeg
-index 8651724..619c49a 100644
---- a/Makefile.ffmpeg
-+++ b/Makefile.ffmpeg
-@@ -6,7 +6,7 @@ FFMPEG_EXTRA_CFLAGS?=-mfpu=vfp -mfloat-abi=$(FLOAT) -mno-apcs-stack-check -mstru
- WORK=$(PWD)
-
- .PHONY : all
--all: configure compile
-+all: compile
-
- .PHONY : copy
- copy:
-@@ -14,7 +14,7 @@ copy:
- $(HOST)-strip *.so*
-
- .PHONY : compile
--compile:
-+compile: configure
- +$(MAKE) -C ffmpeg
-
- .PHONY : configure
---
-2.7.4
-
diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/fix-tar-command-with-DIST.patch b/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/fix-tar-command-with-DIST.patch
deleted file mode 100644
index ab40e40a2..000000000
--- a/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/fix-tar-command-with-DIST.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Revert the tar command change introduced in:
-https://github.com/popcornmix/omxplayer/commit/201c77973155861e60492e45d35467b19b69c1c4
-
-This fails if DIST is an absolute path. The old command was working just fine.
-
-Upstream-Status: Pending
-
-Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
-Signed-off-by: Jonathan Liu <net147@gmail.com>
-
-Index: git/Makefile
-===================================================================
---- git.orig/Makefile
-+++ git/Makefile
-@@ -71,4 +71,4 @@ dist: omxplayer.bin
- cp COPYING $(DIST)/usr/share/doc/
- cp README.md $(DIST)/usr/share/doc/README
- cp -P ffmpeg_compiled/usr/lib/*.so* $(DIST)/usr/lib/omxplayer/
-- cd $(DIST); tar -czf ../$(DIST).tgz *
-+ tar -czf omxplayer-dist.tar.gz $(DIST)
-\ No newline at end of file
diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/use-native-pkg-config.patch b/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/use-native-pkg-config.patch
deleted file mode 100644
index ed8199939..000000000
--- a/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer/use-native-pkg-config.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Force the pkg-config native tool. Strangely ffmpeg prepends cross_prefix
-to the default value which obviously is wrong.
-
-Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
-
-Index: git/Makefile.ffmpeg
-===================================================================
---- git.orig/Makefile.ffmpeg
-+++ git/Makefile.ffmpeg
-@@ -245,7 +245,8 @@ configure:
- --disable-decoder=idf \
- --enable-decoder=opus \
- --cross-prefix=$(HOST)- \
-- --disable-stripping
-+ --disable-stripping \
-+ --pkg-config=pkg-config
-
- .PHONY : clean
- clean:
diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb b/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb
deleted file mode 100644
index 1df41a5b1..000000000
--- a/import-layers/meta-raspberrypi/recipes-multimedia/omxplayer/omxplayer_git.bb
+++ /dev/null
@@ -1,93 +0,0 @@
-SUMMARY = "A commandline OMX player for the Raspberry Pi"
-DESCRIPTION = "This player was developed as a testbed for the XBMC \
-Raspberry PI implementation and is quite handy to use standalone"
-HOMEPAGE = "https://github.com/popcornmix/omxplayer"
-SECTION = "console/utils"
-
-LICENSE = "GPLv2"
-LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
-
-DEPENDS = "libpcre libav virtual/egl boost freetype dbus openssl libssh libomxil coreutils-native curl-native"
-PR = "r4"
-
-SRCREV_default = "b8ff59dccd9307f10dad71bec2525a95bd6c603b"
-
-# omxplayer builds its own copy of ffmpeg from source instead of using the
-# system's ffmpeg library. This isn't ideal but it's ok for now. We do however
-# want to keep control of the exact version of ffmpeg used instead of just
-# fetching the latest commit on a release branch (which is what the checkout job
-# in Makefile.ffmpeg in the omxplayer source tree does).
-#
-# This SRCREV corresponds to the v3.1.10 release of ffmpeg.
-SRCREV_ffmpeg = "afa34cb36edca0ff809b7e58474bbce12271ecba"
-
-SRC_URI = "git://github.com/popcornmix/omxplayer.git;protocol=git;branch=master \
- git://source.ffmpeg.org/ffmpeg;branch=release/3.1;protocol=git;depth=1;name=ffmpeg;destsuffix=git/ffmpeg \
- file://0001-Remove-Makefile.include-which-includes-hardcoded.patch \
- file://0002-Libraries-and-headers-from-ffmpeg-are-installed-in-u.patch \
- file://0003-Remove-strip-step-in-Makefile.patch \
- file://0004-Add-FFMPEG_EXTRA_CFLAGS-and-FFMPEG_EXTRA_LDFLAGS.patch \
- file://fix-tar-command-with-DIST.patch \
- file://use-native-pkg-config.patch \
- file://0005-Don-t-require-internet-connection-during-build.patch \
- file://0006-Prevent-ffmpeg-configure-compile-race-condition.patch \
- "
-S = "${WORKDIR}/git"
-
-COMPATIBLE_MACHINE ?= "null"
-COMPATIBLE_MACHINE_rpi_aarch64 = "null"
-COMPATIBLE_MACHINE_rpi = "(.*)"
-
-inherit autotools-brokensep pkgconfig
-
-# This isn't used directly by omxplayer, but applied to Makefile.ffmpeg which
-# runs the ffmpeg configuration
-PACKAGECONFIG ??= ""
-PACKAGECONFIG[samba] = "--enable-libsmbclient,--disable-libsmbclient,samba"
-
-# Needed in ffmpeg configure
-export TEMPDIR = "${S}/tmp"
-
-# Needed in Makefile.ffmpeg
-export HOST = "${HOST_SYS}"
-export WORK = "${S}"
-export FFMPEG_EXTRA_CFLAGS = "${TUNE_CCARGS} ${TOOLCHAIN_OPTIONS}"
-export FFMPEG_EXTRA_LDFLAGS = "${TUNE_CCARGS} ${TOOLCHAIN_OPTIONS}"
-
-# Needed in top Makefile
-export LDFLAGS = "-L${S}/ffmpeg_compiled/usr/lib \
- -L${STAGING_DIR_HOST}/lib \
- -L${STAGING_DIR_HOST}/usr/lib \
- "
-export INCLUDES = "-isystem${STAGING_DIR_HOST}/usr/include/interface/vcos/pthreads \
- -isystem${STAGING_DIR_HOST}/usr/include/freetype2 \
- -isystem${STAGING_DIR_HOST}/usr/include/interface/vmcs_host/linux \
- -isystem${STAGING_DIR_HOST}/usr/include/dbus-1.0 \
- -isystem${STAGING_DIR_HOST}/usr/lib/dbus-1.0/include \
- "
-export DIST = "${D}"
-
-do_compile() {
- # Needed for compiler test in ffmpeg's configure
- mkdir -p tmp
-
- sed -i 's/--enable-libsmbclient/${@bb.utils.contains("PACKAGECONFIG", "samba", "--enable-libsmbclient", "--disable-libsmbclient", d)}/g' Makefile.ffmpeg
-
- oe_runmake -f Makefile.ffmpeg
- oe_runmake -f Makefile.ffmpeg install
- oe_runmake
-}
-
-do_install() {
- oe_runmake STRIP='echo skipping strip' dist
- mkdir -p ${D}${datadir}/fonts/truetype/freefont/
- install ${S}/fonts/* ${D}${datadir}/fonts/truetype/freefont/
-}
-
-FILES_${PN} = "${bindir}/omxplayer* \
- ${libdir}/omxplayer/lib*${SOLIBS} \
- ${datadir}/fonts"
-
-FILES_${PN}-dev += "${libdir}/omxplayer/*.so"
-
-RDEPENDS_${PN} += "bash procps"
diff --git a/import-layers/meta-raspberrypi/recipes-multimedia/x264/x264_git.bbappend b/import-layers/meta-raspberrypi/recipes-multimedia/x264/x264_git.bbappend
deleted file mode 100644
index 505719efb..000000000
--- a/import-layers/meta-raspberrypi/recipes-multimedia/x264/x264_git.bbappend
+++ /dev/null
@@ -1,2 +0,0 @@
-EXTRA_OECONF_append_raspberrypi = " --disable-asm"
-EXTRA_OECONF_append_raspberrypi0-wifi = " --disable-asm"
diff --git a/import-layers/meta-raspberrypi/recipes-sato/webkitgtk/webkitgtk_%.bbappend b/import-layers/meta-raspberrypi/recipes-sato/webkitgtk/webkitgtk_%.bbappend
deleted file mode 100644
index a4cc96ee6..000000000
--- a/import-layers/meta-raspberrypi/recipes-sato/webkitgtk/webkitgtk_%.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-EXTRA_OECMAKE_append_rpi = "${@bb.utils.contains('MACHINE_FEATURES', 'vc4graphics', ' -DUSE_GSTREAMER_GL=OFF ', '', d)}"
diff --git a/import-layers/meta-raspberrypi/wic/sdimage-raspberrypi.wks b/import-layers/meta-raspberrypi/wic/sdimage-raspberrypi.wks
deleted file mode 100644
index 01fbaeaeb..000000000
--- a/import-layers/meta-raspberrypi/wic/sdimage-raspberrypi.wks
+++ /dev/null
@@ -1,6 +0,0 @@
-# short-description: Create Raspberry Pi SD card image
-# long-description: Creates a partitioned SD card image for use with
-# Raspberry Pi. Boot files are located in the first vfat partition.
-
-part /boot --source bootimg-partition --ondisk mmcblk0 --fstype=vfat --label boot --active --align 4096 --size 20
-part / --source rootfs --ondisk mmcblk0 --fstype=ext4 --label root --align 4096
OpenPOWER on IntegriCloud